diff options
author | David Robillard <d@drobilla.net> | 2020-10-03 19:38:53 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-10-04 12:51:32 +0200 |
commit | cc5c38b1aaf93157f5558df95383491a6163cc5a (patch) | |
tree | a1b858c00ad84a0479b98247f84e608ac0d62866 /pugl/detail/win_gl.c | |
parent | 6ca124d3787a901129252a2e26c091da1c1ff455 (diff) | |
download | pugl-cc5c38b1aaf93157f5558df95383491a6163cc5a.tar.gz pugl-cc5c38b1aaf93157f5558df95383491a6163cc5a.tar.bz2 pugl-cc5c38b1aaf93157f5558df95383491a6163cc5a.zip |
Add puglGetViewHint()
This allows retrieving properties of the view that may be needed, such as the
actual bit depth (which may vary from the suggested depth provided as a hint).
Diffstat (limited to 'pugl/detail/win_gl.c')
-rw-r--r-- | pugl/detail/win_gl.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/pugl/detail/win_gl.c b/pugl/detail/win_gl.c index 8cdad76..096c715 100644 --- a/pugl/detail/win_gl.c +++ b/pugl/detail/win_gl.c @@ -108,6 +108,24 @@ puglWinGlConfigure(PuglView* view) { PuglInternals* impl = view->impl; + // Set attributes to default if they are unset + // (There is no GLX_DONT_CARE equivalent on Windows) + if (view->hints[PUGL_DEPTH_BITS] == PUGL_DONT_CARE) { + view->hints[PUGL_DEPTH_BITS] = 0; + } + if (view->hints[PUGL_STENCIL_BITS] == PUGL_DONT_CARE) { + view->hints[PUGL_STENCIL_BITS] = 0; + } + if (view->hints[PUGL_SAMPLES] == PUGL_DONT_CARE) { + view->hints[PUGL_SAMPLES] = 1; + } + if (view->hints[PUGL_DOUBLE_BUFFER] == PUGL_DONT_CARE) { + view->hints[PUGL_DOUBLE_BUFFER] = 1; + } + if (view->hints[PUGL_SWAP_INTERVAL] == PUGL_DONT_CARE) { + view->hints[PUGL_SWAP_INTERVAL] = 1; + } + // clang-format off const int pixelAttrs[] = { WGL_DRAW_TO_WINDOW_ARB, GL_TRUE, |