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_cairo.c | |
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_cairo.c')
-rw-r--r-- | pugl/detail/win_cairo.c | 24 |
1 files changed, 5 insertions, 19 deletions
diff --git a/pugl/detail/win_cairo.c b/pugl/detail/win_cairo.c index 497711b..27765ec 100644 --- a/pugl/detail/win_cairo.c +++ b/pugl/detail/win_cairo.c @@ -80,28 +80,14 @@ puglWinCairoDestroyDrawContext(PuglView* view) static PuglStatus puglWinCairoConfigure(PuglView* view) { - PuglInternals* const impl = view->impl; - PuglStatus st = PUGL_SUCCESS; + const PuglStatus st = puglWinStubConfigure(view); - 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; + if (!st) { + view->impl->surface = (PuglWinCairoSurface*)calloc( + 1, sizeof(PuglWinCairoSurface)); } - impl->surface = (PuglWinCairoSurface*)calloc( - 1, sizeof(PuglWinCairoSurface)); - - return PUGL_SUCCESS; + return st; } static PuglStatus |