Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Latest commit

 

History

History
111 lines (89 loc) · 3.23 KB

SDL_x11dyn.h

File metadata and controls

111 lines (89 loc) · 3.23 KB
 
Jul 26, 2006
Jul 26, 2006
1
2
/*
SDL - Simple DirectMedia Layer
Jan 24, 2010
Jan 24, 2010
3
Copyright (C) 1997-2010 Sam Lantinga
Jul 26, 2006
Jul 26, 2006
4
5
This library is free software; you can redistribute it and/or
Jan 24, 2010
Jan 24, 2010
6
modify it under the terms of the GNU Lesser General Public
Jul 26, 2006
Jul 26, 2006
7
License as published by the Free Software Foundation; either
Jan 24, 2010
Jan 24, 2010
8
version 2.1 of the License, or (at your option) any later version.
Jul 26, 2006
Jul 26, 2006
9
10
11
12
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Jan 24, 2010
Jan 24, 2010
13
Lesser General Public License for more details.
Jul 26, 2006
Jul 26, 2006
14
Jan 24, 2010
Jan 24, 2010
15
16
17
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Jul 26, 2006
Jul 26, 2006
18
19
20
21
22
23
24
25
26
27
28
29
Sam Lantinga
slouken@libsdl.org
*/
#include "SDL_config.h"
#ifndef _SDL_x11dyn_h
#define _SDL_x11dyn_h
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>
Jan 10, 2010
Jan 10, 2010
30
31
32
33
/* Apparently some X11 systems can't include this multiple times... */
#ifndef SDL_INCLUDED_XLIBINT_H
#define SDL_INCLUDED_XLIBINT_H 1
Jul 26, 2006
Jul 26, 2006
34
#include <X11/Xlibint.h>
Jan 10, 2010
Jan 10, 2010
35
36
#endif
Jul 26, 2006
Jul 26, 2006
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include <X11/Xproto.h>
#include "../Xext/extensions/Xext.h"
#include "../Xext/extensions/extutil.h"
#ifndef NO_SHARED_MEMORY
#include <sys/ipc.h>
#include <sys/shm.h>
#include <X11/extensions/XShm.h>
#endif
#if SDL_VIDEO_DRIVER_X11_XRANDR
#include <X11/extensions/Xrandr.h>
#endif
Sep 17, 2008
Sep 17, 2008
51
52
53
54
#if SDL_VIDEO_DRIVER_X11_XINPUT
#include <X11/extensions/XInput.h>
#endif
May 19, 2010
May 19, 2010
55
#if SDL_VIDEO_DRIVER_X11_XRENDER
Jun 2, 2010
Jun 2, 2010
56
#include <X11/extensions/Xrender.h>
May 19, 2010
May 19, 2010
57
58
#endif
Jul 19, 2010
Jul 19, 2010
59
60
61
62
63
64
65
66
#if SDL_VIDEO_DRIVER_X11_XDAMAGE
#include <X11/extensions/Xdamage.h>
#endif
#if SDL_VIDEO_DRIVER_X11_XFIXES
#include <X11/extensions/Xfixes.h>
#endif
Jul 26, 2006
Jul 26, 2006
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
/*
* When using the "dynamic X11" functionality, we duplicate all the Xlib
* symbols that would be referenced by SDL inside of SDL itself.
* These duplicated symbols just serve as passthroughs to the functions
* in Xlib, that was dynamically loaded.
*
* This allows us to use Xlib as-is when linking against it directly, but
* also handles all the strange cases where there was code in the Xlib
* headers that may or may not exist or vary on a given platform.
*/
#ifdef __cplusplus
extern "C"
{
#endif
/* evil function signatures... */
typedef Bool(*SDL_X11_XESetWireToEventRetType) (Display *, XEvent *,
xEvent *);
typedef int (*SDL_X11_XSynchronizeRetType) (Display *);
typedef Status(*SDL_X11_XESetEventToWireRetType) (Display *, XEvent *,
xEvent *);
int SDL_X11_LoadSymbols(void);
void SDL_X11_UnloadSymbols(void);
Mar 7, 2008
Mar 7, 2008
92
/* That's really annoying...make these function pointers no matter what. */
Jul 26, 2006
Jul 26, 2006
93
94
#ifdef X_HAVE_UTF8_STRING
extern XIC(*pXCreateIC) (XIM, ...);
Mar 7, 2008
Mar 7, 2008
95
extern char *(*pXGetICValues) (XIC, ...);
Jul 26, 2006
Jul 26, 2006
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
#endif
/* These SDL_X11_HAVE_* flags are here whether you have dynamic X11 or not. */
#define SDL_X11_MODULE(modname) extern int SDL_X11_HAVE_##modname;
#define SDL_X11_SYM(rc,fn,params,args,ret)
#include "SDL_x11sym.h"
#undef SDL_X11_MODULE
#undef SDL_X11_SYM
#ifdef __cplusplus
}
#endif
#endif /* !defined _SDL_x11dyn_h */
/* vi: set ts=4 sw=4 expandtab: */