diff options
Diffstat (limited to 'test/test_redisplay.c')
-rw-r--r-- | test/test_redisplay.c | 34 |
1 files changed, 18 insertions, 16 deletions
diff --git a/test/test_redisplay.c b/test/test_redisplay.c index 1276136..01be5b6 100644 --- a/test/test_redisplay.c +++ b/test/test_redisplay.c @@ -8,10 +8,10 @@ #undef NDEBUG -#include "test_utils.h" +#include <puglutil/test_utils.h> -#include "pugl/pugl.h" -#include "pugl/stub.h" +#include <pugl/pugl.h> +#include <pugl/stub.h> #include <assert.h> #include <stdbool.h> @@ -51,8 +51,11 @@ typedef struct { State state; } PuglTest; -static const PuglRect redisplayRect = {2, 4, 8, 16}; -static const uintptr_t postRedisplayId = 42; +static const PuglCoord obscureX = 2; +static const PuglCoord obscureY = 4; +static const PuglSpan obscureWidth = 8; +static const PuglSpan obscureHeight = 16; +static const uintptr_t obscureId = 42; static PuglStatus onEvent(PuglView* view, const PuglEvent* event) @@ -67,7 +70,7 @@ onEvent(PuglView* view, const PuglEvent* event) switch (event->type) { case PUGL_UPDATE: if (test->state == SHOULD_REDISPLAY) { - puglPostRedisplayRect(view, redisplayRect); + puglObscureRegion(view, obscureX, obscureY, obscureWidth, obscureHeight); test->state = POSTED_REDISPLAY; } break; @@ -75,13 +78,12 @@ onEvent(PuglView* view, const PuglEvent* event) case PUGL_EXPOSE: if (test->state == START) { test->state = EXPOSED; - } else if (test->state == POSTED_REDISPLAY && - event->expose.x <= redisplayRect.x && - event->expose.y <= redisplayRect.y && + } else if (test->state == POSTED_REDISPLAY && event->expose.x <= obscureX && + event->expose.y <= obscureY && (event->expose.x + event->expose.width >= - redisplayRect.x + redisplayRect.width) && + obscureX + obscureWidth) && (event->expose.y + event->expose.height >= - redisplayRect.y + redisplayRect.height)) { + obscureY + obscureHeight)) { test->state = REDISPLAYED; } else if (test->state == REDISPLAYED) { test->state = REREDISPLAYED; @@ -89,7 +91,7 @@ onEvent(PuglView* view, const PuglEvent* event) break; case PUGL_CLIENT: - if (event->client.data1 == postRedisplayId) { + if (event->client.data1 == obscureId) { test->state = SHOULD_REDISPLAY; } break; @@ -117,7 +119,7 @@ main(int argc, char** argv) puglSetHandle(test.view, &test); puglSetEventFunc(test.view, onEvent); puglSetSizeHint(test.view, PUGL_DEFAULT_SIZE, 256, 256); - puglSetPosition(test.view, 896, 128); + puglSetPositionHint(test.view, PUGL_DEFAULT_POSITION, 896, 128); // Create and show window assert(!puglRealize(test.view)); @@ -127,8 +129,8 @@ main(int argc, char** argv) } // Send a custom event to trigger a redisplay in the event loop - PuglEvent client_event = {{PUGL_CLIENT, 0}}; - client_event.client.data1 = postRedisplayId; + PuglEvent client_event = {{PUGL_CLIENT, 0U}}; + client_event.client.data1 = obscureId; client_event.client.data2 = 0; assert(!puglSendEvent(test.view, &client_event)); @@ -140,7 +142,7 @@ main(int argc, char** argv) } // Redisplay from outside the event handler - puglPostRedisplay(test.view); + puglObscureView(test.view); while (test.state != REREDISPLAYED) { assert(!puglUpdate(test.world, timeout)); } |