; 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]
panic:                                    jmp [0xF0040018]

; generic drawing jump table
draw_str_generic:                         jmp [0xF0041000]
draw_format_str_generic:                  jmp [0xF0041004]
draw_decimal_generic:                     jmp [0xF0041008]
draw_font_tile_generic:                   jmp [0xF004100C]
draw_filled_rectangle_generic:            jmp [0xF0041010]

; background jump table entries
fill_background:                          jmp [0xF0042000]
draw_str_to_background:                   jmp [0xF0042004]
draw_format_str_to_background:            jmp [0xF0042008]
draw_decimal_to_background:               jmp [0xF004200C]
draw_font_tile_to_background:             jmp [0xF0042010]
draw_filled_rectangle_to_background:      jmp [0xF0042014]

; overlay jump table entries
fill_overlay:                             jmp [0xF0043000]
draw_str_to_overlay:                      jmp [0xF0043004]
draw_format_str_to_overlay:               jmp [0xF0043008]
draw_decimal_to_overlay:                  jmp [0xF004300C]
draw_font_tile_to_overlay:                jmp [0xF0043010]
draw_filled_rectangle_to_overlay:         jmp [0xF0043014]
find_overlay_covering_position:           jmp [0xF0043018]
check_if_overlay_covers_position:         jmp [0xF004301C]
check_if_enabled_overlay_covers_position: jmp [0xF0043020]

; menu bar jump table entries
enable_menu_bar:                          jmp [0xF0044000]
disable_menu_bar:                         jmp [0xF0044004]
menu_bar_click_event:                     jmp [0xF0044008]
clear_menu_bar:                           jmp [0xF004400C]
draw_menu_bar_root_items:                 jmp [0xF0044010]
draw_menu_items:                          jmp [0xF0044014]
close_menu:                               jmp [0xF0044018]

; event types
const MOUSE_CLICK_EVENT_TYPE:    0x00000000
const MENU_BAR_CLICK_EVENT_TYPE: 0x00000001
const MENU_UPDATE_EVENT_TYPE:    0x00000002
const MENU_CLICK_EVENT_TYPE:     0x00000003
const EMPTY_EVENT_TYPE:          0xFFFFFFFF