aboutsummaryrefslogtreecommitdiffstats
path: root/src/game.c
diff options
context:
space:
mode:
authornathan <nathansmith@disroot.org>2025-11-17 06:33:27 +0000
committernathan <nathansmith@disroot.org>2025-11-17 06:33:27 +0000
commitbbfc3fffc0e5f28681ebfb9fc0fd47777fded191 (patch)
tree0dfb57799c2cf5a1ecfcc857e884b44a383c5299 /src/game.c
parentf6922dc12deb981cf95498afeb939f24171a5fc4 (diff)
downloadFindThings-bbfc3fffc0e5f28681ebfb9fc0fd47777fded191.tar.gz
FindThings-bbfc3fffc0e5f28681ebfb9fc0fd47777fded191.tar.bz2
FindThings-bbfc3fffc0e5f28681ebfb9fc0fd47777fded191.zip
Scrolling focus thingy
Diffstat (limited to 'src/game.c')
-rw-r--r--src/game.c23
1 files changed, 18 insertions, 5 deletions
diff --git a/src/game.c b/src/game.c
index 36b1d94..317f96b 100644
--- a/src/game.c
+++ b/src/game.c
@@ -47,14 +47,23 @@ void resetScreenScale(Game* game)
FocusCommand testFloatingWindowCallback(FloatingWindow* window, Game* game)
{
- DrawText("test", window->rect.x + 10,
- window->rect.y + 10 + RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, 15, BLUE);
+ float x = window->rect.x + window->scroll.x;
+ float y = window->rect.y + window->scroll.y;
+
+ DrawText("test", x + 10, y + 10 + RAYGUI_WINDOWBOX_STATUSBAR_HEIGHT, 15,
+ BLUE);
+
+ // Content size test.
+ if (window->contentSize.x != 0.0)
+ {
+ DrawText("content size test", x + 150.0, y + 150.0, 20, RED);
+ }
- if (GuiButton((Rectangle){window->rect.x + 10.0, window->rect.y + 50.0,
- 40.0, 20.0}, "A"))
+ // Button test.
+ if (GuiButton((Rectangle){x + 10.0, y + 50.0, 40.0, 20.0}, "A")
+ && window->hasFocus)
{
puts("hi");
- return DEMAND_FOCUS;
}
return NO_FOCUS_ACTION;
@@ -111,10 +120,14 @@ void initGame(Game* game)
window = createFloatingWindow("test3",
(Rectangle){300.0, 300.0, 100.0, 100.0});
+ window.callback = testFloatingWindowCallback;
+ window.contentSize = (Vector2){500.0, 500.0};
addWindowToWindowManager(&game->wm, window);
window = createFloatingWindow("test4",
(Rectangle){400.0, 400.0, 100.0, 100.0});
+ window.callback = testFloatingWindowCallback;
+ window.contentSize = (Vector2){500.0, 500.0};
addWindowToWindowManager(&game->wm, window);
disableGameCursor(game);