feat: new Window Server helpers and app migrations

This commit is contained in:
2026-03-25 21:06:58 +01:00
parent 1ad9117fc1
commit afe0442d57
16 changed files with 654 additions and 778 deletions
+12 -13
View File
@@ -5,6 +5,7 @@
*/
#include "pdfviewer.h"
#include <gui/standalone.hpp>
// ============================================================================
// Global state definitions
@@ -131,20 +132,18 @@ extern "C" void _start() {
snprintf(title, 64, "%s - PDF Viewer", fname);
}
// Create window
Montauk::WinCreateResult wres;
if (montauk::win_create(title, INIT_W, INIT_H, &wres) < 0 || wres.id < 0)
WsWindow win;
if (!win.create(title, INIT_W, INIT_H))
montauk::exit(1);
int win_id = wres.id;
uint32_t* pixels = (uint32_t*)(uintptr_t)wres.pixelVa;
uint32_t* pixels = win.pixels;
render(pixels);
montauk::win_present(win_id);
win.present();
while (true) {
Montauk::WinEvent ev;
int r = montauk::win_poll(win_id, &ev);
int r = win.poll(&ev);
if (r < 0) break;
@@ -158,12 +157,12 @@ extern "C" void _start() {
// Resize
if (ev.type == 2) {
g_win_w = ev.resize.w;
g_win_h = ev.resize.h;
pixels = (uint32_t*)(uintptr_t)montauk::win_resize(win_id, g_win_w, g_win_h);
g_win_w = win.width;
g_win_h = win.height;
pixels = win.pixels;
clamp_scroll();
render(pixels);
montauk::win_present(win_id);
win.present();
continue;
}
@@ -319,11 +318,11 @@ extern "C" void _start() {
if (redraw) {
render(pixels);
montauk::win_present(win_id);
win.present();
}
}
free_pdf();
montauk::win_destroy(win_id);
win.destroy();
montauk::exit(0);
}