Files
dotfiles/cmenu/platform.h
T
roodletoof 9186d50d6d start work on cmenu
alternative to raymenu with own application layer
2026-07-17 16:02:19 +02:00

52 lines
990 B
C

#ifndef PLATFORM
#define PLATFORM
#include <stdint.h>
#include <stdbool.h>
typedef struct Color {
uint8_t r, g, b;
} Color;
#define WHITE ((Color){255,255,255})
#define BLACK ((Color){0,0,0})
typedef enum Key {
Key_backspace,
Key_ctrl,
Key_enter,
Key_h,
Key_n,
Key_p,
Key_y,
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 struct Screen {
void *handle;
} Screen;
typedef struct Window {
int width;
int height;
void *handle;
Screen screen;
} 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 width, int height);
void WindowClear(Color color);
#endif /* PLATFORM */