diff options
Diffstat (limited to 'WinQuake/scitech/INCLUDE/MGLWIN.H')
| -rw-r--r-- | WinQuake/scitech/INCLUDE/MGLWIN.H | 304 |
1 files changed, 152 insertions, 152 deletions
diff --git a/WinQuake/scitech/INCLUDE/MGLWIN.H b/WinQuake/scitech/INCLUDE/MGLWIN.H index c5b9c30..6cb9c9e 100644 --- a/WinQuake/scitech/INCLUDE/MGLWIN.H +++ b/WinQuake/scitech/INCLUDE/MGLWIN.H @@ -1,152 +1,152 @@ -/**************************************************************************** -* -* MegaGraph Graphics Library -* -* Copyright (C) 1996 SciTech Software. -* All rights reserved. -* -* Filename: $Workfile: mglwin.h $ -* Version: $Revision: 1.14 $ -* -* Language: ANSI C -* Environment: IBM PC (MS DOS) -* -* Description: Header file for the MGLWIN bindings for MS Windows using -* WinG in a window and WinDirect for full screen. The MGLWIN -* binding only targets Win32 applications, so cannot be used -* for 16 bit Windows development. -* -* $Date: 14 Mar 1997 16:09:34 $ $Author: KendallB $ -* -****************************************************************************/ - -#ifndef __MGLWIN_H -#define __MGLWIN_H - -#ifndef MGLWIN -#define MGLWIN -#endif - -/*---------------------- Macros and type definitions ----------------------*/ - -typedef HWND MGL_HWND; -typedef HDC MGL_HDC; -typedef HINSTANCE MGL_HINSTANCE; - -/*------------------------- Function Prototypes ---------------------------*/ - -#ifdef __cplusplus -extern "C" { /* Use "C" linkage when in C++ mode */ -#endif - -/* Initialise the MGL for fullscreen output */ - -bool MGLAPI MGL_init(m_int *driver,m_int *mode,const char *mglpath); - -/* Initialise the MGL just for Windowed output, not full screen */ - -bool MGLAPI MGL_initWindowed(const char *mglpath); - -/* Function to register a fullscreen window with the MGL. If you wish - * for the MGL to use your own window for fullscreen modes, you can - * register it with this function. Note that when the MGL goes into - * fullscreen modes, the attributes, size and position of the window are - * modified to make it into a fullscreen Window necessary to cover the - * entire desktop, and the state of the window will be restore to the original - * format on return to normal GDI mode. - * - * Note that if you are using a common window for Windowed mode and fullscreen - * modes of your application, you will need to ensure that certain messages - * that you window normally handles in windowed modes are ignored when in - * fullscreen modes. - */ - -void MGLAPI MGL_registerFullScreenWindow(HWND hwndFullScreen); - -/* Function to register a fullscreen event handling window procedure. - * If you wish to do your own event handling, you can register your window - * procedure with the MGL using this function and it will be called - * when there are messages to be handled. You can still call the MGL_event() - * functions even if you have registered an event handling procedure. - */ - -void MGLAPI MGL_registerEventProc(WNDPROC userWndProc); - -/* Change the active display mode. You must destroy all display device - * contexts before calling this function, and re-create them again with - * the new display mode. Does not affect any event handling hooks. - */ - -bool MGLAPI MGL_changeDisplayMode(m_int mode); - -/* Obtain the handle to the MGL fullscreen window when in fullscreen modes */ - -MGL_HWND MGLAPI MGL_getFullScreenWindow(void); - -/* Tell the MGL what your applications main window is */ - -void MGLAPI MGL_setMainWindow(MGL_HWND hwnd); - -/* Tell the MGL your applications instance handle (call before all funcs!) */ - -void MGLAPI MGL_setAppInstance(MGL_HINSTANCE hInstApp); - -/* Device context management */ - -MGLDC * MGLAPI MGL_createDisplayDC(m_int numBuffers); -MGLDC * MGLAPI MGL_createSrollingDC(m_int virtualX,m_int virtualY,m_int numBuffers); -MGLDC * MGLAPI MGL_createOffscreenDC(void); -MGLDC * MGLAPI MGL_createLinearOffscreenDC(void); -MGLDC * MGLAPI MGL_createWindowedDC(MGL_HWND hwnd); -MGLDC * MGLAPI MGL_createMemoryDC(m_int xSize,m_int ySize,m_int bitsPerPixel,pixel_format_t *pf); -bool MGLAPI MGL_destroyDC(MGLDC *dc); - -/* Get a Windows HDC for the MGL device context. You can use this returned - * HDC to get GDI to draw to the device context surface, such as rendering - * and using TrueType fonts with the MGL. If a Windows compatible HDC is not - * available, this function will return NULL. - */ - -HDC MGLAPI MGL_getWinDC(MGLDC *dc); - -/* Associate a Window manager DC with the MGLDC for painting */ - -bool MGLAPI MGL_setWinDC(MGLDC *dc,MGL_HDC hdc); - -/* Activate the WindowDC's palette */ - -bool MGLAPI MGL_activatePalette(MGLDC *dc,bool unrealize); - -/* Let the MGL know when your application is being activated or deactivated. - * This function only needs to be called when running in Windowed modes and - * you have set the system palette to SYSPAL_NOSTATIC mode, to ensure - * that the MGL can properly re-map your application palette when your - * app is not active and allow Windows to re-map your bitmap colors on the - * fly. This function should be passed a pointer to the currently active - * MGL Windowed DC and a flag to indicate whether the app is in the background - * or not. - */ - -void MGLAPI MGL_appActivate(MGLDC *winDC,bool active); - -/* Generic helper functions */ - -ulong MGLAPI MGL_getTicks(void); -ulong MGLAPI MGL_getTickResolution(void); -void MGLAPI MGL_delay(m_int millseconds); -void MGLAPI MGL_beep(m_int freq,m_int milliseconds); - -/* Fullscreen specific routines */ - -void MGLAPI MGL_setPaletteSnowLevel(MGLDC *dc,m_int level); -m_int MGLAPI MGL_getPaletteSnowLevel(MGLDC *dc); - -/* Determine if a specific scancode'ed key is held down (PC specific) */ - -bool MGLAPI EVT_isKeyDown(uchar scanCode); - -#ifdef __cplusplus -} /* End of "C" linkage for C++ */ -#endif - -#endif /* __MGLWIN_H */ +/****************************************************************************
+*
+* MegaGraph Graphics Library
+*
+* Copyright (C) 1996 SciTech Software.
+* All rights reserved.
+*
+* Filename: $Workfile: mglwin.h $
+* Version: $Revision: 1.14 $
+*
+* Language: ANSI C
+* Environment: IBM PC (MS DOS)
+*
+* Description: Header file for the MGLWIN bindings for MS Windows using
+* WinG in a window and WinDirect for full screen. The MGLWIN
+* binding only targets Win32 applications, so cannot be used
+* for 16 bit Windows development.
+*
+* $Date: 14 Mar 1997 16:09:34 $ $Author: KendallB $
+*
+****************************************************************************/
+
+#ifndef __MGLWIN_H
+#define __MGLWIN_H
+
+#ifndef MGLWIN
+#define MGLWIN
+#endif
+
+/*---------------------- Macros and type definitions ----------------------*/
+
+typedef HWND MGL_HWND;
+typedef HDC MGL_HDC;
+typedef HINSTANCE MGL_HINSTANCE;
+
+/*------------------------- Function Prototypes ---------------------------*/
+
+#ifdef __cplusplus
+extern "C" { /* Use "C" linkage when in C++ mode */
+#endif
+
+/* Initialise the MGL for fullscreen output */
+
+bool MGLAPI MGL_init(m_int *driver,m_int *mode,const char *mglpath);
+
+/* Initialise the MGL just for Windowed output, not full screen */
+
+bool MGLAPI MGL_initWindowed(const char *mglpath);
+
+/* Function to register a fullscreen window with the MGL. If you wish
+ * for the MGL to use your own window for fullscreen modes, you can
+ * register it with this function. Note that when the MGL goes into
+ * fullscreen modes, the attributes, size and position of the window are
+ * modified to make it into a fullscreen Window necessary to cover the
+ * entire desktop, and the state of the window will be restore to the original
+ * format on return to normal GDI mode.
+ *
+ * Note that if you are using a common window for Windowed mode and fullscreen
+ * modes of your application, you will need to ensure that certain messages
+ * that you window normally handles in windowed modes are ignored when in
+ * fullscreen modes.
+ */
+
+void MGLAPI MGL_registerFullScreenWindow(HWND hwndFullScreen);
+
+/* Function to register a fullscreen event handling window procedure.
+ * If you wish to do your own event handling, you can register your window
+ * procedure with the MGL using this function and it will be called
+ * when there are messages to be handled. You can still call the MGL_event()
+ * functions even if you have registered an event handling procedure.
+ */
+
+void MGLAPI MGL_registerEventProc(WNDPROC userWndProc);
+
+/* Change the active display mode. You must destroy all display device
+ * contexts before calling this function, and re-create them again with
+ * the new display mode. Does not affect any event handling hooks.
+ */
+
+bool MGLAPI MGL_changeDisplayMode(m_int mode);
+
+/* Obtain the handle to the MGL fullscreen window when in fullscreen modes */
+
+MGL_HWND MGLAPI MGL_getFullScreenWindow(void);
+
+/* Tell the MGL what your applications main window is */
+
+void MGLAPI MGL_setMainWindow(MGL_HWND hwnd);
+
+/* Tell the MGL your applications instance handle (call before all funcs!) */
+
+void MGLAPI MGL_setAppInstance(MGL_HINSTANCE hInstApp);
+
+/* Device context management */
+
+MGLDC * MGLAPI MGL_createDisplayDC(m_int numBuffers);
+MGLDC * MGLAPI MGL_createSrollingDC(m_int virtualX,m_int virtualY,m_int numBuffers);
+MGLDC * MGLAPI MGL_createOffscreenDC(void);
+MGLDC * MGLAPI MGL_createLinearOffscreenDC(void);
+MGLDC * MGLAPI MGL_createWindowedDC(MGL_HWND hwnd);
+MGLDC * MGLAPI MGL_createMemoryDC(m_int xSize,m_int ySize,m_int bitsPerPixel,pixel_format_t *pf);
+bool MGLAPI MGL_destroyDC(MGLDC *dc);
+
+/* Get a Windows HDC for the MGL device context. You can use this returned
+ * HDC to get GDI to draw to the device context surface, such as rendering
+ * and using TrueType fonts with the MGL. If a Windows compatible HDC is not
+ * available, this function will return NULL.
+ */
+
+HDC MGLAPI MGL_getWinDC(MGLDC *dc);
+
+/* Associate a Window manager DC with the MGLDC for painting */
+
+bool MGLAPI MGL_setWinDC(MGLDC *dc,MGL_HDC hdc);
+
+/* Activate the WindowDC's palette */
+
+bool MGLAPI MGL_activatePalette(MGLDC *dc,bool unrealize);
+
+/* Let the MGL know when your application is being activated or deactivated.
+ * This function only needs to be called when running in Windowed modes and
+ * you have set the system palette to SYSPAL_NOSTATIC mode, to ensure
+ * that the MGL can properly re-map your application palette when your
+ * app is not active and allow Windows to re-map your bitmap colors on the
+ * fly. This function should be passed a pointer to the currently active
+ * MGL Windowed DC and a flag to indicate whether the app is in the background
+ * or not.
+ */
+
+void MGLAPI MGL_appActivate(MGLDC *winDC,bool active);
+
+/* Generic helper functions */
+
+ulong MGLAPI MGL_getTicks(void);
+ulong MGLAPI MGL_getTickResolution(void);
+void MGLAPI MGL_delay(m_int millseconds);
+void MGLAPI MGL_beep(m_int freq,m_int milliseconds);
+
+/* Fullscreen specific routines */
+
+void MGLAPI MGL_setPaletteSnowLevel(MGLDC *dc,m_int level);
+m_int MGLAPI MGL_getPaletteSnowLevel(MGLDC *dc);
+
+/* Determine if a specific scancode'ed key is held down (PC specific) */
+
+bool MGLAPI EVT_isKeyDown(uchar scanCode);
+
+#ifdef __cplusplus
+} /* End of "C" linkage for C++ */
+#endif
+
+#endif /* __MGLWIN_H */
|
