From 82405e8c177de446d03c340b4b6876370d79883a Mon Sep 17 00:00:00 2001 From: David Robillard Date: Fri, 20 May 2022 19:44:23 -0400 Subject: 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). --- examples/pugl_embed_demo.c | 22 ++++++++-------------- 1 file changed, 8 insertions(+), 14 deletions(-) (limited to 'examples/pugl_embed_demo.c') 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); } } -- cgit v1.2.1