commit 5623925

uint  ·  2026-06-13 12:40:50 +0000 UTC
parent 7371d39
basic-window: resize window only once per frame
1 files changed,  +13, -1
+13, -1
 1@@ -11,6 +11,9 @@ bool cur_locked = false;
 2 bool mb1_pressed = false;
 3 char txtbuf[4096] = {'\0'};
 4 int current_char = 0;
 5+bool resize = false;
 6+int rszw;
 7+int rszh;
 8 
 9 void handle_ev(Maus* mw, MausEvent* ev)
10 {
11@@ -67,7 +70,9 @@ void handle_ev(Maus* mw, MausEvent* ev)
12 
13 		} break;
14 		case MAUS_EV_RESIZE: {
15-			maus_resize(mw, ev->resize.width, ev->resize.height);
16+			resize = true;
17+			rszw = ev->resize.width;
18+			rszh = ev->resize.height;
19 		} break;
20 		case MAUS_EV_NONE:
21 			break;
22@@ -90,6 +95,13 @@ int main(void)
23 	for (;;) {
24 		while (maus_event_poll(mw, &ev))
25 			(void) handle_ev(mw, &ev);
26+
27+		/* only resize window once per fram */
28+		if (resize) {
29+			maus_resize(mw, rszw, rszh);
30+			resize = false;
31+		}
32+
33 		maus_fb_clear(mw, MAUS_COL_RGBA(255, 255, 255, 255));
34 
35 		if (mx >= 0 && my >= 0 &&