summaryrefslogtreecommitdiff
path: root/atari/global_evnt.h
diff options
context:
space:
mode:
authorJohn Mark Bell <jmb@netsurf-browser.org>2011-01-05 21:02:22 +0000
committerJohn Mark Bell <jmb@netsurf-browser.org>2011-01-05 21:02:22 +0000
commit124e4cd78814e368488d8e86c15f95223f365a44 (patch)
treece09522fee51a4fa1c92c12faa60aeff96403a52 /atari/global_evnt.h
parent9422e6dad0dffa134c961d16e9aa503324245cd7 (diff)
downloadnetsurf-124e4cd78814e368488d8e86c15f95223f365a44.tar.gz
netsurf-124e4cd78814e368488d8e86c15f95223f365a44.tar.bz2
Atari frontend (credit: Ole Loots)
svn path=/trunk/netsurf/; revision=11218
Diffstat (limited to 'atari/global_evnt.h')
-rw-r--r--atari/global_evnt.h78
1 files changed, 78 insertions, 0 deletions
diff --git a/atari/global_evnt.h b/atari/global_evnt.h
new file mode 100644
index 000000000..e9e343696
--- /dev/null
+++ b/atari/global_evnt.h
@@ -0,0 +1,78 @@
+/*
+ * Copyright 2010 Ole Loots <ole@monochrom.net>
+ *
+ * This file is part of NetSurf, http://www.netsurf-browser.org/
+ *
+ * NetSurf is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; version 2 of the License.
+ *
+ * NetSurf is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef NS_ATARI_GLOBAL_EVNT_H
+#define NS_ATARI_GLOBAL_EVNT_H
+
+struct s_keybd_evnt_data
+{
+ char ascii;
+} keybd_evnt_data;
+
+struct s_evnt_data
+{
+ bool ignore;
+ union {
+ struct s_keybd_evnt_data keybd;
+ } u;
+};
+
+struct s_evnt_data evnt_data;
+
+struct s_accelerator
+{
+ char ascii; /* either ascii or */
+ long keycode; /* normalised keycode is valid */
+ short mod; /* shift / ctrl etc */
+};
+
+typedef void __CDECL (*menu_evnt_func)(WINDOW * win, int item, int title, void * data);
+struct s_menu_item_evnt {
+ short title; /* to which menu this item belongs */
+ short rid; /* resource ID */
+ const char * nsid; /* Netsurf message ID */
+ menu_evnt_func menu_func; /* click handler */
+ struct s_accelerator accel; /* accelerator info */
+ char * menustr;
+};
+
+/*
+ Global & Menu event handlers
+*/
+
+/* Call this after each call to evnt_multi, to check for states that evnt_multi doesn't: */
+void snd_redraw(short x, short y, short w, short h);
+void snd_win_redraw(WINDOW * win, short x, short y, short w, short h);
+void global_track_mouse_state( void );
+browser_mouse_state global_track_evnt_mbutton( WINDOW * win, long buff[8], void * data );
+void bind_global_events( void );
+void unbind_global_events( void );
+
+/* Global event handlers: */
+
+static void __CDECL global_evnt_apterm( WINDOW * win, short buff[8] );
+static void __CDECL global_evnt_menu( WINDOW * win, short buff[8] );
+static void __CDECL global_evnt_keybd( WINDOW * win, short buff[8], void * data);
+static void __CDECL global_evnt_m1( WINDOW * win, short buff[8], void * data);
+/* Menu event handlers: */
+static void __CDECL menu_about(WINDOW *win, int item, int title, void *data);
+
+
+static char * get_accel(int mode, char * message, struct s_accelerator * accel);
+static int parse_accel( char * message, struct s_accelerator * accel);
+#endif