#include <gui.h>


Definition at line 106 of file gui.h.
Public Member Functions | |
| bx_gui_c (void) | |
| virtual | ~bx_gui_c () |
| virtual void | specific_init (unsigned x_tilesize, unsigned y_tilesize)=0 |
| virtual void | text_update (u8 *old_text, u8 *new_text, unsigned long cursor_x, unsigned long cursor_y, bx_vga_tminfo_t tm_info, unsigned rows)=0 |
| virtual void | graphics_tile_update (u8 *snapshot, unsigned x, unsigned y)=0 |
| virtual bx_svga_tileinfo_t * | graphics_tile_info (bx_svga_tileinfo_t *info) |
| virtual u8 * | graphics_tile_get (unsigned x, unsigned y, unsigned *w, unsigned *h) |
| virtual void | graphics_tile_update_in_place (unsigned x, unsigned y, unsigned w, unsigned h) |
| virtual void | handle_events (void)=0 |
| virtual void | flush (void)=0 |
| virtual void | clear_screen (void)=0 |
| virtual bool | palette_change (unsigned index, unsigned red, unsigned green, unsigned blue)=0 |
| virtual void | dimension_update (unsigned x, unsigned y, unsigned fheight=0, unsigned fwidth=0, unsigned bpp=8)=0 |
| virtual void | mouse_enabled_changed_specific (bool val)=0 |
| virtual void | exit (void)=0 |
| virtual u32 | get_sighandler_mask () |
| virtual void | sighandler (int sig) |
| virtual void | beep_on (float frequency) |
| virtual void | beep_off () |
| virtual void | get_capabilities (u16 *xres, u16 *yres, u16 *bpp) |
| void | init (unsigned x_tilesize, unsigned y_tilesize) |
| void | cleanup (void) |
| void | lock () |
| void | unlock () |
Static Public Member Functions | |
| static void | key_event (u32 key) |
| static void | set_text_charmap (u8 *fbuffer) |
| static void | set_text_charbyte (u16 address, u8 data) |
| static void | mouse_enabled_changed (bool val) |
| static void | init_signal_handlers () |
Static Protected Member Functions | |
| static s32 | make_text_snapshot (char **snapshot, u32 *length) |
Protected Attributes | |
| CMutex * | guiMutex |
| unsigned char | vga_charmap [0x2000] |
| bool | charmap_updated |
| bool | char_changed [256] |
| bool | new_gfx_api |
| u16 | host_xres |
| u16 | host_yres |
| u16 | host_pitch |
| u8 | host_bpp |
| u8 * | framebuffer |
| bx_gui_c::bx_gui_c | ( | void | ) |
| bx_gui_c::~bx_gui_c | ( | ) | [virtual] |
| virtual void bx_gui_c::specific_init | ( | unsigned | x_tilesize, | |
| unsigned | y_tilesize | |||
| ) | [pure virtual] |
| virtual void bx_gui_c::text_update | ( | u8 * | old_text, | |
| u8 * | new_text, | |||
| unsigned long | cursor_x, | |||
| unsigned long | cursor_y, | |||
| bx_vga_tminfo_t | tm_info, | |||
| unsigned | rows | |||
| ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by CS3Trio64::update(), and CCirrus::update().
| virtual void bx_gui_c::graphics_tile_update | ( | u8 * | snapshot, | |
| unsigned | x, | |||
| unsigned | y | |||
| ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by graphics_tile_update_in_place(), CS3Trio64::update(), and CCirrus::update().
| bx_svga_tileinfo_t * bx_gui_c::graphics_tile_info | ( | bx_svga_tileinfo_t * | info | ) | [virtual] |
Reimplemented in bx_x11_gui_c, and bx_sdl_gui_c.
Definition at line 232 of file gui.cpp.
References bx_svga_tileinfo_t::blue_mask, bx_svga_tileinfo_t::blue_shift, bx_svga_tileinfo_t::bpp, bx_svga_tileinfo_t::green_mask, bx_svga_tileinfo_t::green_shift, host_bpp, host_pitch, host_xres, bx_svga_tileinfo_t::is_indexed, bx_svga_tileinfo_t::is_little_endian, bx_svga_tileinfo_t::pitch, bx_svga_tileinfo_t::red_mask, and bx_svga_tileinfo_t::red_shift.
| u8 * bx_gui_c::graphics_tile_get | ( | unsigned | x, | |
| unsigned | y, | |||
| unsigned * | w, | |||
| unsigned * | h | |||
| ) | [virtual] |
Reimplemented in bx_x11_gui_c, and bx_sdl_gui_c.
Definition at line 287 of file gui.cpp.
References framebuffer, host_bpp, host_pitch, host_xres, host_yres, X_TILESIZE, and Y_TILESIZE.
| void bx_gui_c::graphics_tile_update_in_place | ( | unsigned | x, | |
| unsigned | y, | |||
| unsigned | w, | |||
| unsigned | h | |||
| ) | [virtual] |
Reimplemented in bx_x11_gui_c, and bx_sdl_gui_c.
Definition at line 311 of file gui.cpp.
References framebuffer, graphics_tile_update(), host_bpp, host_pitch, X_TILESIZE, and Y_TILESIZE.
| virtual void bx_gui_c::handle_events | ( | void | ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by CS3Trio64::run(), and CCirrus::run().
| virtual void bx_gui_c::flush | ( | void | ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by CS3Trio64::run(), and CCirrus::run().
| virtual void bx_gui_c::clear_screen | ( | void | ) | [pure virtual] |
| virtual bool bx_gui_c::palette_change | ( | unsigned | index, | |
| unsigned | red, | |||
| unsigned | green, | |||
| unsigned | blue | |||
| ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by CS3Trio64::write_b_3c9(), and CCirrus::write_b_3c9().
| virtual void bx_gui_c::dimension_update | ( | unsigned | x, | |
| unsigned | y, | |||
| unsigned | fheight = 0, |
|||
| unsigned | fwidth = 0, |
|||
| unsigned | bpp = 8 | |||
| ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by CS3Trio64::update(), and CCirrus::update().
| virtual void bx_gui_c::mouse_enabled_changed_specific | ( | bool | val | ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
Referenced by mouse_enabled_changed().
| virtual void bx_gui_c::exit | ( | void | ) | [pure virtual] |
Implemented in bx_win32_gui_c, bx_x11_gui_c, and bx_sdl_gui_c.
| virtual u32 bx_gui_c::get_sighandler_mask | ( | ) | [inline, virtual] |
| virtual void bx_gui_c::sighandler | ( | int | sig | ) | [inline, virtual] |
| void bx_gui_c::beep_on | ( | float | frequency | ) | [virtual] |
| static void bx_gui_c::key_event | ( | u32 | key | ) | [static] |
Referenced by bx_sdl_gui_c::handle_events(), bx_x11_gui_c::handle_events(), bx_win32_gui_c::handle_events(), and xkeypress().
| void bx_gui_c::set_text_charmap | ( | u8 * | fbuffer | ) | [static] |
Definition at line 200 of file gui.cpp.
References char_changed, charmap_updated, and vga_charmap.
Referenced by CS3Trio64::write_b_3c5(), and CCirrus::write_b_3c5().
Definition at line 208 of file gui.cpp.
References char_changed, charmap_updated, and vga_charmap.
Referenced by CS3Trio64::vga_mem_write(), and CCirrus::vga_mem_write().
| void bx_gui_c::init | ( | unsigned | x_tilesize, | |
| unsigned | y_tilesize | |||
| ) |
Definition at line 143 of file gui.cpp.
References BX_MAX_XRES, BX_MAX_YRES, charmap_updated, framebuffer, host_bpp, host_xres, host_yres, new_gfx_api, and specific_init().
Referenced by CS3Trio64::run(), and CCirrus::run().
| void bx_gui_c::mouse_enabled_changed | ( | bool | val | ) | [static] |
| void bx_gui_c::init_signal_handlers | ( | ) | [static] |
| void bx_gui_c::lock | ( | ) |
Definition at line 359 of file gui.cpp.
References guiMutex, and MUTEX_LOCK.
Referenced by CS3Trio64::run(), CCirrus::run(), 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().
| void bx_gui_c::unlock | ( | ) |
Definition at line 364 of file gui.cpp.
References guiMutex, and MUTEX_UNLOCK.
Referenced by CS3Trio64::run(), CCirrus::run(), 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().
CMutex* bx_gui_c::guiMutex [protected] |
unsigned char bx_gui_c::vga_charmap[0x2000] [protected] |
Definition at line 162 of file gui.h.
Referenced by set_text_charbyte(), set_text_charmap(), bx_sdl_gui_c::specific_init(), bx_sdl_gui_c::text_update(), bx_x11_gui_c::text_update(), and bx_win32_gui_c::text_update().
bool bx_gui_c::charmap_updated [protected] |
Definition at line 163 of file gui.h.
Referenced by init(), set_text_charbyte(), set_text_charmap(), bx_sdl_gui_c::text_update(), bx_x11_gui_c::text_update(), and bx_win32_gui_c::text_update().
bool bx_gui_c::char_changed[256] [protected] |
Definition at line 164 of file gui.h.
Referenced by set_text_charbyte(), set_text_charmap(), bx_x11_gui_c::text_update(), and bx_win32_gui_c::text_update().
bool bx_gui_c::new_gfx_api [protected] |
Definition at line 165 of file gui.h.
Referenced by init(), bx_sdl_gui_c::specific_init(), and bx_x11_gui_c::specific_init().
u16 bx_gui_c::host_xres [protected] |
Definition at line 166 of file gui.h.
Referenced by bx_win32_gui_c::dimension_update(), graphics_tile_get(), graphics_tile_info(), and init().
u16 bx_gui_c::host_yres [protected] |
Definition at line 167 of file gui.h.
Referenced by bx_win32_gui_c::dimension_update(), graphics_tile_get(), and init().
u16 bx_gui_c::host_pitch [protected] |
Definition at line 168 of file gui.h.
Referenced by graphics_tile_get(), graphics_tile_info(), and graphics_tile_update_in_place().
u8 bx_gui_c::host_bpp [protected] |
Definition at line 169 of file gui.h.
Referenced by bx_win32_gui_c::dimension_update(), graphics_tile_get(), graphics_tile_info(), graphics_tile_update_in_place(), and init().
u8* bx_gui_c::framebuffer [protected] |
Definition at line 170 of file gui.h.
Referenced by bx_gui_c(), graphics_tile_get(), graphics_tile_update_in_place(), init(), and ~bx_gui_c().