fox32os/applications/fetcher/OS.okm

43 lines
1.7 KiB
Plaintext

(* FIXME: this module should probably be moved somewhere global so all applications can use it *)
MODULE OS;
CONST WINDOW_STRUCT_SIZE = 36;
CONST FILE_STRUCT_SIZE = 32;
EXTERN PROCEDURE new_window, destroy_window, draw_str_to_overlay, get_window_overlay_number,
draw_widgets_to_window, draw_filled_rectangle_to_overlay, GetNextWindowEvent, DrawPixel,
save_state_and_yield_task, start_dragging_window, handle_widget_click, fill_window, fill_overlay,
set_window_flags, menu_update_event, menu_bar_click_event, close_menu, new_messagebox,
launch_fxf_from_disk, get_boot_disk_id, string_to_int, set_tilemap, draw_tile_to_overlay,
ryfs_get_file_list, copy_memory_bytes, IsRomDiskAvailable, end_current_task, sleep_task,
open, read, get_size, get_boot_disk_id, get_resource, allocate_memory, free_memory, string_length: INT;
EXTERN PROCEDURE brk: INT;
EXTERN PROCEDURE PortIn: INT;
EXTERN EVENT_TYPE_MOUSE_CLICK,
EVENT_TYPE_MOUSE_RELEASE,
EVENT_TYPE_BUTTON_CLICK,
EVENT_TYPE_MENU_BAR_CLICK,
EVENT_TYPE_MENU_UPDATE,
EVENT_TYPE_MENU_CLICK,
EVENT_TYPE_MENU_ACK,
WIDGET_TYPE_BUTTON: INT;
EXTERN eventArgs: ARRAY 8 OF INT;
TYPE Fox32OSButtonWidget = RECORD
next, id, type, text, fgColor, bgColor: INT;
width, height, x, y: SHORT;
END;
PROCEDURE DrawWireframeBox(overlay, x, y, w, h, color: INT;);
BEGIN
draw_filled_rectangle_to_overlay(x, y, w, 1, color, overlay);
draw_filled_rectangle_to_overlay(x, y, 1, h, color, overlay);
draw_filled_rectangle_to_overlay(x + w - 1, y, 1, h, color, overlay);
draw_filled_rectangle_to_overlay(x, y + h - 1, w, 1, color, overlay);
END;
END.