aboutsummaryrefslogtreecommitdiffstats
path: root/pugl/detail/win_gl.c
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2020-10-03 19:38:53 +0200
committerDavid Robillard <d@drobilla.net>2020-10-04 12:51:32 +0200
commitcc5c38b1aaf93157f5558df95383491a6163cc5a (patch)
treea1b858c00ad84a0479b98247f84e608ac0d62866 /pugl/detail/win_gl.c
parent6ca124d3787a901129252a2e26c091da1c1ff455 (diff)
downloadpugl-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.c18
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,