summaryrefslogtreecommitdiffstats
path: root/src/glut/beos/glutGet.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/beos/glutGet.cpp')
-rw-r--r--src/glut/beos/glutGet.cpp211
1 files changed, 0 insertions, 211 deletions
diff --git a/src/glut/beos/glutGet.cpp b/src/glut/beos/glutGet.cpp
deleted file mode 100644
index 04a8479..0000000
--- a/src/glut/beos/glutGet.cpp
+++ /dev/null
@@ -1,211 +0,0 @@
-/***********************************************************
- * Copyright (C) 1997, Be Inc. Copyright (C) 1999, Jake Hamby.
- *
- * 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.
- *
- *
- * FILE: glutGet.cpp
- *
- * DESCRIPTION: get state information from GL
- ***********************************************************/
-
-/***********************************************************
- * Headers
- ***********************************************************/
-#include <GL/glut.h>
-#include <string.h>
-#include <Autolock.h>
-#include <Screen.h>
-
-#include "glutint.h"
-#include "glutState.h"
-
-/***********************************************************
- * Global variables
- ***********************************************************/
-// rough guess, since we don't know how big the monitor really is
-const float dots_per_mm = (72/25.4); // dots per millimeter
-
-/***********************************************************
- * FUNCTION: glutGet (9.1)
- *
- * DESCRIPTION: retrieve window and GL state
- ***********************************************************/
-int glutGet(GLenum state) {
- switch(state) {
- case GLUT_WINDOW_X:
- {BAutolock winlock(gState.currentWindow->Window()); // need to lock the window
- if (gState.currentWindow->parent)
- return (int)gState.currentWindow->Frame().left;
- else
- return (int)gState.currentWindow->Window()->Frame().left;
- }
- case GLUT_WINDOW_Y:
- {BAutolock winlock(gState.currentWindow->Window());
- if (gState.currentWindow->parent)
- return (int)gState.currentWindow->Frame().top;
- else
- return (int)gState.currentWindow->Window()->Frame().top;
- }
- case GLUT_WINDOW_WIDTH:
- {BAutolock winlock(gState.currentWindow->Window());
- return gState.currentWindow->m_width;
- }
- case GLUT_WINDOW_HEIGHT:
- {BAutolock winlock(gState.currentWindow->Window());
- return gState.currentWindow->m_height;
- }
- case GLUT_WINDOW_PARENT:
- {BAutolock winlock(gState.currentWindow->Window());
- if(gState.currentWindow->parent)
- return gState.currentWindow->parent->num + 1;
- else
- return 0;
- }
- case GLUT_WINDOW_NUM_CHILDREN:
- {BAutolock winlock(gState.currentWindow->Window());
- int num = 0;
- GlutWindow *children = gState.currentWindow->children;
- while (children) {
- num++;
- children = children->siblings;
- }
- return num;
- }
- case GLUT_WINDOW_BUFFER_SIZE: // best guesses
- case GLUT_WINDOW_DEPTH_SIZE:
- return 32;
-
- case GLUT_WINDOW_STENCIL_SIZE:
- case GLUT_WINDOW_RED_SIZE: // always 24-bit color
- case GLUT_WINDOW_GREEN_SIZE:
- case GLUT_WINDOW_BLUE_SIZE:
- case GLUT_WINDOW_ALPHA_SIZE:
- case GLUT_WINDOW_ACCUM_RED_SIZE:
- case GLUT_WINDOW_ACCUM_GREEN_SIZE:
- case GLUT_WINDOW_ACCUM_BLUE_SIZE:
- case GLUT_WINDOW_ACCUM_ALPHA_SIZE:
- return 8;
-
- case GLUT_WINDOW_DOUBLEBUFFER: // always double-buffered RGBA
- case GLUT_WINDOW_RGBA:
- return 1;
-
- case GLUT_WINDOW_COLORMAP_SIZE: // don't support these
- case GLUT_WINDOW_NUM_SAMPLES:
- case GLUT_WINDOW_STEREO:
- return 0;
-
- case GLUT_WINDOW_CURSOR:
- return gState.currentWindow->cursor; // don't need to lock window since it won't change
-
- case GLUT_SCREEN_WIDTH:
- return (int)(BScreen().Frame().Width()) + 1;
- case GLUT_SCREEN_HEIGHT:
- return (int)(BScreen().Frame().Height()) + 1;
- case GLUT_SCREEN_WIDTH_MM:
- return (int)((BScreen().Frame().Width() + 1) / dots_per_mm);
- case GLUT_SCREEN_HEIGHT_MM:
- return (int)((BScreen().Frame().Height() + 1) / dots_per_mm);
- case GLUT_MENU_NUM_ITEMS:
- return gState.currentMenu->num;
- case GLUT_DISPLAY_MODE_POSSIBLE:
- return __glutConvertDisplayMode(0); // returns 1 if possible
- case GLUT_INIT_DISPLAY_MODE:
- return gState.displayMode;
- case GLUT_INIT_WINDOW_X:
- return gState.initX;
- case GLUT_INIT_WINDOW_Y:
- return gState.initY;
- case GLUT_INIT_WINDOW_WIDTH:
- return gState.initWidth;
- case GLUT_INIT_WINDOW_HEIGHT:
- return gState.initHeight;
- case GLUT_ELAPSED_TIME:
- bigtime_t elapsed, beginning, now;
- __glutInitTime(&beginning);
- now = system_time();
- elapsed = now - beginning;
- return (int) (elapsed / 1000); // 1000 ticks in a millisecond
- default:
- __glutWarning("invalid glutGet parameter: %d", state);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutLayerGet (9.2)
- *
- * DESCRIPTION: since we don't support layers, this is easy
- ***********************************************************/
-int glutLayerGet(GLenum info) {
- switch(info) {
- case GLUT_OVERLAY_POSSIBLE:
- case GLUT_HAS_OVERLAY:
- return 0;
- case GLUT_LAYER_IN_USE:
- return GLUT_NORMAL;
- case GLUT_TRANSPARENT_INDEX:
- return -1;
- case GLUT_NORMAL_DAMAGED:
- return gState.currentWindow->displayEvent;
- case GLUT_OVERLAY_DAMAGED:
- return -1;
- default:
- __glutWarning("invalid glutLayerGet param: %d", info);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutDeviceGet (9.3)
- *
- * DESCRIPTION: get info about I/O devices we support
- * easy, since BeOS only supports a keyboard and mouse now
- ***********************************************************/
-int glutDeviceGet(GLenum info) {
- switch(info) {
- case GLUT_HAS_KEYBOARD:
- case GLUT_HAS_MOUSE:
- return 1;
-
- case GLUT_HAS_SPACEBALL:
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- case GLUT_HAS_TABLET:
- case GLUT_NUM_SPACEBALL_BUTTONS:
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- case GLUT_NUM_DIALS:
- case GLUT_NUM_TABLET_BUTTONS:
- return 0;
-
- case GLUT_NUM_MOUSE_BUTTONS:
- {
- int32 mouseButtons = 3; // good guess
- if(get_mouse_type(&mouseButtons) != B_OK) {
- __glutWarning("error getting number of mouse buttons");
- }
- return mouseButtons;
- }
-
- default:
- __glutWarning("invalid glutDeviceGet parameter: %d", info);
- return -1;
- }
-}
-
-/***********************************************************
- * FUNCTION: glutGetModifiers (9.4)
- *
- * DESCRIPTION: get the modifier key state for the current window
- ***********************************************************/
-int glutGetModifiers() {
- if(gState.modifierKeys == (int) ~0) {
- __glutWarning(
- "glutCurrentModifiers: do not call outside core input callback.");
- return 0;
- }
- return gState.modifierKeys;
-}
-