diff options
Diffstat (limited to 'src/glut/glx/glut_get.c')
-rw-r--r-- | src/glut/glx/glut_get.c | 220 |
1 files changed, 0 insertions, 220 deletions
diff --git a/src/glut/glx/glut_get.c b/src/glut/glx/glut_get.c deleted file mode 100644 index 9c1ca6c..0000000 --- a/src/glut/glx/glut_get.c +++ /dev/null @@ -1,220 +0,0 @@ - -/* Copyright (c) Mark J. Kilgard, 1994, 1997, 1998. */ - -/* This program is freely distributable without licensing fees - and is provided without guarantee or warrantee expressed or - implied. This program is -not- in the public domain. */ - -#include <assert.h> -#include <stdlib.h> /* SunOS 4 needs NULL defined for GETTIMEOFDAY macro. */ -#include "glutint.h" - -/* CENTRY */ -int GLUTAPIENTRY -glutGet(GLenum param) -{ - Window win, root; - int x, y, value; - unsigned int width, height, border, depth; - - switch (param) { - case GLUT_INIT_WINDOW_X: - return __glutInitX; - case GLUT_INIT_WINDOW_Y: - return __glutInitY; - case GLUT_INIT_WINDOW_WIDTH: - return __glutInitWidth; - case GLUT_INIT_WINDOW_HEIGHT: - return __glutInitHeight; - case GLUT_INIT_DISPLAY_MODE: - return __glutDisplayMode; - case GLUT_WINDOW_X: - XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win, - __glutRoot, 0, 0, &x, &y, &win); - return x; - case GLUT_WINDOW_Y: - XTranslateCoordinates(__glutDisplay, __glutCurrentWindow->win, - __glutRoot, 0, 0, &x, &y, &win); - return y; - case GLUT_WINDOW_WIDTH: - if (!__glutCurrentWindow->reshape) { - XGetGeometry(__glutDisplay, __glutCurrentWindow->win, - &root, &x, &y, - &width, &height, &border, &depth); - return width; - } - return __glutCurrentWindow->width; - case GLUT_WINDOW_HEIGHT: - if (!__glutCurrentWindow->reshape) { - XGetGeometry(__glutDisplay, __glutCurrentWindow->win, - &root, &x, &y, - &width, &height, &border, &depth); - return height; - } - return __glutCurrentWindow->height; - -#define GET_CONFIG(attrib) { \ - if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { \ - glXGetConfig(__glutDisplay, __glutCurrentWindow->vis, \ - attrib, &value); \ - } else { \ - glXGetConfig(__glutDisplay, __glutCurrentWindow->overlay->vis, \ - attrib, &value); \ - } \ -} - - case GLUT_WINDOW_BUFFER_SIZE: - GET_CONFIG(GLX_BUFFER_SIZE); - return value; - case GLUT_WINDOW_STENCIL_SIZE: - GET_CONFIG(GLX_STENCIL_SIZE); - return value; - case GLUT_WINDOW_DEPTH_SIZE: - GET_CONFIG(GLX_DEPTH_SIZE); - return value; - case GLUT_WINDOW_RED_SIZE: - GET_CONFIG(GLX_RED_SIZE); - return value; - case GLUT_WINDOW_GREEN_SIZE: - GET_CONFIG(GLX_GREEN_SIZE); - return value; - case GLUT_WINDOW_BLUE_SIZE: - GET_CONFIG(GLX_BLUE_SIZE); - return value; - case GLUT_WINDOW_ALPHA_SIZE: - GET_CONFIG(GLX_ALPHA_SIZE); - return value; - case GLUT_WINDOW_ACCUM_RED_SIZE: - GET_CONFIG(GLX_ACCUM_RED_SIZE); - return value; - case GLUT_WINDOW_ACCUM_GREEN_SIZE: - GET_CONFIG(GLX_ACCUM_GREEN_SIZE); - return value; - case GLUT_WINDOW_ACCUM_BLUE_SIZE: - GET_CONFIG(GLX_ACCUM_BLUE_SIZE); - return value; - case GLUT_WINDOW_ACCUM_ALPHA_SIZE: - GET_CONFIG(GLX_ACCUM_ALPHA_SIZE); - return value; - case GLUT_WINDOW_DOUBLEBUFFER: - GET_CONFIG(GLX_DOUBLEBUFFER); - return value; - case GLUT_WINDOW_RGBA: - GET_CONFIG(GLX_RGBA); - return value; - case GLUT_WINDOW_COLORMAP_SIZE: - GET_CONFIG(GLX_RGBA); - if (value) { - return 0; - } else { -#if defined(_WIN32) - /* KLUDGE: we always assume 256 colors in CI mode on - Win32 */ - return 256; -#else - if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { - return __glutCurrentWindow->vis->visual->map_entries; - } else { - return __glutCurrentWindow->overlay->vis->visual->map_entries; - } -#endif /* _WIN32 */ - } - case GLUT_WINDOW_PARENT: - return __glutCurrentWindow->parent ? - __glutCurrentWindow->parent->num + 1 : 0; - case GLUT_WINDOW_NUM_CHILDREN: - { - int num = 0; - GLUTwindow *children = __glutCurrentWindow->children; - - while (children) { - num++; - children = children->siblings; - } - return num; - } - case GLUT_WINDOW_NUM_SAMPLES: -#if defined(GLX_VERSION_1_1) && defined(GLX_SGIS_multisample) - if (__glutIsSupportedByGLX("GLX_SGIS_multisample")) { - GET_CONFIG(GLX_SAMPLES_SGIS); - return value; - } else { - return 0; - } -#else - /* Independent of GLX server support, multisampling not - supported by GLX client-side. */ - return 0; -#endif - case GLUT_WINDOW_STEREO: - GET_CONFIG(GLX_STEREO); - return value; - case GLUT_WINDOW_CURSOR: - return __glutCurrentWindow->cursor; - case GLUT_SCREEN_WIDTH: - return DisplayWidth(__glutDisplay, __glutScreen); - case GLUT_SCREEN_HEIGHT: - return DisplayHeight(__glutDisplay, __glutScreen); - case GLUT_SCREEN_WIDTH_MM: - return DisplayWidthMM(__glutDisplay, __glutScreen); - case GLUT_SCREEN_HEIGHT_MM: - return DisplayHeightMM(__glutDisplay, __glutScreen); - case GLUT_MENU_NUM_ITEMS: - return __glutCurrentMenu->num; - case GLUT_DISPLAY_MODE_POSSIBLE: - { - XVisualInfo *vi; - Bool dummy, visAlloced; - void *fbc; - -#if defined(_WIN32) - /* Our fake glXChooseVisual (which is called by - __glutDetermineVisual) needs an HDC to work with, so grab one - from the "root" window. */ - XHDC = GetDC(GetDesktopWindow()); -#endif - vi = __glutDetermineWindowVisual(&dummy, &visAlloced, &fbc); -#if defined(_WIN32) - ReleaseDC(GetDesktopWindow(), XHDC); -#endif - if (vi) { - if (visAlloced) - XFree(vi); - return 1; - } - return 0; - } - case GLUT_ELAPSED_TIME: - { -#ifdef OLD_VMS - struct timeval6 elapsed, beginning, now; -#else - struct timeval elapsed, beginning, now; -#endif - - __glutInitTime(&beginning); - GETTIMEOFDAY(&now); - TIMEDELTA(elapsed, now, beginning); - /* Return elapsed milliseconds. */ -#if defined(__vms) && ( __VMS_VER < 70000000 ) - return (int) (elapsed.val / TICKS_PER_MILLISECOND); -#else - return (int) ((elapsed.tv_sec * 1000) + (elapsed.tv_usec / 1000)); -#endif - } - case GLUT_WINDOW_FORMAT_ID: -#if defined(_WIN32) - return GetPixelFormat(__glutCurrentWindow->hdc); -#else - if (__glutCurrentWindow->renderWin == __glutCurrentWindow->win) { - return (int) __glutCurrentWindow->vis->visualid; - } else { - return (int) __glutCurrentWindow->overlay->vis->visualid; - } -#endif - default: - __glutWarning("invalid glutGet parameter: %d", param); - return -1; - } -} -/* ENDCENTRY */ |