diff options
author | David Robillard <d@drobilla.net> | 2022-05-20 19:44:23 -0400 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2022-05-21 17:05:51 -0400 |
commit | 82405e8c177de446d03c340b4b6876370d79883a (patch) | |
tree | 8b58d94ce03810d95558d725f9a3394d2e7d0fc7 /examples/pugl_embed_demo.c | |
parent | a136586a339032126540ceb24f7c3f15eaba68c8 (diff) | |
download | pugl-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.c | 22 |
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); } } |