47#include <mcp/syscalls.h>
59#define SYS_MAX_WINDOWS 32
60#define SYS_WIN_Z_ORDER_BACKDROP -127
61#define SYS_WIN_Z_ORDER_NEWLY_ACTIVE SYS_MAX_WINDOWS + 1
63#define PARAM_SPRITES_ON true
64#define PARAM_SPRITES_OFF false
65#define PARAM_BITMAP_ON true
66#define PARAM_BITMAP_OFF false
67#define PARAM_TILES_ON true
68#define PARAM_TILES_OFF false
69#define PARAM_TEXT_OVERLAY_ON true
70#define PARAM_TEXT_OVERLAY_OFF false
71#define PARAM_TEXT_ON true
72#define PARAM_TEXT_OFF false
74#define PARAM_DOUBLE_SIZE_TEXT true
75#define PARAM_NORMAL_SIZE_TEXT false
77#define PARAM_EXIT_ON_ERROR true
78#define PARAM_EXIT_NO_ERROR false
100 uint8_t window_count_;
101 uint16_t model_number_;
103 char* text_temp_buffer_;
170bool Sys_SetGraphicMode(
System* the_system,
bool enable_sprites,
bool enable_bitmaps,
bool enable_tiles,
bool enable_text_overlay,
bool enable_text);
229bool Window_CompareDisplayOrder(
void* first_payload,
void* second_payload);
232void Sys_CloseOneWindow(
System* the_system,
Window* the_window);
358Font* Sys_LoadSystemFont(
void);
362Font* Sys_LoadAppFont(
void);
378void Sys_Print(
System* the_system);
380void Sys_PrintScreen(
Screen* the_screen);
This Font object is essentially the Mac "fontRecord" struct, with added pointers for the data tables.
Definition: font.h:71
Definition: a2560k.h:1375
void Sys_SetSystemFont(System *the_system, Font *the_font)
Definition: sys.c:2235
System * Sys_New(void)
Allocate a System object.
Definition: sys.c:642
bool Sys_EnableTextModeCursor(System *the_system, Screen *the_screen, bool enable_it)
Enable or disable the hardware cursor in text mode, for the specified screen.
Definition: sys.c:1298
EventManager * Sys_GetEventManager(System *the_system)
Definition: sys.c:2213
void Sys_CollectDamageRects(System *the_system, Window *the_future_active_window)
Collect damage rects for a window that is about to be made the active (foremost) window,...
Definition: sys.c:2025
bool Sys_SetVRAMAddr(System *the_system, uint8_t the_bitmap_layer, unsigned char *the_address)
Tell the VICKY to use a different address for the specified bitmap layer.
Definition: sys.c:2394
bool Sys_AddToWindowList(System *the_system, Window *the_new_window)
Add this window to the list of windows and make it the currently active window.
Definition: sys.c:1364
bool Sys_SetTheme(System *the_system, Theme *the_theme)
Set the passed theme as the System's current theme Note: this will dispose of the current theme after...
Definition: sys.c:2337
bool Sys_SetVideoMode(Screen *the_screen, screen_resolution new_mode)
Change video mode to the one passed.
Definition: sys.c:1111
void Sys_IssueMenuDamageRects(System *the_system)
Issue damage rects from the menu down to every other window in the system so that they can redraw por...
Definition: sys.c:1977
void Sys_SetAppFont(System *the_system, Font *the_font)
Definition: sys.c:2254
bool Sys_Destroy(System **the_system)
Definition: sys.c:667
Window * Sys_GetNextWindow(System *the_system)
Definition: sys.c:1534
Font * Sys_GetAppFont(System *the_system)
Definition: sys.c:2132
bool Sys_SetBorderSize(System *the_system, Screen *the_screen, uint8_t border_width, uint8_t border_height)
Set the left/right and top/bottom borders This will reset the visible text columns as a side effect G...
Definition: sys.c:1329
bool Sys_InitSystem(System *the_system)
Initialize the system (primary entry point for all system initialization activity) Starts up the memo...
Definition: sys.c:754
Window * Sys_GetWindowAtXY(System *the_system, int16_t x, int16_t y)
Definition: sys.c:1703
void Sys_Render(System *the_system)
Render all visible windows NOTE: this will move to a private Sys function later, once event handling ...
Definition: sys.c:2452
Screen * Sys_GetScreen(System *the_system, int16_t channel_id)
Definition: sys.c:2149
bool Sys_CreateBackdropWindow(System *the_system)
Definition: sys.c:1429
Window * Sys_GetBackdropWindow(System *the_system)
Definition: sys.c:1500
void Sys_SetScreen(System *the_system, int16_t channel_id, Screen *the_screen)
Definition: sys.c:2273
Window * Sys_GetPreviousWindow(System *the_system)
Definition: sys.c:1627
bool Sys_SetActiveWindow(System *the_system, Window *the_window)
Set the passed window to the active window, and marks the previously active window as inactive NOTE: ...
Definition: sys.c:1762
bool Sys_SetModeText(System *the_system, bool as_overlay)
Switch machine into text mode.
Definition: sys.c:1067
void Sys_IssueDamageRects(System *the_system)
Issue damage rects from the Active Window down to each other window in the system so that they can re...
Definition: sys.c:1915
Bitmap * Sys_GetScreenBitmap(System *the_system, bitmap_layer the_layer)
NOTE: Foenix systems only have 1 screen with bitmap graphics, even if the system has 2 screens overal...
Definition: sys.c:2190
Theme * Sys_GetTheme(System *the_system)
Definition: sys.c:2099
Menu * Sys_GetMenu(System *the_system)
Definition: sys.c:2172
bool Sys_SetGraphicMode(System *the_system, bool enable_sprites, bool enable_bitmaps, bool enable_tiles, bool enable_text_overlay, bool enable_text)
Switch machine into graphics mode, text mode, sprite mode, etc.
Definition: sys.c:976
void Sys_Exit(System **the_system, bool error_condition)
Exit to MCP Destroys the system on the way out.
Definition: sys.c:727
Font * Sys_GetSystemFont(System *the_system)
Definition: sys.c:2115
Window * Sys_GetActiveWindow(System *the_system)
Definition: sys.c:1482
void Sys_SetScreenBitmap(System *the_system, Bitmap *the_bitmap, bitmap_layer the_layer)
NOTE: Foenix systems only have 1 screen with bitmap graphics, even if the system has 2 screens overal...
Definition: sys.c:2299