From 124e4cd78814e368488d8e86c15f95223f365a44 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 5 Jan 2011 21:02:22 +0000 Subject: Atari frontend (credit: Ole Loots) svn path=/trunk/netsurf/; revision=11218 --- atari/global_evnt.h | 78 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 atari/global_evnt.h (limited to 'atari/global_evnt.h') 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 + * + * 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 . + */ + +#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 -- cgit v1.2.3