SDL
2.0
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
SDL_x11window.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_x11window_h_
24
#define SDL_x11window_h_
25
26
/* We need to queue the focus in/out changes because they may occur during
27
video mode changes and we can respond to them by triggering more mode
28
changes.
29
*/
30
#define PENDING_FOCUS_TIME 200
31
32
#if SDL_VIDEO_OPENGL_EGL
33
#include <
EGL/egl.h
>
34
#endif
35
36
typedef
enum
37
{
38
PENDING_FOCUS_NONE
,
39
PENDING_FOCUS_IN
,
40
PENDING_FOCUS_OUT
41
}
PendingFocusEnum
;
42
43
typedef
struct
44
{
45
SDL_Window
*
window
;
46
Window
xwindow
;
47
Window
fswindow
;
/* used if we can't have the WM handle fullscreen. */
48
Visual *
visual
;
49
Colormap
colormap
;
50
#ifndef NO_SHARED_MEMORY
51
/* MIT shared memory extension information */
52
SDL_bool
use_mitshm
;
53
XShmSegmentInfo
shminfo
;
54
#endif
55
XImage *
ximage
;
56
GC
gc
;
57
XIC
ic
;
58
SDL_bool
created;
59
int
border_left
;
60
int
border_right
;
61
int
border_top
;
62
int
border_bottom
;
63
Uint32
last_focus_event_time
;
64
PendingFocusEnum
pending_focus
;
65
Uint32
pending_focus_time
;
66
XConfigureEvent
last_xconfigure
;
67
struct
SDL_VideoData
*videodata;
68
unsigned
long
user_time
;
69
Atom
xdnd_req
;
70
Window
xdnd_source
;
71
#if SDL_VIDEO_OPENGL_EGL
72
EGLSurface
egl_surface;
73
#endif
74
}
SDL_WindowData
;
75
76
extern
void
X11_SetNetWMState
(
_THIS
, Window xwindow,
Uint32
flags
);
77
extern
Uint32
X11_GetNetWMState
(
_THIS
, Window xwindow);
78
79
extern
int
X11_CreateWindow
(
_THIS
,
SDL_Window
*
window
);
80
extern
int
X11_CreateWindowFrom
(
_THIS
,
SDL_Window
*
window
,
const
void
*
data
);
81
extern
char
*
X11_GetWindowTitle
(
_THIS
, Window xwindow);
82
extern
void
X11_SetWindowTitle
(
_THIS
,
SDL_Window
*
window
);
83
extern
void
X11_SetWindowIcon
(
_THIS
,
SDL_Window
*
window
,
SDL_Surface
* icon);
84
extern
void
X11_SetWindowPosition
(
_THIS
,
SDL_Window
*
window
);
85
extern
void
X11_SetWindowMinimumSize
(
_THIS
,
SDL_Window
*
window
);
86
extern
void
X11_SetWindowMaximumSize
(
_THIS
,
SDL_Window
*
window
);
87
extern
int
X11_GetWindowBordersSize
(
_THIS
,
SDL_Window
*
window
,
int
*
top
,
int
*
left
,
int
*
bottom
,
int
*
right
);
88
extern
int
X11_SetWindowOpacity
(
_THIS
,
SDL_Window
*
window
,
float
opacity);
89
extern
int
X11_SetWindowModalFor
(
_THIS
,
SDL_Window
* modal_window,
SDL_Window
* parent_window);
90
extern
int
X11_SetWindowInputFocus
(
_THIS
,
SDL_Window
*
window
);
91
extern
void
X11_SetWindowSize
(
_THIS
,
SDL_Window
*
window
);
92
extern
void
X11_ShowWindow
(
_THIS
,
SDL_Window
*
window
);
93
extern
void
X11_HideWindow
(
_THIS
,
SDL_Window
*
window
);
94
extern
void
X11_RaiseWindow
(
_THIS
,
SDL_Window
*
window
);
95
extern
void
X11_MaximizeWindow
(
_THIS
,
SDL_Window
*
window
);
96
extern
void
X11_MinimizeWindow
(
_THIS
,
SDL_Window
*
window
);
97
extern
void
X11_RestoreWindow
(
_THIS
,
SDL_Window
*
window
);
98
extern
void
X11_SetWindowBordered
(
_THIS
,
SDL_Window
*
window
,
SDL_bool
bordered);
99
extern
void
X11_SetWindowResizable
(
_THIS
,
SDL_Window
*
window
,
SDL_bool
resizable);
100
extern
void
X11_SetWindowFullscreen
(
_THIS
,
SDL_Window
*
window
,
SDL_VideoDisplay
*
display
,
SDL_bool
fullscreen);
101
extern
int
X11_SetWindowGammaRamp
(
_THIS
,
SDL_Window
*
window
,
const
Uint16
* ramp);
102
extern
void
X11_SetWindowGrab
(
_THIS
,
SDL_Window
*
window
,
SDL_bool
grabbed);
103
extern
void
X11_DestroyWindow
(
_THIS
,
SDL_Window
*
window
);
104
extern
SDL_bool
X11_GetWindowWMInfo
(
_THIS
,
SDL_Window
*
window
,
105
struct
SDL_SysWMinfo
*info);
106
extern
int
X11_SetWindowHitTest
(
SDL_Window
*
window
,
SDL_bool
enabled
);
107
extern
void
X11_AcceptDragAndDrop
(
SDL_Window
*
window
,
SDL_bool
accept);
108
109
#endif
/* SDL_x11window_h_ */
110
111
/* vi: set ts=4 sw=4 expandtab: */
src
video
x11
SDL_x11window.h
Generated on Sun Jun 26 2022 23:07:19 for SDL by
1.8.1.2