4 * Public GUI declarations (used from elsewhere in the system)
6 * Copyright (c) 2005 Nathan Keynes.
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
19 #ifndef __lxdream_gui_H
20 #define __lxdream_gui_H
22 #include <glib/gtypes.h>
24 /* Base GUI clock is 10ms */
25 #define GUI_TICK_PERIOD 10000000
28 * GUI-provided method to scan the command line for standard arguments,
29 * invoked prior to regular command line processing. The command line
30 * is modified to remove any arguments handled by the UI.
31 * @return TRUE on success, FALSE on failure.
33 gboolean gui_parse_cmdline( int *argc, char **argv[] );
36 * Initialize the GUI system and create any windows needed. This method
37 * should also register the GUI module with the module manager (if the
40 * @param debug TRUE if the system should start in debugging mode.
42 gboolean gui_init( gboolean debug );
45 * Enter the GUI main loop. If this method ever returns, the system will
48 * @param run TRUE if the system should start running immediately, otherwise
50 void gui_main_loop( gboolean run );
52 gboolean gui_error_dialog( const char *fmt, ... );
54 typedef enum { IO_IDE, IO_NETWORK } io_activity_type;
57 * Notify the GUI of state changes (eg binary was loaded and PC changed)
59 void gui_update_state();
62 * Notify the GUI of I/O activity.
63 * @param activity the type of IO activity being reported.
64 * @param active TRUE if the I/O device is becoming active, FALSE if inactive.
66 void gui_update_io_activity( io_activity_type activity, gboolean active );
68 #endif /* __lxdream_gui_H */
.