5f5771e823
Instead of having lots of duplicate code for drawing text to overlays and the background, move all of the actual drawing logic to a generic routine that can be used to draw text to *any* type of framebuffer.
40 lines
1.7 KiB
Modula-2
40 lines
1.7 KiB
Modula-2
; fox32 rom routine definitions
|
|
|
|
; system jump table entries
|
|
get_rom_version: jmp [0xF0040000]
|
|
system_vsync_handler: jmp [0xF0040004]
|
|
get_mouse_position: jmp [0xF0040008]
|
|
new_event: jmp [0xF004000C]
|
|
wait_for_event: jmp [0xF0040010]
|
|
get_next_event: jmp [0xF0040014]
|
|
|
|
; generic text drawing jump table
|
|
draw_str_generic: jmp [0xF0041000]
|
|
draw_font_tile_generic: jmp [0xF0041004]
|
|
|
|
; background jump table entries
|
|
fill_background: jmp [0xF0042000]
|
|
draw_str_to_background: jmp [0xF0042004]
|
|
draw_font_tile_to_background: jmp [0xF0042008]
|
|
|
|
; overlay jump table entries
|
|
fill_overlay: jmp [0xF0043000]
|
|
draw_str_to_overlay: jmp [0xF0043004]
|
|
draw_font_tile_to_overlay: jmp [0xF0043008]
|
|
find_overlay_covering_position: jmp [0xF004300C]
|
|
check_if_overlay_covers_position: jmp [0xF0043010]
|
|
check_if_enabled_overlay_covers_position: jmp [0xF0043014]
|
|
|
|
; menu bar jump table entries
|
|
menu_bar_click_event: jmp [0xF0044000]
|
|
clear_menu_bar: jmp [0xF0044004]
|
|
draw_menu_bar_root_items: jmp [0xF0044008]
|
|
draw_submenu_items: jmp [0xF004400C]
|
|
close_submenu: jmp [0xF0044010]
|
|
|
|
; event types
|
|
const MOUSE_CLICK_EVENT_TYPE: 0x00000000
|
|
const MENU_BAR_CLICK_EVENT_TYPE: 0x00000001
|
|
const SUBMENU_UPDATE_EVENT_TYPE: 0x00000002
|
|
const SUBMENU_CLICK_EVENT_TYPE: 0x00000003
|
|
const EMPTY_EVENT_TYPE: 0xFFFFFFFF |