#include "utils.h" #ifndef UI_H #define UI_H #ifndef RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT #define RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT 24 #endif #ifndef RAYGUI_WINDOW_CLOSEBUTTON_SIZE #define RAYGUI_WINDOW_CLOSEBUTTON_SIZE 18 #endif #define UI_WINDOW_TITLE_MAX 32 #define UI_WINDOW_MAX 4 typedef void (*DrawWindowContentCallback)(Vector2 position, Vector2 scroll); typedef struct { char title[UI_WINDOW_TITLE_MAX]; Rectangle rect; bool minimized; bool moving; bool resizing; DrawWindowContentCallback callback; Vector2 contentSize; Vector2 scroll; } FloatingWindow; typedef struct { FloatingWindow windows[UI_WINDOW_MAX]; int windowCount; } WindowManager; FloatingWindow createFloatingWindow(const char* title); void updateFloatingWindow(FloatingWindow* window); void initWindowManager(WindowManager* windowManager); void updateWindowManager(WindowManager* windowManager); #endif