hexen2/H2W/scitech/include/mgldos.h
2000-11-10 00:00:00 +00:00

83 lines
2.4 KiB
C

/****************************************************************************
*
* MegaGraph Graphics Library
*
* Copyright (C) 1996 SciTech Software.
* All rights reserved.
*
* Filename: $Workfile: mgldos.h $
* Version: $Revision: 1 $
*
* Language: ANSI C
* Environment: IBM PC (MS DOS)
*
* Description: Header file for the MGLDOS binding for the MSDOS environment.
*
* $Date: 1/22/98 12:19p $ $Author: Jmonroe $
*
****************************************************************************/
#ifndef __MGLDOS_H
#define __MGLDOS_H
#ifndef MGLDOS
#define MGLDOS
#endif
/*---------------------- Macros and type definitions ----------------------*/
typedef void *MGL_HWND;
/*------------------------- 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);
/* 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);
/* Disable/enable event handling (call before calling MGL_init */
void MGLAPI MGL_useEvents(bool use);
/* Device context management */
MGLDC * MGLAPI MGL_createDisplayDC(m_int numBuffers);
MGLDC * MGLAPI MGL_createScrollingDC(m_int virtualX,m_int virtualY,m_int numBuffers);
MGLDC * MGLAPI MGL_createOffscreenDC(void);
MGLDC * MGLAPI MGL_createLinearOffscreenDC(void);
MGLDC * MGLAPI MGL_createMemoryDC(m_int xSize,m_int ySize,m_int bitsPerPixel,pixel_format_t *pf);
bool MGLAPI MGL_destroyDC(MGLDC *dc);
/* 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);
void MGLAPI MGL_suspend(void);
void MGLAPI MGL_resume(void);
/* 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 /* __MGLDOS_H */