Mercurial > hgrepos > Python2 > PyMuPDF
comparison mupdf-source/thirdparty/freeglut/src/fg_ext.c @ 2:b50eed0cc0ef upstream
ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4.
The directory name has changed: no version number in the expanded directory now.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Mon, 15 Sep 2025 11:43:07 +0200 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 1:1d09e1dec1d9 | 2:b50eed0cc0ef |
|---|---|
| 1 /* | |
| 2 * fg_ext.c | |
| 3 * | |
| 4 * Functions related to OpenGL extensions. | |
| 5 * | |
| 6 * Copyright (c) 1999-2000 Pawel W. Olszta. All Rights Reserved. | |
| 7 * Written by Pawel W. Olszta, <olszta@sourceforge.net> | |
| 8 * Creation date: Thu Dec 9 1999 | |
| 9 * | |
| 10 * Permission is hereby granted, free of charge, to any person obtaining a | |
| 11 * copy of this software and associated documentation files (the "Software"), | |
| 12 * to deal in the Software without restriction, including without limitation | |
| 13 * the rights to use, copy, modify, merge, publish, distribute, sublicense, | |
| 14 * and/or sell copies of the Software, and to permit persons to whom the | |
| 15 * Software is furnished to do so, subject to the following conditions: | |
| 16 * | |
| 17 * The above copyright notice and this permission notice shall be included | |
| 18 * in all copies or substantial portions of the Software. | |
| 19 * | |
| 20 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | |
| 21 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | |
| 22 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | |
| 23 * PAWEL W. OLSZTA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER | |
| 24 * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | |
| 25 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | |
| 26 */ | |
| 27 | |
| 28 #define GLX_GLXEXT_PROTOTYPES | |
| 29 #include <GL/freeglut.h> | |
| 30 #include "fg_internal.h" | |
| 31 | |
| 32 extern SFG_Proc fgPlatformGetProcAddress( const char *procName ); | |
| 33 extern GLUTproc fgPlatformGetGLUTProcAddress( const char *procName ); | |
| 34 | |
| 35 static GLUTproc fghGetGLUTProcAddress( const char* procName ) | |
| 36 { | |
| 37 /* optimization: quick initial check */ | |
| 38 if( strncmp( procName, "glut", 4 ) != 0 ) | |
| 39 return NULL; | |
| 40 | |
| 41 #define CHECK_NAME(x) if( strcmp( procName, #x ) == 0) return (GLUTproc)x; | |
| 42 CHECK_NAME(glutInit); | |
| 43 CHECK_NAME(glutInitDisplayMode); | |
| 44 CHECK_NAME(glutInitDisplayString); | |
| 45 CHECK_NAME(glutInitWindowPosition); | |
| 46 CHECK_NAME(glutInitWindowSize); | |
| 47 CHECK_NAME(glutMainLoop); | |
| 48 CHECK_NAME(glutExit); | |
| 49 CHECK_NAME(glutCreateWindow); | |
| 50 CHECK_NAME(glutCreateSubWindow); | |
| 51 CHECK_NAME(glutDestroyWindow); | |
| 52 CHECK_NAME(glutPostRedisplay); | |
| 53 CHECK_NAME(glutPostWindowRedisplay); | |
| 54 CHECK_NAME(glutSwapBuffers); | |
| 55 CHECK_NAME(glutGetWindow); | |
| 56 CHECK_NAME(glutSetWindow); | |
| 57 CHECK_NAME(glutSetWindowTitle); | |
| 58 CHECK_NAME(glutSetIconTitle); | |
| 59 CHECK_NAME(glutPositionWindow); | |
| 60 CHECK_NAME(glutReshapeWindow); | |
| 61 CHECK_NAME(glutPopWindow); | |
| 62 CHECK_NAME(glutPushWindow); | |
| 63 CHECK_NAME(glutIconifyWindow); | |
| 64 CHECK_NAME(glutShowWindow); | |
| 65 CHECK_NAME(glutHideWindow); | |
| 66 CHECK_NAME(glutFullScreen); | |
| 67 CHECK_NAME(glutSetCursor); | |
| 68 CHECK_NAME(glutWarpPointer); | |
| 69 CHECK_NAME(glutEstablishOverlay); | |
| 70 CHECK_NAME(glutRemoveOverlay); | |
| 71 CHECK_NAME(glutUseLayer); | |
| 72 CHECK_NAME(glutPostOverlayRedisplay); | |
| 73 CHECK_NAME(glutPostWindowOverlayRedisplay); | |
| 74 CHECK_NAME(glutShowOverlay); | |
| 75 CHECK_NAME(glutHideOverlay); | |
| 76 CHECK_NAME(glutCreateMenu); | |
| 77 CHECK_NAME(glutDestroyMenu); | |
| 78 CHECK_NAME(glutGetMenu); | |
| 79 CHECK_NAME(glutSetMenu); | |
| 80 CHECK_NAME(glutAddMenuEntry); | |
| 81 CHECK_NAME(glutAddSubMenu); | |
| 82 CHECK_NAME(glutChangeToMenuEntry); | |
| 83 CHECK_NAME(glutChangeToSubMenu); | |
| 84 CHECK_NAME(glutRemoveMenuItem); | |
| 85 CHECK_NAME(glutAttachMenu); | |
| 86 CHECK_NAME(glutDetachMenu); | |
| 87 CHECK_NAME(glutDisplayFunc); | |
| 88 CHECK_NAME(glutReshapeFunc); | |
| 89 CHECK_NAME(glutPositionFunc); | |
| 90 CHECK_NAME(glutKeyboardFunc); | |
| 91 CHECK_NAME(glutMouseFunc); | |
| 92 CHECK_NAME(glutMultiEntryFunc); | |
| 93 CHECK_NAME(glutMultiMotionFunc); | |
| 94 CHECK_NAME(glutMultiButtonFunc); | |
| 95 CHECK_NAME(glutMultiPassiveFunc); | |
| 96 CHECK_NAME(glutMotionFunc); | |
| 97 CHECK_NAME(glutPassiveMotionFunc); | |
| 98 CHECK_NAME(glutEntryFunc); | |
| 99 CHECK_NAME(glutVisibilityFunc); | |
| 100 CHECK_NAME(glutIdleFunc); | |
| 101 CHECK_NAME(glutTimerFunc); | |
| 102 CHECK_NAME(glutMenuStateFunc); | |
| 103 CHECK_NAME(glutSpecialFunc); | |
| 104 CHECK_NAME(glutSpaceballMotionFunc); | |
| 105 CHECK_NAME(glutSpaceballRotateFunc); | |
| 106 CHECK_NAME(glutSpaceballButtonFunc); | |
| 107 CHECK_NAME(glutButtonBoxFunc); | |
| 108 CHECK_NAME(glutDialsFunc); | |
| 109 CHECK_NAME(glutTabletMotionFunc); | |
| 110 CHECK_NAME(glutTabletButtonFunc); | |
| 111 CHECK_NAME(glutMenuStatusFunc); | |
| 112 CHECK_NAME(glutOverlayDisplayFunc); | |
| 113 CHECK_NAME(glutWindowStatusFunc); | |
| 114 CHECK_NAME(glutKeyboardDownFunc); | |
| 115 CHECK_NAME(glutKeyboardUpFunc); | |
| 116 CHECK_NAME(glutSpecialUpFunc); | |
| 117 CHECK_NAME(glutSetColor); | |
| 118 CHECK_NAME(glutGetColor); | |
| 119 CHECK_NAME(glutCopyColormap); | |
| 120 CHECK_NAME(glutGet); | |
| 121 CHECK_NAME(glutDeviceGet); | |
| 122 CHECK_NAME(glutExtensionSupported); | |
| 123 CHECK_NAME(glutGetModifiers); | |
| 124 CHECK_NAME(glutLayerGet); | |
| 125 CHECK_NAME(glutBitmapCharacter); | |
| 126 CHECK_NAME(glutBitmapWidth); | |
| 127 CHECK_NAME(glutStrokeCharacter); | |
| 128 CHECK_NAME(glutStrokeWidth); | |
| 129 CHECK_NAME(glutStrokeWidthf); | |
| 130 CHECK_NAME(glutBitmapLength); | |
| 131 CHECK_NAME(glutStrokeLength); | |
| 132 CHECK_NAME(glutStrokeLengthf); | |
| 133 CHECK_NAME(glutWireSphere); | |
| 134 CHECK_NAME(glutSolidSphere); | |
| 135 CHECK_NAME(glutWireCone); | |
| 136 CHECK_NAME(glutSolidCone); | |
| 137 CHECK_NAME(glutWireTorus); | |
| 138 CHECK_NAME(glutSolidTorus); | |
| 139 CHECK_NAME(glutWireCylinder); | |
| 140 CHECK_NAME(glutSolidCylinder); | |
| 141 CHECK_NAME(glutWireTeapot); | |
| 142 CHECK_NAME(glutSolidTeapot); | |
| 143 CHECK_NAME(glutWireTeacup); | |
| 144 CHECK_NAME(glutSolidTeacup); | |
| 145 CHECK_NAME(glutWireTeaspoon); | |
| 146 CHECK_NAME(glutSolidTeaspoon); | |
| 147 CHECK_NAME(glutWireCube); | |
| 148 CHECK_NAME(glutSolidCube); | |
| 149 CHECK_NAME(glutWireDodecahedron); | |
| 150 CHECK_NAME(glutSolidDodecahedron); | |
| 151 CHECK_NAME(glutWireOctahedron); | |
| 152 CHECK_NAME(glutSolidOctahedron); | |
| 153 CHECK_NAME(glutWireTetrahedron); | |
| 154 CHECK_NAME(glutSolidTetrahedron); | |
| 155 CHECK_NAME(glutWireIcosahedron); | |
| 156 CHECK_NAME(glutSolidIcosahedron); | |
| 157 CHECK_NAME(glutWireRhombicDodecahedron); | |
| 158 CHECK_NAME(glutSolidRhombicDodecahedron); | |
| 159 CHECK_NAME(glutWireSierpinskiSponge); | |
| 160 CHECK_NAME(glutSolidSierpinskiSponge); | |
| 161 CHECK_NAME(glutVideoResizeGet); | |
| 162 CHECK_NAME(glutSetupVideoResizing); | |
| 163 CHECK_NAME(glutStopVideoResizing); | |
| 164 CHECK_NAME(glutVideoResize); | |
| 165 CHECK_NAME(glutVideoPan); | |
| 166 CHECK_NAME(glutReportErrors); | |
| 167 CHECK_NAME(glutIgnoreKeyRepeat); | |
| 168 CHECK_NAME(glutSetKeyRepeat); | |
| 169 | |
| 170 /* freeglut extensions */ | |
| 171 CHECK_NAME(glutMainLoopEvent); | |
| 172 CHECK_NAME(glutLeaveMainLoop); | |
| 173 CHECK_NAME(glutCloseFunc); | |
| 174 CHECK_NAME(glutWMCloseFunc); | |
| 175 CHECK_NAME(glutMenuDestroyFunc); | |
| 176 CHECK_NAME(glutFullScreenToggle); | |
| 177 CHECK_NAME(glutLeaveFullScreen); | |
| 178 CHECK_NAME(glutSetMenuFont); | |
| 179 CHECK_NAME(glutSetOption); | |
| 180 CHECK_NAME(glutGetModeValues); | |
| 181 CHECK_NAME(glutSetWindowData); | |
| 182 CHECK_NAME(glutGetWindowData); | |
| 183 CHECK_NAME(glutSetMenuData); | |
| 184 CHECK_NAME(glutGetMenuData); | |
| 185 CHECK_NAME(glutBitmapHeight); | |
| 186 CHECK_NAME(glutStrokeHeight); | |
| 187 CHECK_NAME(glutBitmapString); | |
| 188 CHECK_NAME(glutStrokeString); | |
| 189 CHECK_NAME(glutGetProcAddress); | |
| 190 CHECK_NAME(glutKeyboardExtFunc); | |
| 191 CHECK_NAME(glutMouseWheelFunc); | |
| 192 CHECK_NAME(glutGetClipboard); | |
| 193 CHECK_NAME(glutSetClipboard); | |
| 194 CHECK_NAME(glutJoystickGetNumAxes); | |
| 195 CHECK_NAME(glutJoystickGetNumButtons); | |
| 196 CHECK_NAME(glutJoystickNotWorking); | |
| 197 CHECK_NAME(glutJoystickGetDeadBand); | |
| 198 CHECK_NAME(glutJoystickSetDeadBand); | |
| 199 CHECK_NAME(glutJoystickGetSaturation); | |
| 200 CHECK_NAME(glutJoystickSetSaturation); | |
| 201 CHECK_NAME(glutJoystickSetMinRange); | |
| 202 CHECK_NAME(glutJoystickSetMaxRange); | |
| 203 CHECK_NAME(glutJoystickSetCenter); | |
| 204 CHECK_NAME(glutJoystickGetMinRange); | |
| 205 CHECK_NAME(glutJoystickGetMaxRange); | |
| 206 CHECK_NAME(glutJoystickGetCenter); | |
| 207 CHECK_NAME(glutInitContextVersion); | |
| 208 CHECK_NAME(glutInitContextFlags); | |
| 209 CHECK_NAME(glutInitContextProfile); | |
| 210 CHECK_NAME(glutInitErrorFunc); | |
| 211 CHECK_NAME(glutInitWarningFunc); | |
| 212 CHECK_NAME(glutInitContextFunc); | |
| 213 CHECK_NAME(glutAppStatusFunc); | |
| 214 CHECK_NAME(glutSetVertexAttribCoord3); | |
| 215 CHECK_NAME(glutSetVertexAttribNormal); | |
| 216 CHECK_NAME(glutSetVertexAttribTexCoord2); | |
| 217 #undef CHECK_NAME | |
| 218 | |
| 219 return NULL; | |
| 220 } | |
| 221 | |
| 222 | |
| 223 | |
| 224 GLUTproc FGAPIENTRY | |
| 225 glutGetProcAddress( const char *procName ) | |
| 226 { | |
| 227 GLUTproc p; | |
| 228 FREEGLUT_EXIT_IF_NOT_INITIALISED ( "glutGetProcAddress" ); | |
| 229 | |
| 230 /* Try GLUT functions first, then core GL functions */ | |
| 231 p = fghGetGLUTProcAddress( procName ); | |
| 232 | |
| 233 /* Some GLUT functions are platform-specific: */ | |
| 234 if ( !p ) | |
| 235 p = fgPlatformGetGLUTProcAddress( procName ); | |
| 236 | |
| 237 return ( p != NULL ) ? p : fgPlatformGetProcAddress( procName ); | |
| 238 } |
