X-1.8 Camiel Vanderhoeven 11-MAR-2008 Named, debuggable mutexes.
X-1.7 Camiel Vanderhoeven 05-MAR-2008 Multi-threading version.
X-1.6 David Leonard 20-FEB-2008 Avoid 'Xlib: unexpected async reply' errors on Linux/Unix/BSD's by adding some thread interlocking.
X-1.5 Camiel Vanderhoeven 20-JAN-2008 Avoid compiler warnings.
X-1.4 Camiel Vanderhoeven 02-JAN-2008 Comments.
X-1.3 Camiel Vanderhoeven 10-DEC-2007 Use Configurator.
X-1.2 Camiel Vanderhoeven 7-DEC-2007 Code cleanup.
X-1.1 Camiel Vanderhoeven 6-DEC-2007 Initial version for ES40 emulator.
Definition in file gui.h.
#include "vga.h"
Go to the source code of this file.
Data Structures | |
| struct | bx_vga_tminfo_t |
| VGA mode information for GUI. More... | |
| struct | bx_svga_tileinfo_t |
| VGA tile information for GUI. More... | |
| class | bx_gui_c |
| Abstract base class for GUI implementations. More... | |
Defines | |
| #define | BX_DEBUG(a) |
| #define | BX_INFO(a) BX_DEBUG(a) |
| #define | BX_PANIC(a) BX_DEBUG(a) |
| #define | BX_ERROR(a) BX_DEBUG(a) |
| #define | BX_KEY_PRESSED 0x00000000 |
| #define | BX_KEY_RELEASED 0x80000000 |
| #define | BX_KEY_UNHANDLED 0x10000000 |
| #define | BX_KEY_CTRL_L 0 |
| #define | BX_KEY_SHIFT_L 1 |
| #define | BX_KEY_F1 2 |
| #define | BX_KEY_F2 3 |
| #define | BX_KEY_F3 4 |
| #define | BX_KEY_F4 5 |
| #define | BX_KEY_F5 6 |
| #define | BX_KEY_F6 7 |
| #define | BX_KEY_F7 8 |
| #define | BX_KEY_F8 9 |
| #define | BX_KEY_F9 10 |
| #define | BX_KEY_F10 11 |
| #define | BX_KEY_F11 12 |
| #define | BX_KEY_F12 13 |
| #define | BX_KEY_CTRL_R 14 |
| #define | BX_KEY_SHIFT_R 15 |
| #define | BX_KEY_CAPS_LOCK 16 |
| #define | BX_KEY_NUM_LOCK 17 |
| #define | BX_KEY_ALT_L 18 |
| #define | BX_KEY_ALT_R 19 |
| #define | BX_KEY_A 20 |
| #define | BX_KEY_B 21 |
| #define | BX_KEY_C 22 |
| #define | BX_KEY_D 23 |
| #define | BX_KEY_E 24 |
| #define | BX_KEY_F 25 |
| #define | BX_KEY_G 26 |
| #define | BX_KEY_H 27 |
| #define | BX_KEY_I 28 |
| #define | BX_KEY_J 29 |
| #define | BX_KEY_K 30 |
| #define | BX_KEY_L 31 |
| #define | BX_KEY_M 32 |
| #define | BX_KEY_N 33 |
| #define | BX_KEY_O 34 |
| #define | BX_KEY_P 35 |
| #define | BX_KEY_Q 36 |
| #define | BX_KEY_R 37 |
| #define | BX_KEY_S 38 |
| #define | BX_KEY_T 39 |
| #define | BX_KEY_U 40 |
| #define | BX_KEY_V 41 |
| #define | BX_KEY_W 42 |
| #define | BX_KEY_X 43 |
| #define | BX_KEY_Y 44 |
| #define | BX_KEY_Z 45 |
| #define | BX_KEY_0 46 |
| #define | BX_KEY_1 47 |
| #define | BX_KEY_2 48 |
| #define | BX_KEY_3 49 |
| #define | BX_KEY_4 50 |
| #define | BX_KEY_5 51 |
| #define | BX_KEY_6 52 |
| #define | BX_KEY_7 53 |
| #define | BX_KEY_8 54 |
| #define | BX_KEY_9 55 |
| #define | BX_KEY_ESC 56 |
| #define | BX_KEY_SPACE 57 |
| #define | BX_KEY_SINGLE_QUOTE 58 |
| #define | BX_KEY_COMMA 59 |
| #define | BX_KEY_PERIOD 60 |
| #define | BX_KEY_SLASH 61 |
| #define | BX_KEY_SEMICOLON 62 |
| #define | BX_KEY_EQUALS 63 |
| #define | BX_KEY_LEFT_BRACKET 64 |
| #define | BX_KEY_BACKSLASH 65 |
| #define | BX_KEY_RIGHT_BRACKET 66 |
| #define | BX_KEY_MINUS 67 |
| #define | BX_KEY_GRAVE 68 |
| #define | BX_KEY_BACKSPACE 69 |
| #define | BX_KEY_ENTER 70 |
| #define | BX_KEY_TAB 71 |
| #define | BX_KEY_LEFT_BACKSLASH 72 |
| #define | BX_KEY_PRINT 73 |
| #define | BX_KEY_SCRL_LOCK 74 |
| #define | BX_KEY_PAUSE 75 |
| #define | BX_KEY_INSERT 76 |
| #define | BX_KEY_DELETE 77 |
| #define | BX_KEY_HOME 78 |
| #define | BX_KEY_END 79 |
| #define | BX_KEY_PAGE_UP 80 |
| #define | BX_KEY_PAGE_DOWN 81 |
| #define | BX_KEY_KP_ADD 82 |
| #define | BX_KEY_KP_SUBTRACT 83 |
| #define | BX_KEY_KP_END 84 |
| #define | BX_KEY_KP_DOWN 85 |
| #define | BX_KEY_KP_PAGE_DOWN 86 |
| #define | BX_KEY_KP_LEFT 87 |
| #define | BX_KEY_KP_RIGHT 88 |
| #define | BX_KEY_KP_HOME 89 |
| #define | BX_KEY_KP_UP 90 |
| #define | BX_KEY_KP_PAGE_UP 91 |
| #define | BX_KEY_KP_INSERT 92 |
| #define | BX_KEY_KP_DELETE 93 |
| #define | BX_KEY_KP_5 94 |
| #define | BX_KEY_UP 95 |
| #define | BX_KEY_DOWN 96 |
| #define | BX_KEY_LEFT 97 |
| #define | BX_KEY_RIGHT 98 |
| #define | BX_KEY_KP_ENTER 99 |
| #define | BX_KEY_KP_MULTIPLY 100 |
| #define | BX_KEY_KP_DIVIDE 101 |
| #define | BX_KEY_WIN_L 102 |
| #define | BX_KEY_WIN_R 103 |
| #define | BX_KEY_MENU 104 |
| #define | BX_KEY_ALT_SYSREQ 105 |
| #define | BX_KEY_CTRL_BREAK 106 |
| #define | BX_KEY_INT_BACK 107 |
| #define | BX_KEY_INT_FORWARD 108 |
| #define | BX_KEY_INT_STOP 109 |
| #define | BX_KEY_INT_MAIL 110 |
| #define | BX_KEY_INT_SEARCH 111 |
| #define | BX_KEY_INT_FAV 112 |
| #define | BX_KEY_INT_HOME 113 |
| #define | BX_KEY_POWER_MYCOMP 114 |
| #define | BX_KEY_POWER_CALC 115 |
| #define | BX_KEY_POWER_SLEEP 116 |
| #define | BX_KEY_POWER_POWER 117 |
| #define | BX_KEY_POWER_WAKE 118 |
| #define | BX_KEY_NBKEYS 119 |
| #define | IMPLEMENT_GUI_PLUGIN_CODE(gui_name) |
Variables | |
| class bx_gui_c * | bx_gui |
| #define BX_DEBUG | ( | a | ) |
Value:
{ \
printf a; \
printf(" \n"); \
}
Definition at line 68 of file gui.h.
Referenced by CKeyboard::controller_enQ(), CKeyboard::ctrl_to_kbd(), CKeyboard::ctrl_to_mouse(), CKeyboard::enQ(), bx_keymap_c::findAsciiChar(), bx_keymap_c::findHostKey(), CKeyboard::gen_scancode(), bx_sdl_gui_c::handle_events(), bx_x11_gui_c::handle_events(), bx_keymap_c::loadKeymap(), bx_x11_gui_c::mouse_enabled_changed_specific(), CKeyboard::mouse_enQ(), CKeyboard::periodic(), CKeyboard::read_60(), CKeyboard::read_64(), CS3Trio64::read_b_3c5(), CCirrus::read_b_3c5(), CS3Trio64::read_b_3cf(), CCirrus::read_b_3cf(), resize_main_window(), send_keyboard_mouse_status(), CKeyboard::set_aux_clock_enable(), bx_x11_gui_c::specific_init(), CKeyboard::write_60(), and CKeyboard::write_64().
| #define BX_ERROR | ( | a | ) | BX_DEBUG(a) |
Definition at line 75 of file gui.h.
Referenced by CKeyboard::ctrl_to_kbd(), CKeyboard::ctrl_to_mouse(), deq_key_event(), enq_key_event(), enq_mouse_event(), bx_sdl_gui_c::handle_events(), mainWndProc(), CKeyboard::mouse_enQ(), sdl_sym_to_bx_key(), CS3Trio64::update(), CCirrus::update(), CKeyboard::write_64(), and xkeypress().
| #define BX_INFO | ( | a | ) | BX_DEBUG(a) |
Definition at line 73 of file gui.h.
Referenced by bx_gui_c::beep_off(), bx_gui_c::beep_on(), CKeyboard::ctrl_to_kbd(), CKeyboard::ctrl_to_mouse(), bx_win32_gui_c::dimension_update(), bx_x11_gui_c::exit(), bx_keymap_c::loadKeymap(), bx_x11_gui_c::mouse_enabled_changed_specific(), processMouseXY(), simWndProc(), bx_x11_gui_c::specific_init(), bx_win32_gui_c::specific_init(), test_alloc_colors(), bx_x11_gui_c::text_update(), UIThread(), and CKeyboard::write_60().
| #define BX_KEY_0 46 |
| #define BX_KEY_1 47 |
| #define BX_KEY_2 48 |
| #define BX_KEY_3 49 |
| #define BX_KEY_4 50 |
| #define BX_KEY_5 51 |
| #define BX_KEY_6 52 |
| #define BX_KEY_7 53 |
| #define BX_KEY_8 54 |
| #define BX_KEY_9 55 |
| #define BX_KEY_A 20 |
| #define BX_KEY_ALT_L 18 |
| #define BX_KEY_ALT_R 19 |
| #define BX_KEY_B 21 |
| #define BX_KEY_BACKSLASH 65 |
| #define BX_KEY_BACKSPACE 69 |
| #define BX_KEY_C 22 |
| #define BX_KEY_CAPS_LOCK 16 |
Definition at line 196 of file gui.h.
Referenced by bx_sdl_gui_c::handle_events(), sdl_sym_to_bx_key(), and xkeypress().
| #define BX_KEY_COMMA 59 |
| #define BX_KEY_CTRL_L 0 |
| #define BX_KEY_CTRL_R 14 |
| #define BX_KEY_D 23 |
| #define BX_KEY_DELETE 77 |
| #define BX_KEY_DOWN 96 |
| #define BX_KEY_E 24 |
| #define BX_KEY_END 79 |
| #define BX_KEY_ENTER 70 |
| #define BX_KEY_EQUALS 63 |
| #define BX_KEY_ESC 56 |
| #define BX_KEY_F 25 |
| #define BX_KEY_F1 2 |
| #define BX_KEY_F10 11 |
| #define BX_KEY_F11 12 |
| #define BX_KEY_F12 13 |
| #define BX_KEY_F2 3 |
| #define BX_KEY_F3 4 |
| #define BX_KEY_F4 5 |
| #define BX_KEY_F5 6 |
| #define BX_KEY_F6 7 |
| #define BX_KEY_F7 8 |
| #define BX_KEY_F8 9 |
| #define BX_KEY_F9 10 |
| #define BX_KEY_G 26 |
| #define BX_KEY_GRAVE 68 |
| #define BX_KEY_H 27 |
| #define BX_KEY_HOME 78 |
| #define BX_KEY_I 28 |
| #define BX_KEY_INSERT 76 |
| #define BX_KEY_J 29 |
| #define BX_KEY_K 30 |
| #define BX_KEY_KP_5 94 |
| #define BX_KEY_KP_ADD 82 |
| #define BX_KEY_KP_DELETE 93 |
| #define BX_KEY_KP_DIVIDE 101 |
| #define BX_KEY_KP_DOWN 85 |
| #define BX_KEY_KP_END 84 |
| #define BX_KEY_KP_ENTER 99 |
| #define BX_KEY_KP_HOME 89 |
| #define BX_KEY_KP_INSERT 92 |
| #define BX_KEY_KP_LEFT 87 |
| #define BX_KEY_KP_MULTIPLY 100 |
| #define BX_KEY_KP_PAGE_DOWN 86 |
| #define BX_KEY_KP_PAGE_UP 91 |
| #define BX_KEY_KP_RIGHT 88 |
| #define BX_KEY_KP_SUBTRACT 83 |
| #define BX_KEY_KP_UP 90 |
| #define BX_KEY_L 31 |
| #define BX_KEY_LEFT 97 |
| #define BX_KEY_LEFT_BRACKET 64 |
| #define BX_KEY_M 32 |
| #define BX_KEY_MENU 104 |
| #define BX_KEY_MINUS 67 |
| #define BX_KEY_N 33 |
| #define BX_KEY_NBKEYS 119 |
| #define BX_KEY_NUM_LOCK 17 |
Definition at line 197 of file gui.h.
Referenced by bx_sdl_gui_c::handle_events(), sdl_sym_to_bx_key(), and xkeypress().
| #define BX_KEY_O 34 |
| #define BX_KEY_P 35 |
| #define BX_KEY_PAGE_DOWN 81 |
| #define BX_KEY_PAGE_UP 80 |
| #define BX_KEY_PAUSE 75 |
| #define BX_KEY_PERIOD 60 |
| #define BX_KEY_PRESSED 0x00000000 |
| #define BX_KEY_PRINT 73 |
| #define BX_KEY_Q 36 |
| #define BX_KEY_R 37 |
| #define BX_KEY_RELEASED 0x80000000 |
Definition at line 174 of file gui.h.
Referenced by enq_key_event(), CKeyboard::gen_scancode(), bx_sdl_gui_c::handle_events(), bx_win32_gui_c::handle_events(), simWndProc(), and xkeypress().
| #define BX_KEY_RIGHT 98 |
| #define BX_KEY_RIGHT_BRACKET 66 |
| #define BX_KEY_S 38 |
| #define BX_KEY_SCRL_LOCK 74 |
| #define BX_KEY_SEMICOLON 62 |
| #define BX_KEY_SHIFT_L 1 |
| #define BX_KEY_SHIFT_R 15 |
| #define BX_KEY_SINGLE_QUOTE 58 |
| #define BX_KEY_SLASH 61 |
| #define BX_KEY_SPACE 57 |
| #define BX_KEY_T 39 |
| #define BX_KEY_TAB 71 |
| #define BX_KEY_U 40 |
| #define BX_KEY_UNHANDLED 0x10000000 |
Definition at line 176 of file gui.h.
Referenced by bx_sdl_gui_c::handle_events(), and sdl_sym_to_bx_key().
| #define BX_KEY_UP 95 |
| #define BX_KEY_V 41 |
| #define BX_KEY_W 42 |
| #define BX_KEY_WIN_L 102 |
| #define BX_KEY_WIN_R 103 |
| #define BX_KEY_X 43 |
| #define BX_KEY_Y 44 |
| #define BX_KEY_Z 45 |
| #define BX_PANIC | ( | a | ) | BX_DEBUG(a) |
Definition at line 74 of file gui.h.
Referenced by create_internal_vga_font(), CKeyboard::ctrl_to_mouse(), bx_x11_gui_c::dimension_update(), CKeyboard::enQ_imm(), get_next_keymap_line(), bx_sdl_gui_c::graphics_tile_update(), bx_x11_gui_c::graphics_tile_update(), bx_keymap_c::loadKeymap(), bx_sdl_gui_c::specific_init(), bx_x11_gui_c::specific_init(), bx_x11_gui_c::text_update(), CS3Trio64::update(), CCirrus::update(), and CKeyboard::write_64().
| #define IMPLEMENT_GUI_PLUGIN_CODE | ( | gui_name | ) |
Value:
int lib##gui_name##_LTX_plugin_init(CConfigurator* cfg) \ { \ printf("%%GUI-I-INS: Installing %s module as the ES40 GUI\n", #gui_name); \ theGui = new bx_##gui_name##_gui_c(cfg); \ bx_gui = theGui; \ return(0); /* Success */ \ } \ \ void lib##gui_name##_LTX_plugin_fini(void) \ { }
Definition at line 78 of file gui.cpp.
Referenced by CConfigurator::initialize(), CS3Trio64::run(), CCirrus::run(), UIThread(), CS3Trio64::update(), CCirrus::update(), CS3Trio64::vga_mem_write(), CCirrus::vga_mem_write(), CS3Trio64::write_b_3c5(), CCirrus::write_b_3c5(), CS3Trio64::write_b_3c9(), and CCirrus::write_b_3c9().