diff options
author | David Robillard <d@drobilla.net> | 2020-10-20 22:01:48 +0200 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2020-10-20 22:01:48 +0200 |
commit | 83c4baa25e24920cc6da2e1f87118bc47ed35851 (patch) | |
tree | 8d46a9270071ea883e30ab57ba502edd4be8c038 /pugl/detail/x11_stub.c | |
parent | a87395423915f913b819291b3b4920501cccdf95 (diff) | |
download | pugl-83c4baa25e24920cc6da2e1f87118bc47ed35851.tar.gz pugl-83c4baa25e24920cc6da2e1f87118bc47ed35851.tar.bz2 pugl-83c4baa25e24920cc6da2e1f87118bc47ed35851.zip |
Split stub backends into separate files
This makes things more consistent between platforms and backends.
Diffstat (limited to 'pugl/detail/x11_stub.c')
-rw-r--r-- | pugl/detail/x11_stub.c | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/pugl/detail/x11_stub.c b/pugl/detail/x11_stub.c new file mode 100644 index 0000000..8efd68f --- /dev/null +++ b/pugl/detail/x11_stub.c @@ -0,0 +1,54 @@ +/* + Copyright 2012-2020 David Robillard <d@drobilla.net> + + Permission to use, copy, modify, and/or distribute this software for any + purpose with or without fee is hereby granted, provided that the above + copyright notice and this permission notice appear in all copies. + + THIS SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +*/ + +#include "pugl/pugl_stub.h" + +#include "pugl/detail/stub.h" +#include "pugl/detail/types.h" +#include "pugl/detail/x11.h" + +PuglStatus +puglX11StubConfigure(PuglView* view) +{ + PuglInternals* const impl = view->impl; + XVisualInfo pat = {0}; + int n = 0; + + pat.screen = impl->screen; + impl->vi = XGetVisualInfo(impl->display, VisualScreenMask, &pat, &n); + + view->hints[PUGL_RED_BITS] = impl->vi->bits_per_rgb; + view->hints[PUGL_GREEN_BITS] = impl->vi->bits_per_rgb; + view->hints[PUGL_BLUE_BITS] = impl->vi->bits_per_rgb; + view->hints[PUGL_ALPHA_BITS] = 0; + + return PUGL_SUCCESS; +} + +const PuglBackend* +puglStubBackend(void) +{ + static const PuglBackend backend = { + puglX11StubConfigure, + puglStubCreate, + puglStubDestroy, + puglStubEnter, + puglStubLeave, + puglStubGetContext, + }; + + return &backend; +} |