Search
lxdream.org :: lxdream/src/gui.h
lxdream 0.9.1
released Jun 29
Download Now
filename src/gui.h
changeset 681:1755a126b109
prev678:35eb00945316
next736:a02d1475ccfd
author nkeynes
date Fri Jun 20 05:43:34 2008 +0000 (15 years ago)
permissions -rw-r--r--
last change Cocoa: Don't try to display the error dialog if the gui isn't running
file annotate diff log raw
nkeynes@435
     1
/**
nkeynes@561
     2
 * $Id$
nkeynes@435
     3
 *
nkeynes@435
     4
 * Public GUI declarations (used from elsewhere in the system)
nkeynes@435
     5
 *
nkeynes@435
     6
 * Copyright (c) 2005 Nathan Keynes.
nkeynes@435
     7
 *
nkeynes@435
     8
 * This program is free software; you can redistribute it and/or modify
nkeynes@435
     9
 * it under the terms of the GNU General Public License as published by
nkeynes@435
    10
 * the Free Software Foundation; either version 2 of the License, or
nkeynes@435
    11
 * (at your option) any later version.
nkeynes@435
    12
 *
nkeynes@435
    13
 * This program is distributed in the hope that it will be useful,
nkeynes@435
    14
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
nkeynes@435
    15
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
nkeynes@435
    16
 * GNU General Public License for more details.
nkeynes@435
    17
 */
nkeynes@435
    18
nkeynes@435
    19
#ifndef __lxdream_gui_H
nkeynes@435
    20
#define __lxdream_gui_H
nkeynes@435
    21
nkeynes@435
    22
#include <glib/gtypes.h>
nkeynes@435
    23
nkeynes@678
    24
/* Base GUI clock is 10ms */
nkeynes@678
    25
#define GUI_TICK_PERIOD 10000000
nkeynes@678
    26
nkeynes@435
    27
/**
nkeynes@435
    28
 * GUI-provided method to scan the command line for standard arguments,
nkeynes@435
    29
 * invoked prior to regular command line processing. The command line
nkeynes@435
    30
 * is modified to remove any arguments handled by the UI.
nkeynes@435
    31
 * @return TRUE on success, FALSE on failure.
nkeynes@435
    32
 */
nkeynes@435
    33
gboolean gui_parse_cmdline( int *argc, char **argv[] );
nkeynes@435
    34
nkeynes@435
    35
/**
nkeynes@435
    36
 * Initialize the GUI system and create any windows needed. This method
nkeynes@435
    37
 * should also register the GUI module with the module manager (if the
nkeynes@435
    38
 * GUI has one).
nkeynes@435
    39
 *
nkeynes@435
    40
 * @param debug TRUE if the system should start in debugging mode.
nkeynes@435
    41
 */
nkeynes@435
    42
gboolean gui_init( gboolean debug );
nkeynes@435
    43
nkeynes@435
    44
/**
nkeynes@435
    45
 * Enter the GUI main loop. If this method ever returns, the system will
nkeynes@435
    46
 * exit normally.
nkeynes@681
    47
 * 
nkeynes@681
    48
 * @param run TRUE if the system should start running immediately, otherwise
nkeynes@435
    49
 */
nkeynes@681
    50
void gui_main_loop( gboolean run );
nkeynes@435
    51
nkeynes@447
    52
gboolean gui_error_dialog( const char *fmt, ... );
nkeynes@447
    53
nkeynes@435
    54
typedef enum { IO_IDE, IO_NETWORK } io_activity_type;
nkeynes@435
    55
nkeynes@435
    56
/**
nkeynes@545
    57
 * Notify the GUI of state changes (eg binary was loaded and PC changed)
nkeynes@545
    58
 */
nkeynes@545
    59
void gui_update_state();
nkeynes@545
    60
nkeynes@545
    61
/**
nkeynes@435
    62
 * Notify the GUI of I/O activity. 
nkeynes@435
    63
 * @param activity the type of IO activity being reported.
nkeynes@435
    64
 * @param active TRUE if the I/O device is becoming active, FALSE if inactive.
nkeynes@435
    65
 */
nkeynes@435
    66
void gui_update_io_activity( io_activity_type activity, gboolean active );
nkeynes@435
    67
nkeynes@435
    68
#endif /* __lxdream_gui_H */
.