190 lines
6.3 KiB
C
190 lines
6.3 KiB
C
/**************************************************************************************
|
||
|
||
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 <type> <variable name>
|
||
#ifdef TDE_GLOBALS
|
||
= <initial values>
|
||
#endif
|
||
;
|
||
-----------------------------------------------------------------------------
|
||
*/
|
||
|
||
/*
|
||
-----------------------------------------------------------------------------
|
||
FUNCTIONS DECLARATION:
|
||
-----------------------------------------------------------------------------
|
||
*/
|
||
/**~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~**
|
||
NAME : TDE_vFastDrawMemorySpriteAbsolute
|
||
VERSION : 2.0 / Val<61>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<61>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<61>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<61>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<61>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<61>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<61>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<61>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 */
|
||
|
||
|
||
|
||
|
||
|