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
pandabase.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
post_x11_include.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.
pre_x11_include.h
PANDA 3D SOFTWARE Copyright (c) Carnegie Mellon University.