changes in API design

This commit is contained in:
Ivar Fatland
2026-07-18 00:10:14 +02:00
parent 3ec40ce451
commit c9914b7827
+15 -20
View File
@@ -22,30 +22,25 @@ typedef enum Key {
Count_Key
} Key;
bool KeyIsDown(Key key);
bool KeyIsUp(Key key);
bool KeyIsJustPressedOrRepeat(Key key);
bool KeyIsJustPressed(Key key);
bool KeyIsJustReleased(Key key);
bool InputGetNextPrintable(char const *out_key);
typedef uint32_t CodePoint;
typedef struct Screen {
void *handle;
} Screen;
bool KeyPressed(Key key);
bool InputGetNextPrintable(CodePoint const *out_key);
typedef struct Window {
int width;
int height;
void *handle;
Screen screen;
int const width;
int const height;
CodePoint *characters;
Color *foreground;
Color *background;
} Window;
Screen ScreenGetFocused();
int ScreenGetWidth(Screen screen);
int ScreenGetHeight(Screen screen);
// Make a window specifically suitable for tools like launchers.
// Always on top, not resizable, closes on lost focus.
Window ScreenMakeStaticWindow(int x, int y, int pixel_width, int pixel_height);
void WindowClear(Color color);
Window *WindowCreate();
void WindowClear(Window *window, Color color);
void WindowFlip(Window *window);
// TODO: the platform layer would really update the keys being pressed, and
// receive a diff in the form of actions. print this line from here and change
// colors at these points.
#endif /* PLATFORM */