SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_x11video.h
Go to the documentation of this file.
1
/*
2
Simple DirectMedia Layer
3
Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org>
4
5
This software is provided 'as-is', without any express or implied
6
warranty. In no event will the authors be held liable for any damages
7
arising from the use of this software.
8
9
Permission is granted to anyone to use this software for any purpose,
10
including commercial applications, and to alter it and redistribute it
11
freely, subject to the following restrictions:
12
13
1. The origin of this software must not be misrepresented; you must not
14
claim that you wrote the original software. If you use this software
15
in a product, an acknowledgment in the product documentation would be
16
appreciated but is not required.
17
2. Altered source versions must be plainly marked as such, and must not be
18
misrepresented as being the original software.
19
3. This notice may not be removed or altered from any source distribution.
20
*/
21
#include "../../SDL_internal.h"
22
23
#ifndef SDL_x11video_h_
24
#define SDL_x11video_h_
25
26
#include "
SDL_keycode.h
"
27
28
#include "../SDL_sysvideo.h"
29
30
#include <X11/Xlib.h>
31
#include <X11/Xutil.h>
32
#include <X11/Xatom.h>
33
34
#if SDL_VIDEO_DRIVER_X11_XCURSOR
35
#include <X11/Xcursor/Xcursor.h>
36
#endif
37
#if SDL_VIDEO_DRIVER_X11_XDBE
38
#include <X11/extensions/Xdbe.h>
39
#endif
40
#if SDL_VIDEO_DRIVER_X11_XINERAMA
41
#include <X11/extensions/Xinerama.h>
42
#endif
43
#if SDL_VIDEO_DRIVER_X11_XINPUT2
44
#include <X11/extensions/XInput2.h>
45
#endif
46
#if SDL_VIDEO_DRIVER_X11_XRANDR
47
#include <X11/extensions/Xrandr.h>
48
#endif
49
#if SDL_VIDEO_DRIVER_X11_XSCRNSAVER
50
#include <X11/extensions/scrnsaver.h>
51
#endif
52
#if SDL_VIDEO_DRIVER_X11_XSHAPE
53
#include <X11/extensions/shape.h>
54
#endif
55
#if SDL_VIDEO_DRIVER_X11_XVIDMODE
56
#include <X11/extensions/xf86vmode.h>
57
#endif
58
59
#include "../../core/linux/SDL_dbus.h"
60
#include "../../core/linux/SDL_ime.h"
61
62
#include "
SDL_x11dyn.h
"
63
64
#include "
SDL_x11clipboard.h
"
65
#include "
SDL_x11events.h
"
66
#include "
SDL_x11keyboard.h
"
67
#include "
SDL_x11modes.h
"
68
#include "
SDL_x11mouse.h
"
69
#include "
SDL_x11opengl.h
"
70
#include "
SDL_x11window.h
"
71
#include "
SDL_x11vulkan.h
"
72
73
/* Private display data */
74
75
typedef
struct
SDL_VideoData
76
{
77
Display *
display
;
78
char
*
classname
;
79
pid_t
pid
;
80
XIM
im
;
81
Uint32
screensaver_activity
;
82
int
numwindows
;
83
SDL_WindowData
**
windowlist
;
84
int
windowlistlength
;
85
XID
window_group
;
86
Window
clipboard_window
;
87
88
/* This is true for ICCCM2.0-compliant window managers */
89
SDL_bool
net_wm
;
90
91
/* Useful atoms */
92
Atom
WM_PROTOCOLS
;
93
Atom
WM_DELETE_WINDOW
;
94
Atom
WM_TAKE_FOCUS
;
95
Atom
_NET_WM_STATE
;
96
Atom
_NET_WM_STATE_HIDDEN
;
97
Atom
_NET_WM_STATE_FOCUSED
;
98
Atom
_NET_WM_STATE_MAXIMIZED_VERT
;
99
Atom
_NET_WM_STATE_MAXIMIZED_HORZ
;
100
Atom
_NET_WM_STATE_FULLSCREEN
;
101
Atom
_NET_WM_STATE_ABOVE
;
102
Atom
_NET_WM_STATE_SKIP_TASKBAR
;
103
Atom
_NET_WM_STATE_SKIP_PAGER
;
104
Atom
_NET_WM_ALLOWED_ACTIONS
;
105
Atom
_NET_WM_ACTION_FULLSCREEN
;
106
Atom
_NET_WM_NAME
;
107
Atom
_NET_WM_ICON_NAME
;
108
Atom
_NET_WM_ICON
;
109
Atom
_NET_WM_PING
;
110
Atom
_NET_WM_WINDOW_OPACITY
;
111
Atom
_NET_WM_USER_TIME
;
112
Atom
_NET_ACTIVE_WINDOW
;
113
Atom
_NET_FRAME_EXTENTS
;
114
Atom
UTF8_STRING
;
115
Atom
PRIMARY
;
116
Atom
XdndEnter
;
117
Atom
XdndPosition
;
118
Atom
XdndStatus
;
119
Atom
XdndTypeList
;
120
Atom
XdndActionCopy
;
121
Atom
XdndDrop
;
122
Atom
XdndFinished
;
123
Atom
XdndSelection
;
124
Atom
XKLAVIER_STATE
;
125
126
SDL_Scancode
key_layout
[256];
127
SDL_bool
selection_waiting
;
128
129
SDL_bool
broken_pointer_grab
;
/* true if XGrabPointer seems unreliable. */
130
131
Uint32
last_mode_change_deadline
;
132
133
SDL_bool
global_mouse_changed
;
134
SDL_Point
global_mouse_position
;
135
Uint32
global_mouse_buttons
;
136
137
#if SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM
138
XkbDescPtr xkb;
139
#endif
140
141
KeyCode
filter_code
;
142
Time
filter_time
;
143
144
#if SDL_VIDEO_VULKAN
145
/* Vulkan variables only valid if _this->vulkan_config.loader_handle is not NULL */
146
void
*vulkan_xlib_xcb_library;
147
PFN_XGetXCBConnection vulkan_XGetXCBConnection;
148
#endif
149
150
}
SDL_VideoData
;
151
152
extern
SDL_bool
X11_UseDirectColorVisuals
(
void
);
153
154
#endif
/* SDL_x11video_h_ */
155
156
/* vi: set ts=4 sw=4 expandtab: */
src
video
x11
SDL_x11video.h
Generated on Sun Jun 26 2022 23:07:19 for SDL by
1.8.1.2