summaryrefslogtreecommitdiff
path: root/src/glut/dos/state.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/glut/dos/state.c')
-rw-r--r--src/glut/dos/state.c238
1 files changed, 0 insertions, 238 deletions
diff --git a/src/glut/dos/state.c b/src/glut/dos/state.c
deleted file mode 100644
index b0d5d8a..0000000
--- a/src/glut/dos/state.c
+++ /dev/null
@@ -1,238 +0,0 @@
-/*
- * DOS/DJGPP Mesa Utility Toolkit
- * Version: 1.0
- *
- * Copyright (C) 2005 Daniel Borca All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * DANIEL BORCA BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
- * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-
-#include <stdio.h>
-
-#include "internal.h"
-
-
-#define FREQUENCY 100 /* set this to zero to use the default timer */
-
-
-static int timer_installed;
-#if FREQUENCY
-static volatile int ticks;
-
-
-static void
-ticks_timer (void *p)
-{
- (void)p;
- ticks++;
-} ENDOFUNC(ticks_timer)
-#else
-#include <time.h>
-
-static struct timeval then;
-#endif
-
-
-int APIENTRY
-glutGet (GLenum type)
-{
- switch (type) {
- case GLUT_WINDOW_X:
- return _glut_current->xpos;
- case GLUT_WINDOW_Y:
- return _glut_current->ypos;
- case GLUT_WINDOW_WIDTH:
- return _glut_current->width;
- case GLUT_WINDOW_HEIGHT:
- return _glut_current->height;
- case GLUT_WINDOW_STENCIL_SIZE:
- return _glut_visual.stencil;
- case GLUT_WINDOW_DEPTH_SIZE:
- return _glut_visual.depth;
- case GLUT_WINDOW_RGBA:
- return !(_glut_default.mode & GLUT_INDEX);
- case GLUT_WINDOW_COLORMAP_SIZE:
- return (_glut_default.mode & GLUT_INDEX) ? (256 - RESERVED_COLORS) : 0;
- case GLUT_SCREEN_WIDTH:
- return _glut_visual.geometry[0];
- case GLUT_SCREEN_HEIGHT:
- return _glut_visual.geometry[1];
- case GLUT_INIT_WINDOW_X:
- return _glut_default.x;
- case GLUT_INIT_WINDOW_Y:
- return _glut_default.y;
- case GLUT_INIT_WINDOW_WIDTH:
- return _glut_default.width;
- case GLUT_INIT_WINDOW_HEIGHT:
- return _glut_default.height;
- case GLUT_INIT_DISPLAY_MODE:
- return _glut_default.mode;
- case GLUT_ELAPSED_TIME:
-#if FREQUENCY
- if (!timer_installed) {
- timer_installed = GL_TRUE;
- LOCKDATA(ticks);
- LOCKFUNC(ticks_timer);
- pc_install_int(ticks_timer, NULL, FREQUENCY);
- }
- return ticks * 1000 / FREQUENCY;
-#else
- if (!timer_installed) {
- timer_installed = GL_TRUE;
- gettimeofday(&then, NULL);
- return 0;
- } else {
- struct timeval now;
- gettimeofday(&now, NULL);
- return (now.tv_usec - then.tv_usec) / 1000 +
- (now.tv_sec - then.tv_sec) * 1000;
- }
-#endif
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutDeviceGet (GLenum type)
-{
- switch (type) {
- case GLUT_HAS_KEYBOARD:
- return GL_TRUE;
- case GLUT_HAS_MOUSE:
- return (_glut_mouse != 0);
- case GLUT_NUM_MOUSE_BUTTONS:
- return _glut_mouse;
- case GLUT_HAS_SPACEBALL:
- case GLUT_HAS_DIAL_AND_BUTTON_BOX:
- case GLUT_HAS_TABLET:
- return GL_FALSE;
- case GLUT_NUM_SPACEBALL_BUTTONS:
- case GLUT_NUM_BUTTON_BOX_BUTTONS:
- case GLUT_NUM_DIALS:
- case GLUT_NUM_TABLET_BUTTONS:
- return 0;
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutGetModifiers (void)
-{
- int mod = 0;
- int shifts = pc_keyshifts();
-
- if (shifts & (KB_SHIFT_FLAG | KB_CAPSLOCK_FLAG)) {
- mod |= GLUT_ACTIVE_SHIFT;
- }
-
- if (shifts & KB_ALT_FLAG) {
- mod |= GLUT_ACTIVE_ALT;
- }
-
- if (shifts & KB_CTRL_FLAG) {
- mod |= GLUT_ACTIVE_CTRL;
- }
-
- return mod;
-}
-
-
-void APIENTRY
-glutReportErrors (void)
-{
- /* reports all the OpenGL errors that happened till now */
-}
-
-
-/* GAME MODE
- * Hack alert: incomplete... what is GameMode, anyway?
- */
-static GLint game;
-static GLboolean game_possible;
-static GLboolean game_active;
-static GLuint game_width;
-static GLuint game_height;
-static GLuint game_bpp;
-static GLuint game_refresh;
-
-
-void APIENTRY
-glutGameModeString (const char *string)
-{
- if (sscanf(string, "%ux%u:%u@%u", &game_width, &game_height, &game_bpp, &game_refresh) == 4) {
- game_possible = GL_TRUE;
- }
-}
-
-
-int APIENTRY
-glutGameModeGet (GLenum mode)
-{
- switch (mode) {
- case GLUT_GAME_MODE_ACTIVE:
- return game_active;
- case GLUT_GAME_MODE_POSSIBLE:
- return game_possible && !_glut_current;
- case GLUT_GAME_MODE_WIDTH:
- return game_active ? (int)game_width : -1;
- case GLUT_GAME_MODE_HEIGHT:
- return game_active ? (int)game_height : -1;
- case GLUT_GAME_MODE_PIXEL_DEPTH:
- return game_active ? (int)game_bpp : -1;
- case GLUT_GAME_MODE_REFRESH_RATE:
- return game_active ? (int)game_refresh : -1;
- default:
- return -1;
- }
-}
-
-
-int APIENTRY
-glutEnterGameMode (void)
-{
- if (glutGameModeGet(GLUT_GAME_MODE_POSSIBLE)) {
- _glut_visual.bpp = game_bpp;
- _glut_visual.refresh = game_refresh;
-
- glutInitWindowSize(game_width, game_height);
-
- if ((game = glutCreateWindow("<game>")) > 0) {
- game_active = GL_TRUE;
- }
-
- return game;
- } else {
- return 0;
- }
-}
-
-
-void GLUTAPIENTRY
-glutLeaveGameMode (void)
-{
- if (glutGameModeGet(GLUT_GAME_MODE_ACTIVE)) {
- game_active = GL_FALSE;
-
- glutDestroyWindow(game);
- }
-}