/************************************************************************************** File : DRAW.H Basic drawing routines ***************************************************************************************/ /* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ You must do : #define TDE_GLOBALS in one (and only one) .c file of your Module. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ */ /* To avoid unnecessary includes : */ #ifndef __TDE_DRAW_H #define __TDE_DRAW_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 /* For Global declaration in C files : */ #ifndef TDE_GLOBALS #define __TDE_EXTERN extern #else /* !TDE_GLOBALS */ #define __TDE_EXTERN #endif /* !TDE_GLOBALS */ /* ----------------------------------------------------------------------------- INCLUDES FILES : Include here any other header files of your module you need ! Ex : #include "toto.h" Note : Do Not include header files from other Modules (do this in C files only) ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- CONSTANT DECLARATION: Ex : #define TDE_C_LMAX 100 ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- TYPES DEFINITION : Declare here any type you need, and constant you need to do this : Ex : typedef struct TDE_tdstToto_ { long aLMAX_lBuffer[TDE_C_LMAX]; ... } TDE_tdst_Toto ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- GLOBAL VARIABLE DECLARATION : Ex : __TDE_EXTERN #ifdef TDE_GLOBALS = #endif ; ----------------------------------------------------------------------------- */ /* ----------------------------------------------------------------------------- FUNCTIONS DECLARATION: ----------------------------------------------------------------------------- */ /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vFastDrawMemorySpriteAbsolute VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a sprite stored in memory ! ATTENTION ! : The sprite has to be defined with absolute coordinates **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vFastDrawMemorySpriteAbsolute (GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObject, TDE_tdsRect *p_stScreenRect); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vFastDrawMemorySpriteAbsoluteInvert VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a sprite stored in memory ! ATTENTION ! : The sprite has to be defined with absolute coordinates **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vFastDrawMemorySpriteAbsoluteInvert (GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObject, TDE_tdsRect *p_stScreenRect); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vDrawSuperObject16 VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a super object (for sprites) **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vDrawSuperObject16(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObjet); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vDrawSuperObjectFast16 VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a super object (for sprites) without stretch **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vDrawSuperObjectFast16(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObjet); extern void TDE_vDrawMemSprite_Abs_16(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObjet); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vDrawSuperObjectRotated16 VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a super object with rotation (for sprites) **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vDrawSuperObjectRotated16(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObjet); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vDrawSuperObjectClipped16 VERSION : 2.0 / Valérie 1.0 / Franck AIM : Display a super object with clipping (for sprites) **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vDrawSuperObjectClipped16(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObjet); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vSendObjectsToViewPort VERSION : 2.0 / Valérie 1.0 / Franck AIM : Create Z list with a camera attached to a Viewport **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vSendObjectsToViewPort(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_tdsSuperObject *p_stSuperObject , TDE_p_stSuperObject *ZList); /**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~** NAME : TDE_vSendListToViewPort VERSION : 2.0 / Valérie 1.0 / Franck AIM : Send Z liste to a viewport **~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**/ extern void TDE_vSendListToViewPort(GLD_tdpstViewportAttributes p_stViewAttrib, TDE_p_stSuperObject *ZList, TDE_tdsRect *stClipScreenRect, BOOL bViewPortLocked); #ifdef __cplusplus }; #endif /* __cplusplus */ #endif /* __TDE_DRAW_H */