nkeynes@435: /** nkeynes@480: * $Id: gui.h,v 1.3 2007-10-31 11:53:35 nkeynes Exp $ nkeynes@435: * nkeynes@435: * Public GUI declarations (used from elsewhere in the system) nkeynes@435: * nkeynes@435: * Copyright (c) 2005 Nathan Keynes. nkeynes@435: * nkeynes@435: * This program is free software; you can redistribute it and/or modify nkeynes@435: * it under the terms of the GNU General Public License as published by nkeynes@435: * the Free Software Foundation; either version 2 of the License, or nkeynes@435: * (at your option) any later version. nkeynes@435: * nkeynes@435: * This program is distributed in the hope that it will be useful, nkeynes@435: * but WITHOUT ANY WARRANTY; without even the implied warranty of nkeynes@435: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the nkeynes@435: * GNU General Public License for more details. nkeynes@435: */ nkeynes@435: nkeynes@435: #ifndef __lxdream_gui_H nkeynes@435: #define __lxdream_gui_H nkeynes@435: nkeynes@435: #include nkeynes@435: nkeynes@435: /** nkeynes@435: * GUI-provided method to scan the command line for standard arguments, nkeynes@435: * invoked prior to regular command line processing. The command line nkeynes@435: * is modified to remove any arguments handled by the UI. nkeynes@435: * @return TRUE on success, FALSE on failure. nkeynes@435: */ nkeynes@435: gboolean gui_parse_cmdline( int *argc, char **argv[] ); nkeynes@435: nkeynes@435: /** nkeynes@435: * Initialize the GUI system and create any windows needed. This method nkeynes@435: * should also register the GUI module with the module manager (if the nkeynes@435: * GUI has one). nkeynes@435: * nkeynes@435: * @param debug TRUE if the system should start in debugging mode. nkeynes@435: */ nkeynes@435: gboolean gui_init( gboolean debug ); nkeynes@435: nkeynes@435: /** nkeynes@435: * Enter the GUI main loop. If this method ever returns, the system will nkeynes@435: * exit normally. nkeynes@435: */ nkeynes@435: void gui_main_loop(void); nkeynes@435: nkeynes@447: gboolean gui_error_dialog( const char *fmt, ... ); nkeynes@447: nkeynes@435: typedef enum { IO_IDE, IO_NETWORK } io_activity_type; nkeynes@435: nkeynes@435: /** nkeynes@435: * Notify the GUI of I/O activity. nkeynes@435: * @param activity the type of IO activity being reported. nkeynes@435: * @param active TRUE if the I/O device is becoming active, FALSE if inactive. nkeynes@435: */ nkeynes@435: void gui_update_io_activity( io_activity_type activity, gboolean active ); nkeynes@435: nkeynes@480: /** nkeynes@480: * Open a gdrom filename via the menu. FIXME: Should be generic nkeynes@480: */ nkeynes@480: gboolean gdrom_menu_open_file( const char *filename ); nkeynes@480: nkeynes@435: #endif /* __lxdream_gui_H */