Panda3D
get_x11.h
Go to the documentation of this file.
1 /**
2  * PANDA 3D SOFTWARE
3  * Copyright (c) Carnegie Mellon University. All rights reserved.
4  *
5  * All use of this software is subject to the terms of the revised BSD
6  * license. You should have received a copy of this license along
7  * with this source code in a file named "LICENSE."
8  *
9  * @file get_x11.h
10  * @author drose
11  * @date 2011-08-28
12  */
13 
14 #ifndef GET_X11_H
15 #define GET_X11_H
16 
17 #include "pandabase.h"
18 
19 #ifdef HAVE_X11
20 // This header file is designed to help work around some of the namespace
21 // spamming that X11 causes, by renaming the symbols that X11 declares that
22 // are known to conflict with other library names (like Apple's Core Graphics,
23 // for instance).
24 
25 // In order for this to work, everyone who uses X11 within Panda should
26 // include this file instead of including the X11 headers directly.
27 
28 #ifdef CPPPARSER
29 // A simple hack so interrogate can get all of the necessary typenames.
30 typedef struct _XDisplay X11_Display;
31 typedef unsigned int XID;
32 typedef unsigned int Atom;
33 typedef unsigned int Cardinal;
34 typedef XID Colormap;
35 typedef XID X11_Window;
36 typedef XID X11_Cursor;
37 typedef struct _XIM *XIM;
38 typedef struct _XIC *XIC;
39 struct XErrorEvent;
40 struct XVisualInfo;
41 #define Bool int
42 #define Status int
43 #define True 1
44 #define False 0
45 #else
46 
47 #include "pre_x11_include.h"
48 #include <X11/XKBlib.h>
49 #include <X11/Xlib.h>
50 #include <X11/Xutil.h>
51 #include <X11/keysym.h>
52 #include <X11/Xatom.h>
53 #include "post_x11_include.h"
54 
55 #endif // CPPPARSER
56 #endif // HAVE_X11
57 
58 #endif
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.