aboutsummaryrefslogtreecommitdiffstats
path: root/examples/pugl_embed_demo.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2022-05-20 19:44:23 -0400
committerDavid Robillard <d@drobilla.net>2022-05-21 17:05:51 -0400
commit82405e8c177de446d03c340b4b6876370d79883a (patch)
tree8b58d94ce03810d95558d725f9a3394d2e7d0fc7 /examples/pugl_embed_demo.c
parenta136586a339032126540ceb24f7c3f15eaba68c8 (diff)
downloadpugl-82405e8c177de446d03c340b4b6876370d79883a.tar.gz
pugl-82405e8c177de446d03c340b4b6876370d79883a.tar.bz2
pugl-82405e8c177de446d03c340b4b6876370d79883a.zip
Add puglSetPosition() and puglSetSize()
These are redundant with puglSetFrame in a sense, but allow setting the size of a view without the position, or vice-versa. This API also maps more nicely to Wayland, where applications can not position themselves (but can resize).
Diffstat (limited to 'examples/pugl_embed_demo.c')
-rw-r--r--examples/pugl_embed_demo.c22
1 files changed, 8 insertions, 14 deletions
diff --git a/examples/pugl_embed_demo.c b/examples/pugl_embed_demo.c
index ae3956a..af48a15 100644
--- a/examples/pugl_embed_demo.c
+++ b/examples/pugl_embed_demo.c
@@ -119,30 +119,24 @@ onKeyPress(PuglView* view, const PuglKeyEvent* event, const char* prefix)
fprintf(stderr, "%sPaste \"%s\"\n", prefix, text);
} else if (event->state & PUGL_MOD_SHIFT) {
if (event->key == PUGL_KEY_UP) {
- frame.height = (PuglSpan)(frame.height + 10u);
+ puglSetSize(view, frame.width, frame.height - 10u);
} else if (event->key == PUGL_KEY_DOWN) {
- frame.height = (PuglSpan)(frame.height - 10u);
+ puglSetSize(view, frame.width, frame.height + 10u);
} else if (event->key == PUGL_KEY_LEFT) {
- frame.width = (PuglSpan)(frame.width - 10u);
+ puglSetSize(view, frame.width - 10u, frame.height);
} else if (event->key == PUGL_KEY_RIGHT) {
- frame.width = (PuglSpan)(frame.width + 10u);
- } else {
- return;
+ puglSetSize(view, frame.width + 10u, frame.height);
}
- puglSetFrame(view, frame);
} else {
if (event->key == PUGL_KEY_UP) {
- frame.y = (PuglCoord)(frame.y - 10);
+ puglSetPosition(view, frame.x, frame.y - 10);
} else if (event->key == PUGL_KEY_DOWN) {
- frame.y = (PuglCoord)(frame.y + 10);
+ puglSetPosition(view, frame.x, frame.y + 10);
} else if (event->key == PUGL_KEY_LEFT) {
- frame.x = (PuglCoord)(frame.x - 10);
+ puglSetPosition(view, frame.x - 10, frame.y);
} else if (event->key == PUGL_KEY_RIGHT) {
- frame.x = (PuglCoord)(frame.x + 10);
- } else {
- return;
+ puglSetPosition(view, frame.x + 10, frame.y);
}
- puglSetFrame(view, frame);
}
}