aboutsummaryrefslogtreecommitdiffstats
path: root/pugl/detail/win.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.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.c')
-rw-r--r--pugl/detail/win.c14
1 files changed, 14 insertions, 0 deletions
diff --git a/pugl/detail/win.c b/pugl/detail/win.c
index 4f7afee..38eca9d 100644
--- a/pugl/detail/win.c
+++ b/pugl/detail/win.c
@@ -166,6 +166,20 @@ puglRealize(PuglView* view)
{
PuglInternals* impl = view->impl;
+ // Getting depth from the display mode seems tedious, just set usual values
+ if (view->hints[PUGL_RED_BITS] == PUGL_DONT_CARE) {
+ view->hints[PUGL_RED_BITS] = 8;
+ }
+ if (view->hints[PUGL_BLUE_BITS] == PUGL_DONT_CARE) {
+ view->hints[PUGL_BLUE_BITS] = 8;
+ }
+ if (view->hints[PUGL_GREEN_BITS] == PUGL_DONT_CARE) {
+ view->hints[PUGL_GREEN_BITS] = 8;
+ }
+ if (view->hints[PUGL_ALPHA_BITS] == PUGL_DONT_CARE) {
+ view->hints[PUGL_ALPHA_BITS] = 8;
+ }
+
// Get refresh rate for resize draw timer
DEVMODEA devMode = {0};
EnumDisplaySettingsA(NULL, ENUM_CURRENT_SETTINGS, &devMode);