From 9d3dcf1e1affc5a875bad68fc56942c6638d5d06 Mon Sep 17 00:00:00 2001 From: NishiOwO Date: Sat, 11 Oct 2025 16:09:35 +0000 Subject: [PATCH] viewport demo git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@278 b9cfdab3-6d41-4d17-bbe4-086880011989 --- examples/viewport.c | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 examples/viewport.c diff --git a/examples/viewport.c b/examples/viewport.c new file mode 100644 index 0000000..d92eec6 --- /dev/null +++ b/examples/viewport.c @@ -0,0 +1,29 @@ +/* $Id$ */ +#include + +MwWidget vp; + +static void resize(MwWidget handle, void* user, void* call) { + int w = MwGetInteger(handle, MwNwidth); + int h = MwGetInteger(handle, MwNheight); + + MwVaApply(vp, + MwNwidth, w - 10, + MwNheight, h - 10, + NULL); +} + +int main() { + MwWidget w = MwVaCreateWidget(MwWindowClass, "main", NULL, MwDEFAULT, MwDEFAULT, 640, 480, MwNtitle, "test", NULL); + + vp = MwCreateWidget(MwViewportClass, "vp", w, 5, 5, 630, 470); + + MwVaCreateWidget(MwImageClass, "image", MwViewportGetViewport(vp), 5, 5, 1024, 1024, + MwNpixmap, MwLoadImage(vp, "examples/picture.png"), + NULL); + MwViewportSetSize(vp, 1024, 1024); + + MwAddUserHandler(w, MwNresizeHandler, resize, NULL); + + MwLoop(w); +}