diff options
author | David Robillard <d@drobilla.net> | 2019-10-27 13:05:00 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2019-11-03 21:03:18 +0100 |
commit | 3c9a8a2ed86d08da842e11d32065da43b5bfdc77 (patch) | |
tree | d5ddb2c4e86a21129bc1b533613d2110a9ba2e09 /pugl/detail/win.h | |
parent | 14c7cb54a913be5a505148068582d9c56e3d1681 (diff) | |
download | pugl-3c9a8a2ed86d08da842e11d32065da43b5bfdc77.tar.gz pugl-3c9a8a2ed86d08da842e11d32065da43b5bfdc77.tar.bz2 pugl-3c9a8a2ed86d08da842e11d32065da43b5bfdc77.zip |
Move platform stub configuration code to platform headers
This allows backends which use basic software rendering (like Cairo) to share
the common basic window format setup code.
Diffstat (limited to 'pugl/detail/win.h')
-rw-r--r-- | pugl/detail/win.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/pugl/detail/win.h b/pugl/detail/win.h index 6d89759..e9056b7 100644 --- a/pugl/detail/win.h +++ b/pugl/detail/win.h @@ -113,3 +113,27 @@ puglWinCreateWindow(const PuglView* const view, return PUGL_SUCCESS; } + +static inline PuglStatus +puglWinStubConfigure(PuglView* view) +{ + PuglInternals* const impl = view->impl; + PuglStatus st = PUGL_SUCCESS; + + if ((st = puglWinCreateWindow(view, "Pugl", &impl->hwnd, &impl->hdc))) { + return st; + } + + impl->pfd = puglWinGetPixelFormatDescriptor(view->hints); + impl->pfId = ChoosePixelFormat(impl->hdc, &impl->pfd); + + if (!SetPixelFormat(impl->hdc, impl->pfId, &impl->pfd)) { + ReleaseDC(impl->hwnd, impl->hdc); + DestroyWindow(impl->hwnd); + impl->hwnd = NULL; + impl->hdc = NULL; + return PUGL_SET_FORMAT_FAILED; + } + + return PUGL_SUCCESS; +} |