LMMS
Loading...
Searching...
No Matches
x11.h
Go to the documentation of this file.
1// Copyright 2012-2022 David Robillard <d@drobilla.net>
2// SPDX-License-Identifier: ISC
3
4#ifndef PUGL_SRC_X11_H
5#define PUGL_SRC_X11_H
6
7#include "attributes.h"
8#include "types.h"
9
10#include "pugl/pugl.h"
11
12#include <X11/X.h>
13#include <X11/Xlib.h>
14#include <X11/Xutil.h>
15
16#include <stdbool.h>
17#include <stddef.h>
18#include <stdint.h>
19
33
34typedef struct {
35 XID alarm;
37 uintptr_t id;
38} PuglTimer;
39
51
53 Display* display;
55 XIM xim;
56 double scaleFactor;
58 size_t numTimers;
63};
64
65struct PuglInternalsImpl {
66 XVisualInfo* vi;
67 Window win;
68 XIC xic;
73 int screen;
74 const char* cursorName;
75};
76
81
82#endif // PUGL_SRC_X11_H
#define PUGL_WARN_UNUSED_RESULT
Definition attributes.h:18
PuglStatus
Return status code.
Definition pugl.h:627
struct PuglViewImpl PuglView
A drawable region that receives events.
Definition pugl.h:810
unsigned int uint32_t
Definition mid.cpp:100
#define PUGL_API
Definition pugl.h:22
Blob of arbitrary data.
Definition types.h:31
Definition mac.h:32
XIC xic
Definition x11.h:68
Window win
Definition x11.h:67
PuglBlob clipboard
Definition win.h:27
PuglEvent pendingConfigure
Definition x11.h:70
XVisualInfo * vi
Definition x11.h:66
PuglSurface * surface
Definition wasm.h:23
PuglEvent pendingExpose
Definition x11.h:71
const char * cursorName
Definition x11.h:74
int screen
Definition x11.h:73
Definition wasm.h:13
PuglView * view
Definition wasm.h:14
uintptr_t id
Definition wasm.h:15
XID alarm
Definition x11.h:35
Definition mac.h:27
PuglX11Atoms atoms
Definition x11.h:54
XID serverTimeCounter
Definition x11.h:59
double scaleFactor
Definition wasm.h:19
size_t numTimers
Definition x11.h:58
Display * display
Definition x11.h:53
int syncEventBase
Definition x11.h:60
XIM xim
Definition x11.h:55
PuglTimer * timers
Definition x11.h:57
bool dispatchingEvents
Definition x11.h:62
bool syncSupported
Definition x11.h:61
Definition x11.h:20
Atom TARGETS
Definition x11.h:30
Atom NET_WM_NAME
Definition x11.h:26
Atom NET_WM_STATE_DEMANDS_ATTENTION
Definition x11.h:28
Atom WM_DELETE_WINDOW
Definition x11.h:24
Atom UTF8_STRING
Definition x11.h:22
Atom NET_WM_STATE_HIDDEN
Definition x11.h:29
Atom CLIPBOARD
Definition x11.h:21
Atom NET_WM_STATE
Definition x11.h:27
Atom text_uri_list
Definition x11.h:31
Atom WM_PROTOCOLS
Definition x11.h:23
Atom PUGL_CLIENT_MSG
Definition x11.h:25
Definition x11.h:40
unsigned long numFormats
Definition x11.h:46
Atom * formats
Definition x11.h:44
Atom selection
Definition x11.h:41
Window source
Definition x11.h:43
char ** formatStrings
Definition x11.h:45
Atom property
Definition x11.h:42
uint32_t acceptedFormatIndex
Definition x11.h:47
PuglBlob data
Definition x11.h:49
Atom acceptedFormat
Definition x11.h:48
void PuglSurface
Opaque surface used by graphics backend.
Definition types.h:64
Definition pugl.h:599
PUGL_WARN_UNUSED_RESULT PUGL_API PuglStatus puglX11Configure(PuglView *view)
Definition x11.c:1801