45 lines
1.6 KiB
Plaintext
45 lines
1.6 KiB
Plaintext
MODULE OS;
|
|
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: 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 Eep(ms: INT;); (* the furry version of sleep :3 *)
|
|
VAR deadline: INT;
|
|
BEGIN
|
|
deadline := ms + PortIn(80000706H);
|
|
WHILE PortIn(80000706H) <| deadline DO
|
|
save_state_and_yield_task();
|
|
END;
|
|
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.
|