Skip to content

Commit

Permalink
Print all view hints in shader demo and hint tests
Browse files Browse the repository at this point in the history
  • Loading branch information
drobilla committed Oct 4, 2020
1 parent cc5c38b commit a36408b
Show file tree
Hide file tree
Showing 4 changed files with 56 additions and 0 deletions.
1 change: 1 addition & 0 deletions examples/pugl_shader_demo.c
Original file line number Diff line number Diff line change
Expand Up @@ -405,6 +405,7 @@ main(int argc, char** argv)
}

// Show window
printViewHints(app.view);
puglShowWindow(app.view);

// Grind away, drawing continuously
Expand Down
1 change: 1 addition & 0 deletions test/test_gl_hints.c
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,7 @@ main(void)

// Realize view and print all hints for debugging convenience
assert(!puglRealize(view));
printViewHints(view);

// Check that no hints are set to PUGL_DONT_CARE
assert(puglGetViewHint(view, PUGL_USE_COMPAT_PROFILE) != PUGL_DONT_CARE);
Expand Down
1 change: 1 addition & 0 deletions test/test_stub_hints.c
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,7 @@ main(void)

// Realize view and print all hints for debugging convenience
assert(!puglRealize(view));
printViewHints(view);

// Check that no relevant hints are set to PUGL_DONT_CARE
assert(puglGetViewHint(view, PUGL_USE_COMPAT_PROFILE) != PUGL_DONT_CARE);
Expand Down
53 changes: 53 additions & 0 deletions test/test_utils.h
Original file line number Diff line number Diff line change
Expand Up @@ -221,6 +221,59 @@ printEvent(const PuglEvent* event, const char* prefix, const bool verbose)
return 0;
}

static inline const char*
puglViewHintString(const PuglViewHint hint)
{
switch (hint) {
case PUGL_USE_COMPAT_PROFILE:
return "Use compatible profile";
case PUGL_USE_DEBUG_CONTEXT:
return "Use debug context";
case PUGL_CONTEXT_VERSION_MAJOR:
return "Context major version";
case PUGL_CONTEXT_VERSION_MINOR:
return "Context minor version";
case PUGL_RED_BITS:
return "Red bits";
case PUGL_GREEN_BITS:
return "Green bits";
case PUGL_BLUE_BITS:
return "Blue bits";
case PUGL_ALPHA_BITS:
return "Alpha bits";
case PUGL_DEPTH_BITS:
return "Depth bits";
case PUGL_STENCIL_BITS:
return "Stencil bits";
case PUGL_SAMPLES:
return "Samples";
case PUGL_DOUBLE_BUFFER:
return "Double buffer";
case PUGL_SWAP_INTERVAL:
return "Swap interval";
case PUGL_RESIZABLE:
return "Resizable";
case PUGL_IGNORE_KEY_REPEAT:
return "Ignore key repeat";
case PUGL_NUM_VIEW_HINTS:
return "Unknown";
}

return "Unknown";
}

static inline void
printViewHints(const PuglView* view)
{
for (int i = 0; i < PUGL_NUM_VIEW_HINTS; ++i) {
const PuglViewHint hint = (PuglViewHint)i;
fprintf(stderr,
"%s: %d\n",
puglViewHintString(hint),
puglGetViewHint(view, hint));
}
}

static inline void
puglPrintTestUsage(const char* prog, const char* posHelp)
{
Expand Down

0 comments on commit a36408b

Please sign in to comment.