aboutsummaryrefslogtreecommitdiffstats
path: root/test/test_show_hide.c
diff options
context:
space:
mode:
Diffstat (limited to 'test/test_show_hide.c')
-rw-r--r--test/test_show_hide.c186
1 files changed, 93 insertions, 93 deletions
diff --git a/test/test_show_hide.c b/test/test_show_hide.c
index 4280408..584448c 100644
--- a/test/test_show_hide.c
+++ b/test/test_show_hide.c
@@ -31,118 +31,118 @@
#include <stddef.h>
typedef enum {
- START,
- CREATED,
- CONFIGURED,
- MAPPED,
- EXPOSED,
- UNMAPPED,
- DESTROYED,
+ START,
+ CREATED,
+ CONFIGURED,
+ MAPPED,
+ EXPOSED,
+ UNMAPPED,
+ DESTROYED,
} State;
typedef struct {
- PuglWorld* world;
- PuglView* view;
- PuglTestOptions opts;
- State state;
+ PuglWorld* world;
+ PuglView* view;
+ PuglTestOptions opts;
+ State state;
} PuglTest;
static PuglStatus
onEvent(PuglView* view, const PuglEvent* event)
{
- PuglTest* test = (PuglTest*)puglGetHandle(view);
-
- if (test->opts.verbose) {
- printEvent(event, "Event: ", true);
- }
-
- switch (event->type) {
- case PUGL_CREATE:
- assert(test->state == START);
- test->state = CREATED;
- break;
- case PUGL_CONFIGURE:
- if (test->state == CREATED) {
- test->state = CONFIGURED;
- }
- break;
- case PUGL_MAP:
- assert(test->state == CONFIGURED || test->state == UNMAPPED);
- test->state = MAPPED;
- break;
- case PUGL_EXPOSE:
- assert(test->state == MAPPED || test->state == EXPOSED);
- test->state = EXPOSED;
- break;
- case PUGL_UNMAP:
- assert(test->state == EXPOSED);
- test->state = UNMAPPED;
- break;
- case PUGL_DESTROY:
- assert(test->state == UNMAPPED);
- test->state = DESTROYED;
- break;
- default:
- break;
- }
-
- return PUGL_SUCCESS;
+ PuglTest* test = (PuglTest*)puglGetHandle(view);
+
+ if (test->opts.verbose) {
+ printEvent(event, "Event: ", true);
+ }
+
+ switch (event->type) {
+ case PUGL_CREATE:
+ assert(test->state == START);
+ test->state = CREATED;
+ break;
+ case PUGL_CONFIGURE:
+ if (test->state == CREATED) {
+ test->state = CONFIGURED;
+ }
+ break;
+ case PUGL_MAP:
+ assert(test->state == CONFIGURED || test->state == UNMAPPED);
+ test->state = MAPPED;
+ break;
+ case PUGL_EXPOSE:
+ assert(test->state == MAPPED || test->state == EXPOSED);
+ test->state = EXPOSED;
+ break;
+ case PUGL_UNMAP:
+ assert(test->state == EXPOSED);
+ test->state = UNMAPPED;
+ break;
+ case PUGL_DESTROY:
+ assert(test->state == UNMAPPED);
+ test->state = DESTROYED;
+ break;
+ default:
+ break;
+ }
+
+ return PUGL_SUCCESS;
}
static void
tick(PuglWorld* world)
{
#ifdef __APPLE__
- // FIXME: Expose events are not events on MacOS, so we can't block
- // indefinitely here since it will block forever
- assert(!puglUpdate(world, 1 / 30.0));
+ // FIXME: Expose events are not events on MacOS, so we can't block
+ // indefinitely here since it will block forever
+ assert(!puglUpdate(world, 1 / 30.0));
#else
- assert(!puglUpdate(world, -1));
+ assert(!puglUpdate(world, -1));
#endif
}
int
main(int argc, char** argv)
{
- PuglTest test = {puglNewWorld(PUGL_PROGRAM, 0),
- NULL,
- puglParseTestOptions(&argc, &argv),
- START};
-
- // Set up view
- test.view = puglNewView(test.world);
- puglSetClassName(test.world, "Pugl Test");
- puglSetBackend(test.view, puglStubBackend());
- puglSetHandle(test.view, &test);
- puglSetEventFunc(test.view, onEvent);
- puglSetDefaultSize(test.view, 512, 512);
-
- // Create initially invisible window
- assert(!puglRealize(test.view));
- assert(!puglGetVisible(test.view));
- while (test.state < CREATED) {
- tick(test.world);
- }
-
- // Show and hide window a couple of times
- for (unsigned i = 0u; i < 2u; ++i) {
- assert(!puglShow(test.view));
- while (test.state != EXPOSED) {
- tick(test.world);
- }
-
- assert(puglGetVisible(test.view));
- assert(!puglHide(test.view));
- while (test.state != UNMAPPED) {
- tick(test.world);
- }
- }
-
- // Tear down
- assert(!puglGetVisible(test.view));
- puglFreeView(test.view);
- assert(test.state == DESTROYED);
- puglFreeWorld(test.world);
-
- return 0;
+ PuglTest test = {puglNewWorld(PUGL_PROGRAM, 0),
+ NULL,
+ puglParseTestOptions(&argc, &argv),
+ START};
+
+ // Set up view
+ test.view = puglNewView(test.world);
+ puglSetClassName(test.world, "Pugl Test");
+ puglSetBackend(test.view, puglStubBackend());
+ puglSetHandle(test.view, &test);
+ puglSetEventFunc(test.view, onEvent);
+ puglSetDefaultSize(test.view, 512, 512);
+
+ // Create initially invisible window
+ assert(!puglRealize(test.view));
+ assert(!puglGetVisible(test.view));
+ while (test.state < CREATED) {
+ tick(test.world);
+ }
+
+ // Show and hide window a couple of times
+ for (unsigned i = 0u; i < 2u; ++i) {
+ assert(!puglShow(test.view));
+ while (test.state != EXPOSED) {
+ tick(test.world);
+ }
+
+ assert(puglGetVisible(test.view));
+ assert(!puglHide(test.view));
+ while (test.state != UNMAPPED) {
+ tick(test.world);
+ }
+ }
+
+ // Tear down
+ assert(!puglGetVisible(test.view));
+ puglFreeView(test.view);
+ assert(test.state == DESTROYED);
+ puglFreeWorld(test.world);
+
+ return 0;
}