235 lines
11 KiB
C
235 lines
11 KiB
C
/*
|
|
Gld_Pub.h
|
|
Structures, prototypes and error codes for Graphic Library for Display.
|
|
Authors : Christophe MARTINAUD
|
|
Elie Khoury
|
|
Philippe Vimont
|
|
Last update : 10/16/1996
|
|
Last update : 04/08/1997 : Upgrade to VC++ & VSS 5.0 !!!
|
|
*/
|
|
|
|
#ifndef __GLD_PUB_H
|
|
#define __GLD_PUB_H
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif /* __cplusplus */
|
|
|
|
/* For DLLs who are using this module : */
|
|
#undef CPA_EXPORT
|
|
#if defined(CPA_WANTS_IMPORT)
|
|
#define CPA_EXPORT __declspec(dllimport)
|
|
#elif defined(CPA_WANTS_EXPORT)
|
|
#define CPA_EXPORT __declspec(dllexport)
|
|
#else
|
|
#define CPA_EXPORT
|
|
#endif
|
|
|
|
typedef short GLD_tdhDevice; /* Handle of devices */
|
|
typedef short GLD_tdhViewport; /* Handle of viewports */
|
|
/*typedef short GLD_tdhPicture; /* Handle of pictures */
|
|
typedef float GLD_tdxValue;
|
|
|
|
|
|
/* 007*/
|
|
#ifndef RGB
|
|
#define RGB(r,g,b) ((COLORREF)(((BYTE)(r)|((WORD)((BYTE)(g))<<8))|(((DWORD)(BYTE)(b))<<16)))
|
|
#endif /* RGB */
|
|
|
|
#include "Gld_Pu1.h"
|
|
|
|
/* Screen constantes */
|
|
#define GLD_C_lScreenDimInPixX 1024
|
|
#define GLD_C_lScreenDimInPixY 768
|
|
#define GLD_C_xScreenDimInMetersX (GLD_tdxValue)( 0.32 )
|
|
#define GLD_C_xScreenDimInMetersY (GLD_tdxValue)( 0.24 )
|
|
|
|
/* Begin : only for moteur D3D */
|
|
#define C_DRIVER_HARD (1)
|
|
#define C_DRIVER_SOFT (1<<1)
|
|
#define C_DRIVER_MONO (1<<2)
|
|
#define C_DRIVER_RGB (1<<3)
|
|
/* End : only for moteur D3D */
|
|
|
|
/* Constants used by GLD_bClear[Device/ViewPort]WithChoice */
|
|
#define GLD_C_CLEAR_NOTHING 0
|
|
#define GLD_C_CLEAR_BACKBUF 1
|
|
#define GLD_C_CLEAR_ZBUF 2
|
|
|
|
/* Structures for Viewports */
|
|
typedef unsigned long DWORD;
|
|
typedef struct GLD_tdstViewportAttributes_
|
|
{
|
|
DWORD dwInitialHeight; /* Initial height of viewport in pixels */
|
|
DWORD dwInitialWidth; /* Initial width of viewport in pixels */
|
|
DWORD dwHeight; /* Current height of viewport in pixels */
|
|
DWORD dwWidth; /* Current width of viewport in pixels */
|
|
|
|
/*DWORD dwBytesPerPixel;*/
|
|
|
|
DWORD dwTopInPix; /* Y of Left up corner */
|
|
DWORD dwBottomInPix; /* Y of right down corner */
|
|
DWORD dwLeftInPix; /* X of left up corner */
|
|
DWORD dwRightInPix; /* X of right down corner */
|
|
DWORD dwTopInPixForClip; /* Y of Left up corner */
|
|
DWORD dwBottomInPixForClip; /* Y of right down corner */
|
|
DWORD dwLeftInPixForClip; /* X of left up corner */
|
|
DWORD dwRightInPixForClip; /* X of right down corner */
|
|
|
|
DWORD dwWidthInPercent;
|
|
DWORD dwHeightInPercent;
|
|
|
|
DWORD dwClipTopInPix; /* Height of clip top */
|
|
DWORD dwClipBottomInPix; /* Height of clip bottom */
|
|
DWORD dwClipLeftInPix; /* Width of clip left */
|
|
DWORD dwClipRightInPix; /* Width of clip right */
|
|
DWORD dwClipTopInPercent; /* For clipping */
|
|
DWORD dwClipBottomInPercent;
|
|
DWORD dwClipLeftInPercent;
|
|
DWORD dwClipRightInPercent;
|
|
|
|
int iOffsetPosX; /* Offset of display window (relative to upper left corner) */
|
|
int iOffsetPosY;
|
|
|
|
char *p_cVirtualScreen; /* Pointer to back memory associated with the viewport */
|
|
LONG lPitch; /* Distance to the start of the next line */
|
|
/*void *p_vReserved; /* Reserved */
|
|
|
|
void *p_vSpecificToXD; /* Additionnal Attributes specific to 2D or 3D */
|
|
|
|
/* Strega 10/12/96 */
|
|
/*void *p_vReserved2;*/
|
|
GLD_tdhDevice hDevice;
|
|
GLD_tdhViewport hViewport;
|
|
/* Strega fin */
|
|
|
|
} GLD_tdstViewportAttributes, *GLD_tdpstViewportAttributes;
|
|
|
|
/* Structures for Devices */
|
|
typedef struct GLD_tdstDeviceAttributes_
|
|
{
|
|
DWORD dwHeight; /* Current height of device */
|
|
DWORD dwWidth; /* Current width of device */
|
|
/*DWORD dwBitsPerPixel; /* Current depth of device */
|
|
/*DWORD dwBytesPerPixel; /* Current bytes per pixel for device */
|
|
|
|
GLD_tdxValue xPixelDimensionX ; /* Pixel dimensions in world units */
|
|
GLD_tdxValue xPixelDimensionY ; /* Pixel dimensions in world units */
|
|
|
|
char *p_cVirtualScreen; /* Pointer to back surface memory */
|
|
LONG lPitch; /* Distance to the start of the next line */
|
|
short *p_sZBuffer; /* Z Buffer associated with device */
|
|
|
|
/* Windows only */
|
|
DWORD dwFullScreenModeX; /* X resolution when in full screen mode */
|
|
DWORD dwFullScreenModeY; /* Y resolution when in full screen mode */
|
|
DWORD dwFullScreenModeBpp; /* Depth in bits per pixel when in full screen mode */
|
|
|
|
HWND hFullScreenModeWnd; /* Handle of the window associated with the device in full screen mode */
|
|
HWND hNormalModeWnd; /* Handle of the window associated with the device in normal mode */
|
|
|
|
BOOL bFullScreen; /* Is the device in full screen/exclusive mode ? */
|
|
unsigned int uiTypeDriver; /* The device is hardware or software (version D3D du moteur 3D) */
|
|
/*void *p_vReserved; /* Reserved */
|
|
/* Strega 10/12/96 */
|
|
POINT pClientOnPrimary;
|
|
RECT rtClientRect;
|
|
RECT rtWindowRect;
|
|
/* Strega fin */
|
|
} GLD_tdstDeviceAttributes, *GLD_tdpstDeviceAttributes;
|
|
|
|
|
|
/* Structures for Pictures */
|
|
/*typedef struct GLD_tdstPictureAttributes_*/
|
|
/*{*/
|
|
/* char *p_szBitmap; /* Bitmap loaded in surface */
|
|
/* DWORD dwHeight; /* Height of picture in pixels */
|
|
/* DWORD dwWidth; /* Width of picture in pixels */
|
|
|
|
/* char *p_cVirtualScreen; /* Pointer to picture */
|
|
/* LONG lPitch; /* Distance to the start of the next line */
|
|
/* void *p_vReserved; /* Reserved */
|
|
|
|
/*} GLD_tdstPictureAttributes, *GLD_tdpstPictureAttributes;*/
|
|
|
|
|
|
/* Prototypes */
|
|
/* Device management */
|
|
extern CPA_EXPORT BOOL GLD_bIsDeviceHandleValid( GLD_tdhDevice );
|
|
extern CPA_EXPORT void GLD_vInvalidateDeviceHandle( GLD_tdhDevice * );
|
|
|
|
extern CPA_EXPORT BOOL GLD_bCreateDevice( GLD_tdpstDeviceAttributes, GLD_tdhDevice * );
|
|
extern CPA_EXPORT BOOL GLD_bGetDeviceAttributes( GLD_tdhDevice, GLD_tdpstDeviceAttributes );
|
|
extern CPA_EXPORT BOOL GLD_bRequestWriteToDevice( GLD_tdhDevice, GLD_tdpstDeviceAttributes, BOOL * );
|
|
extern CPA_EXPORT BOOL GLD_bWriteToDeviceFinished( GLD_tdhDevice );
|
|
extern CPA_EXPORT BOOL GLD_bAdjustDeviceToWindow( GLD_tdhDevice ); /* windows only */
|
|
|
|
extern BOOL GLD_bBeginWriteToDevice( GLD_tdhDevice hNotUsed );
|
|
extern BOOL GLD_bEndWriteToDevice( GLD_tdhDevice hNotUsed );
|
|
extern CPA_EXPORT BOOL GLD_bFlipDeviceWithSynchro(GLD_tdhDevice hDev,enum Synchro eSynchro);
|
|
#ifdef U64
|
|
extern BOOL GLD_bFlipDevice( GLD_tdhDevice hDev ); /*AR980326*/
|
|
#endif
|
|
|
|
extern CPA_EXPORT BOOL GLD_bDeleteDevice( GLD_tdhDevice );
|
|
extern CPA_EXPORT BOOL GLD_bSwapDeviceMode( GLD_tdhDevice, BOOL );
|
|
extern CPA_EXPORT BOOL GLD_bSwapToWindowedMode( GLD_tdhDevice, BOOL ); /*bart990126*/
|
|
extern CPA_EXPORT BOOL GLD_bSwapToFullScreen( GLD_tdhDevice, BOOL ); /*bart990126*/
|
|
extern CPA_EXPORT BOOL GLD_fn_bReinitDeviceDisplayMode( GLD_tdhDevice ); /*bart990111*/
|
|
extern CPA_EXPORT BOOL GLD_bSetNewWindowForDevice( GLD_tdhDevice, HWND );
|
|
extern CPA_EXPORT BOOL GLD_bClearDevice( GLD_tdhDevice );
|
|
extern CPA_EXPORT BOOL GLD_bClearDeviceWithChoice( GLD_tdhDevice, short );
|
|
extern CPA_EXPORT BOOL GLD_bSetFullScreenModeForDevice( GLD_tdhDevice, DWORD, DWORD, DWORD, HWND );
|
|
extern CPA_EXPORT BOOL GLD_bSetBackgroundColorForDevice( GLD_tdhDevice, COLORREF );
|
|
extern CPA_EXPORT BOOL GLD_bHandleResolutionChange();
|
|
extern CPA_EXPORT LRESULT GLD_lDeviceCallback ( GLD_tdhDevice hDevice, HWND xHWnd , UINT xMessage, WPARAM wParam, LPARAM lParam );
|
|
|
|
/* Viewport management */
|
|
extern CPA_EXPORT BOOL GLD_bIsViewportHandleValid( GLD_tdhViewport );
|
|
extern CPA_EXPORT void GLD_vInvalidateViewportHandle( GLD_tdhViewport * );
|
|
|
|
extern CPA_EXPORT BOOL GLD_bCreateViewport( GLD_tdhDevice, GLD_tdpstViewportAttributes, GLD_tdhViewport * );
|
|
extern CPA_EXPORT BOOL GLD_bSetViewportPosition( GLD_tdhDevice, GLD_tdhViewport, GLD_tdpstViewportAttributes );
|
|
extern CPA_EXPORT BOOL GLD_bGetViewportAttributes( GLD_tdhDevice, GLD_tdhViewport, GLD_tdpstViewportAttributes );
|
|
extern CPA_EXPORT BOOL GLD_bRequestWriteToViewport( GLD_tdhDevice, GLD_tdhViewport, GLD_tdpstViewportAttributes, BOOL * );
|
|
extern CPA_EXPORT BOOL GLD_bWriteToViewportFinished( GLD_tdhDevice, GLD_tdhViewport );
|
|
extern CPA_EXPORT BOOL GLD_bRequestWriteToViewport2D( GLD_tdhDevice, GLD_tdhViewport, GLD_tdpstViewportAttributes, BOOL * );
|
|
extern CPA_EXPORT BOOL GLD_bWriteToViewportFinished2D( GLD_tdhDevice, GLD_tdhViewport );
|
|
extern CPA_EXPORT BOOL GLD_bRequestWriteToViewport3D( GLD_tdhDevice, GLD_tdhViewport, GLD_tdpstViewportAttributes, BOOL * );
|
|
extern CPA_EXPORT BOOL GLD_bWriteToViewportFinished3D( GLD_tdhDevice, GLD_tdhViewport );
|
|
extern CPA_EXPORT BOOL GLD_bDeleteViewport( GLD_tdhDevice, GLD_tdhViewport );
|
|
extern CPA_EXPORT BOOL GLD_bClearViewport( GLD_tdhDevice, GLD_tdhViewport );
|
|
extern CPA_EXPORT BOOL GLD_bClearViewportWithChoice( GLD_tdhDevice, GLD_tdhViewport, short );
|
|
extern CPA_EXPORT BOOL GLD_bGiveSpecificAttributesToViewport( GLD_tdhDevice, GLD_tdhViewport, void * );
|
|
|
|
/* Picture management */
|
|
/*
|
|
extern CPA_EXPORT BOOL GLD_bIsPictureHandleValid( GLD_tdhPicture );
|
|
extern CPA_EXPORT void GLD_vInvalidatePictureHandle( GLD_tdhPicture * );
|
|
|
|
extern CPA_EXPORT BOOL GLD_bLoadPicture( GLD_tdpstPictureAttributes, GLD_tdhPicture * );
|
|
extern CPA_EXPORT BOOL GLD_bGetPictureAttributes( GLD_tdhPicture, GLD_tdpstPictureAttributes );
|
|
extern CPA_EXPORT BOOL GLD_bRequestReadFromPicture( GLD_tdhPicture, GLD_tdpstPictureAttributes, BOOL * );
|
|
extern CPA_EXPORT BOOL GLD_bReadFromPictureFinished( GLD_tdhPicture );
|
|
extern CPA_EXPORT BOOL GLD_bDeletePicture( GLD_tdhPicture );
|
|
*/
|
|
/* Strega stuff */
|
|
/* Forgotten management */
|
|
/*extern CPA_EXPORT BOOL GLD_bSetDeviceAttributes( GLD_tdhDevice hDev, GLD_tdpstDeviceAttributes p_stDevAttrib );*/
|
|
/*extern CPA_EXPORT BOOL GLD_bIsGoodDevice( GLD_tdhDevice hDev );*/
|
|
/*extern BOOL GLD_bSetViewportAttributes( GLD_tdhDevice hDev, GLD_tdhViewport hVP, GLD_tdpstViewportAttributes p_stViewAttrib );*/
|
|
/* Strega end */
|
|
|
|
extern CPA_EXPORT BOOL GLD_bReleaseViewportAndDevice(GLD_tdhDevice hDev, GLD_tdhViewport hVP);
|
|
extern CPA_EXPORT void GLD_bHardwareSetContrast( float fContrast);
|
|
extern CPA_EXPORT void GLD_bHardwareSetLuminosity( float fLuminosity);
|
|
extern CPA_EXPORT void GLD_PrintUsedStaticMemory();
|
|
/*extern CPA_EXPORT void GLD_vSetDDDriver(long);*/
|
|
/*extern CPA_EXPORT void GLD_vSetD3DDevice(long);*/
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __GLD_H */
|