OLD | NEW |
1 #ifndef __eglplatform_h_ | 1 #ifndef __eglplatform_h_ |
2 #define __eglplatform_h_ | 2 #define __eglplatform_h_ |
3 | 3 |
4 /* | 4 /* |
5 ** Copyright (c) 2007-2009 The Khronos Group Inc. | 5 ** Copyright (c) 2007-2009 The Khronos Group Inc. |
6 ** | 6 ** |
7 ** Permission is hereby granted, free of charge, to any person obtaining a | 7 ** Permission is hereby granted, free of charge, to any person obtaining a |
8 ** copy of this software and/or associated documentation files (the | 8 ** copy of this software and/or associated documentation files (the |
9 ** "Materials"), to deal in the Materials without restriction, including | 9 ** "Materials"), to deal in the Materials without restriction, including |
10 ** without limitation the rights to use, copy, modify, merge, publish, | 10 ** without limitation the rights to use, copy, modify, merge, publish, |
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
87 | 87 |
88 /* X11 (tentative) */ | 88 /* X11 (tentative) */ |
89 #include <X11/Xlib.h> | 89 #include <X11/Xlib.h> |
90 #include <X11/Xutil.h> | 90 #include <X11/Xutil.h> |
91 | 91 |
92 typedef Display *EGLNativeDisplayType; | 92 typedef Display *EGLNativeDisplayType; |
93 typedef Pixmap EGLNativePixmapType; | 93 typedef Pixmap EGLNativePixmapType; |
94 typedef Window EGLNativeWindowType; | 94 typedef Window EGLNativeWindowType; |
95 | 95 |
96 #elif defined(__APPLE__) | 96 #elif defined(__APPLE__) |
| 97 #ifdef __OBJC__ |
| 98 @class NSView; |
| 99 #else |
| 100 struct NSView; |
| 101 #endif // __OBJC__ |
97 | 102 |
98 // TODO(gman): these are place holders. | 103 // TODO(gman): these are place holders. |
99 typedef void *EGLNativeDisplayType; | 104 typedef void *EGLNativeDisplayType; |
100 typedef int EGLNativePixmapType; | 105 typedef int EGLNativePixmapType; |
101 typedef int EGLNativeWindowType; | 106 typedef struct NSView *EGLNativeWindowType; |
102 | 107 |
103 #else | 108 #else |
104 #error "Platform not recognized" | 109 #error "Platform not recognized" |
105 #endif | 110 #endif |
106 | 111 |
107 /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | 112 /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ |
108 typedef EGLNativeDisplayType NativeDisplayType; | 113 typedef EGLNativeDisplayType NativeDisplayType; |
109 typedef EGLNativePixmapType NativePixmapType; | 114 typedef EGLNativePixmapType NativePixmapType; |
110 typedef EGLNativeWindowType NativeWindowType; | 115 typedef EGLNativeWindowType NativeWindowType; |
111 | 116 |
112 | 117 |
113 /* Define EGLint. This must be a signed integral type large enough to contain | 118 /* Define EGLint. This must be a signed integral type large enough to contain |
114 * all legal attribute names and values passed into and out of EGL, whether | 119 * all legal attribute names and values passed into and out of EGL, whether |
115 * their type is boolean, bitmask, enumerant (symbolic constant), integer, | 120 * their type is boolean, bitmask, enumerant (symbolic constant), integer, |
116 * handle, or other. While in general a 32-bit integer will suffice, if | 121 * handle, or other. While in general a 32-bit integer will suffice, if |
117 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit | 122 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit |
118 * integer type. | 123 * integer type. |
119 */ | 124 */ |
120 typedef khronos_int32_t EGLint; | 125 typedef khronos_int32_t EGLint; |
121 | 126 |
122 #endif /* __eglplatform_h */ | 127 #endif /* __eglplatform_h */ |
OLD | NEW |