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 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
117 /* X11 (tentative) */ | 117 /* X11 (tentative) */ |
118 #include <X11/Xlib.h> | 118 #include <X11/Xlib.h> |
119 #include <X11/Xutil.h> | 119 #include <X11/Xutil.h> |
120 | 120 |
121 typedef Display *EGLNativeDisplayType; | 121 typedef Display *EGLNativeDisplayType; |
122 typedef Pixmap EGLNativePixmapType; | 122 typedef Pixmap EGLNativePixmapType; |
123 typedef Window EGLNativeWindowType; | 123 typedef Window EGLNativeWindowType; |
124 | 124 |
125 #endif /* MESA_EGL_NO_X11_HEADERS */ | 125 #endif /* MESA_EGL_NO_X11_HEADERS */ |
126 | 126 |
| 127 #elif defined(__APPLE__) |
| 128 |
| 129 // TODO(gman): these are place holders. |
| 130 typedef void *EGLNativeDisplayType; |
| 131 typedef int EGLNativePixmapType; |
| 132 #ifdef __OBJC__ |
| 133 @class NSView; |
| 134 typedef NSView *EGLNativeWindowType; |
| 135 #else |
| 136 struct NSView; |
| 137 typedef struct NSView *EGLNativeWindowType; |
| 138 #endif // __OBJC__ |
| 139 |
127 #else | 140 #else |
128 #error "Platform not recognized" | 141 #error "Platform not recognized" |
129 #endif | 142 #endif |
130 | 143 |
131 /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ | 144 /* EGL 1.2 types, renamed for consistency in EGL 1.3 */ |
132 typedef EGLNativeDisplayType NativeDisplayType; | 145 typedef EGLNativeDisplayType NativeDisplayType; |
133 typedef EGLNativePixmapType NativePixmapType; | 146 typedef EGLNativePixmapType NativePixmapType; |
134 typedef EGLNativeWindowType NativeWindowType; | 147 typedef EGLNativeWindowType NativeWindowType; |
135 | 148 |
136 | 149 |
137 /* Define EGLint. This must be a signed integral type large enough to contain | 150 /* Define EGLint. This must be a signed integral type large enough to contain |
138 * all legal attribute names and values passed into and out of EGL, whether | 151 * all legal attribute names and values passed into and out of EGL, whether |
139 * their type is boolean, bitmask, enumerant (symbolic constant), integer, | 152 * their type is boolean, bitmask, enumerant (symbolic constant), integer, |
140 * handle, or other. While in general a 32-bit integer will suffice, if | 153 * handle, or other. While in general a 32-bit integer will suffice, if |
141 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit | 154 * handles are 64 bit types, then EGLint should be defined as a signed 64-bit |
142 * integer type. | 155 * integer type. |
143 */ | 156 */ |
144 typedef khronos_int32_t EGLint; | 157 typedef khronos_int32_t EGLint; |
145 | 158 |
146 #endif /* __eglplatform_h */ | 159 #endif /* __eglplatform_h */ |
OLD | NEW |