Mercurial > hg > pub > prymula > com
view DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/src/x11.h @ 3:84e66ea83026
DPF-Prymula-audioplugins-0.231015-2
author | prymula <prymula76@outlook.com> |
---|---|
date | Mon, 16 Oct 2023 21:53:34 +0200 |
parents | |
children |
line wrap: on
line source
// Copyright 2012-2022 David Robillard <d@drobilla.net> // SPDX-License-Identifier: ISC #ifndef PUGL_SRC_X11_H #define PUGL_SRC_X11_H #include "attributes.h" #include "types.h" #include "pugl/pugl.h" #include <X11/X.h> #include <X11/Xlib.h> #include <X11/Xutil.h> #include <stdbool.h> #include <stddef.h> #include <stdint.h> typedef struct { Atom CLIPBOARD; Atom UTF8_STRING; Atom WM_PROTOCOLS; Atom WM_DELETE_WINDOW; Atom PUGL_CLIENT_MSG; Atom NET_WM_NAME; Atom NET_WM_STATE; Atom NET_WM_STATE_DEMANDS_ATTENTION; Atom NET_WM_STATE_HIDDEN; Atom TARGETS; Atom text_uri_list; } PuglX11Atoms; typedef struct { XID alarm; PuglView* view; uintptr_t id; } PuglTimer; typedef struct { Atom selection; Atom property; Window source; Atom* formats; char** formatStrings; unsigned long numFormats; uint32_t acceptedFormatIndex; Atom acceptedFormat; PuglBlob data; } PuglX11Clipboard; struct PuglWorldInternalsImpl { Display* display; PuglX11Atoms atoms; XIM xim; double scaleFactor; PuglTimer* timers; size_t numTimers; XID serverTimeCounter; int syncEventBase; bool syncSupported; bool dispatchingEvents; }; struct PuglInternalsImpl { XVisualInfo* vi; Window win; XIC xic; PuglSurface* surface; PuglEvent pendingConfigure; PuglEvent pendingExpose; PuglX11Clipboard clipboard; int screen; const char* cursorName; }; PUGL_WARN_UNUSED_RESULT PUGL_API PuglStatus puglX11Configure(PuglView* view); #endif // PUGL_SRC_X11_H