aboutsummaryrefslogtreecommitdiff
path: root/externals/gridflow/bundled/Base/GemMan.h
diff options
context:
space:
mode:
Diffstat (limited to 'externals/gridflow/bundled/Base/GemMan.h')
-rw-r--r--externals/gridflow/bundled/Base/GemMan.h257
1 files changed, 0 insertions, 257 deletions
diff --git a/externals/gridflow/bundled/Base/GemMan.h b/externals/gridflow/bundled/Base/GemMan.h
deleted file mode 100644
index 351429be..00000000
--- a/externals/gridflow/bundled/Base/GemMan.h
+++ /dev/null
@@ -1,257 +0,0 @@
-/*-----------------------------------------------------------------
- LOG
- GEM - Graphics Environment for Multimedia
-
- The base functions and structures
- Also includes gemwin header file
-
- Copyright (c) 1997-2000 Mark Danks.mark@danks.org
- Copyright (c) Günther Geiger. geiger@epy.co.at
- Copyright (c) 2001-2002 IOhannes m zmoelnig. forum::für::umläute. IEM. zmoelnig@iem.kug.ac.at
- For information on usage and redistribution, and for a DISCLAIMER OF ALL
- WARRANTIES, see the file, "GEM.LICENSE.TERMS" in this distribution.
-
- -----------------------------------------------------------------*/
-
-#ifndef INCLUDE_GEMMAN_H_
-#define INCLUDE_GEMMAN_H_
-
-#include "Base/GemGL.h"
-#include "Base/GemGLUtil.h"
-
-#ifdef __APPLE__
-# include <Carbon/Carbon.h>
-# include <AGL/agl.h>
-#endif // __APPLE__
-
-#ifdef __WIN32__
-# include <QTML.h>
-# include <Movies.h>
-#endif
-
-#include "Base/GemExportDef.h"
-
-class gemhead;
-class gemheadLink;
-class GemState;
-class WindowInfo;
-
-/*-----------------------------------------------------------------
- -------------------------------------------------------------------
- CLASS
- GemMan
-
- A static class to create windows, etc.
-
- DESCRIPTION
-
- -----------------------------------------------------------------*/
-class GEM_EXTERN GemMan
-{
- public:
-
- //////////
- // Should only be called once (usually by GemSetup)
- static void initGem(void);
-
- //////////
- static void addObj(gemhead *obj, int priority);
-
- //////////
- static void removeObj(gemhead *obj, int priority);
-
- //////////
- // Is there a window.
- static int windowExists(void);
-
- //////////
- // Are we rendering.
- static int getRenderState(void);
-
- //////////
- // is there a context (has its meaning under X)
- static void createContext(char* disp);
- static int contextExists(void);
-
- //////////
- // If an object needs to know if the window changed.
- // This is important for display lists.
- static int windowNumber(void);
-
- //////////
- // reset to the initial state
- static void resetState(void);
-
- //////////
- // Just send out one frame (if double buffered, will swap buffers)
- static void render(void *);
- static void renderChain(gemheadLink *head, GemState *state);
-
-
- //////////
- // Start a clock to do rendering.
- static void startRendering(void);
-
- //////////
- // Stop the clock to do rendering.
- static void stopRendering(void);
-
- //////////
- // Create the window with the current parameters
- static int createWindow(char* disp = 0);
-
- //////////
- // Destroy the window
- static void destroyWindow(void);
- // Destroy the window after a minimal delay
- static void destroyWindowSoon(void);
-
- //////////
- // Swap the buffers.
- // If single buffered, just clears the window
- static void swapBuffers(void);
-
- //////////
- // Set the frame rate
- static void frameRate(float framespersecond);
- //////////
- // Get the frame rate
- static float getFramerate(void);
-
- static int getProfileLevel(void);
-
- static void getDimen(int*width, int*height);
- static void getRealDimen(int*width, int*height);
- static void getOffset(int*x, int*y);
-
- //////////
- // Turn on/off lighting
- static void lightingOnOff(int state);
-
- //////////
- // Turn on/off cursor
- static void cursorOnOff(int state);
-
- //////////
- // Turn on/off topmost position
- static void topmostOnOff(int state);
-
-
- //////////
- // Request a lighting value - it is yours until you free it.
- // The return can be 0, in which there are too many lights
- // [in] specific - If you want a specific light. == 0 means that you don't care.
- static GLenum requestLight(int specific = 0);
-
- //////////
- // Free a lighting value
- static void freeLight(GLenum lightNum);
-
- //////////
- // Print out information
- static void printInfo(void);
-
- //////////
- static void fillGemState(GemState &);
-
- static int texture_rectangle_supported;
- static int client_storage_supported;
- static int texture_range_supported;
- static int texture_yuv_supported;
- static int multisample_filter_hint;
- static GLint maxStackDepth[4]; // for push/pop of matrix-stacks
-
-
- static float m_perspect[6]; // values for the perspective matrix
- static float m_lookat[9]; // values for the lookat matrix
-
- // LATER make this private (right now it is needed in gem2pdp)
- static int m_buffer; // single(1) or double(2)
-
- private:
-
- //////////
- // computer and window information
- static char *m_title; // title to be displayed
- static int m_fullscreen; // fullscreen (1) or not (0!)
- static int m_menuBar; // hide (0), show(1), hide but autoshow(-1)
- static int m_secondscreen; // set the second screen
- static int m_height; // window height
- static int m_width; // window width
- static int m_w; // the real window width (reported by gemCreateWindow())
- static int m_h; // the real window height
- static int m_xoffset; // window offset (x)
- static int m_yoffset; // window offset (y)
-
- static int m_border; // window border
- static int m_stereo; // stereoscopic
-
- static int m_profile; // off(0), on(1), w/o image caching(2)
- static int m_rendering;
-
- static float m_fog; // fog density
- enum FOG_TYPE
- { FOG_OFF = 0, FOG_LINEAR, FOG_EXP, FOG_EXP2 };
- static FOG_TYPE m_fogMode; // what kind of fog we have
- static GLfloat m_fogColor[4]; // colour of the fog
- static float m_fogStart; // start of the linear fog
- static float m_fogEnd; // start of the linear fog
-
- static float m_motionBlur; // motion-blur factor in double-buffer mode
-
- static float fps;
- static int fsaa;
- static bool pleaseDestroy;
-#ifdef __APPLE__
- static AGLContext masterContext;
-#endif
-
- //////////
- // Changing these variables is likely to crash GEM
- // This is current rendering window information
- // The window is created and destroyed by the user, so
- // if there is no window, this will contain NULL pointers.
- static WindowInfo &getWindowInfo(void);
-
- //////////
- // Changing these variables is likely to crash GEM
- // This is constant rendering window information
- // This window is always avaliable (although not visible)
- static WindowInfo &getConstWindowInfo(void);
- static int createConstWindow(char* disp = 0);
-
- // gemwin is allowed to modifying "global" window attributes
- friend class gemwin;
-
- static GLfloat m_clear_color[4]; // the frame buffer clear
- static GLbitfield m_clear_mask; // the clear bitmask
- static GLfloat m_mat_ambient[4]; // default ambient material
- static GLfloat m_mat_specular[4]; // default specular material
- static GLfloat m_mat_shininess; // default shininess material
-
- static GLfloat m_stereoSep; // stereo seperation
- static GLfloat m_stereoFocal; // distance to focal point
- static bool m_stereoLine; // draw a line between 2 stereo-screens
-
- static double m_lastRenderTime; // the time of the last rendered frame
-
- // gemwin should not touch the following member variables and member functions
- static int m_windowState;
- static int m_windowNumber;
- static int m_windowContext;
- static int m_cursor;
- static int m_topmost;
-
- static void windowInit(void);
- static void windowCleanup(void);
- static void resetValues(void);
-
- static void resizeCallback(int xsize, int ysize, void*);
- static void dispatchWinmessCallback(void);
-
- //////////
- // check for supported openGL extensions we might need
- static void checkOpenGLExtensions(void);
-};
-
-#endif