144 lines
4.9 KiB
C
144 lines
4.9 KiB
C
/**************************************************************************************
|
|
|
|
File : RECT.H
|
|
Authors : Valérie Cluzel & Franck Delattre
|
|
|
|
***************************************************************************************/
|
|
|
|
/*
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
You must do :
|
|
#define TDE_GLOBALS
|
|
in one (and only one) .c file of your Module.
|
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
|
*/
|
|
|
|
/* To avoid unnecessary includes : */
|
|
#ifndef __TDE_RECT_H
|
|
#define __TDE_RECT_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:
|
|
-----------------------------------------------------------------------------
|
|
*/
|
|
extern void iTde_vFastBlit(long W, long H, long lP, long *src, long *dest);
|
|
|
|
extern void iTde_vFastBlit_NZ(long W, long H, long lP, long MC, long *src, long *dest);
|
|
|
|
extern void iTde_vFastBlit_Invert(long W, long H, long lP, long MC, long *src, long *dest);
|
|
|
|
extern void iTde_vFastBlit_Invert_NZ(long W, long H, long lP, long MC, long *src, long *dest);
|
|
|
|
extern void iTDE_vFillsRect(TDE_tdsRect *Rect, TDE_tdxValue xCornerX, TDE_tdxValue xCornerY, TDE_tdxValue xWidth, TDE_tdxValue xHeight);
|
|
|
|
extern void iTDE_vFillsLRect(TDE_tdsRect *Rect, TDE_tdxValue xCornerX, TDE_tdxValue xCornerY, TDE_tdxValue xWidth, TDE_tdxValue xHeight);
|
|
|
|
extern void iTDE_vPercentToAbsoluteRect(TDE_tdsRect *Rect, GLD_tdpstViewportAttributes p_stViewAttrib);
|
|
|
|
extern void iTDE_vMoveRect(TDE_tdsRect *Rect, TDE_tdxValue xTx, TDE_tdxValue xTy);
|
|
|
|
extern void iTDE_vChangeRectCorner(TDE_tdsRect *Rect, TDE_tdxValue xCornerX, TDE_tdxValue xCornerY);
|
|
|
|
extern void iTDE_vAdjustRectToFlip(TDE_tdsRect *Rect, TDE_tdsRect *FlippedRect, char cFlip);
|
|
|
|
extern void iTDE_vAdjustScreenRectForClip(TDE_tdsRect *Rect, TDE_tdsRect *ClippedRect, long lViewPortW, long lViewPortH);
|
|
|
|
extern void iTDE_vAdjustScreenRectToClipRect(TDE_tdsRect *Rect, TDE_tdsRect *ClippedRect, TDE_tdsRect *stClipSq);
|
|
|
|
extern void iTDE_vAdjustSourceRectForClip(TDE_tdsRect *ScreenRect, TDE_tdsRect *SrcRect, TDE_tdsRect *SrcClippedRect, long lViewPortW, long lViewPortH);
|
|
|
|
extern void iTDE_vBlit(TDE_tdsRect *RectSource, TDE_tdsRect *RectDest);
|
|
|
|
extern void iTDE_vBlitFast(TDE_tdsRect *RectSource, TDE_tdsRect *RectDest);
|
|
|
|
extern void iTDE_vBlitFastMemory(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitFastMemory_NZ(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitFastMemory_Invert(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitFastMemory_Invert_NZ(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
|
|
extern void iTDE_vBlitClipMemory(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitClipMemory_NZ(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitClipMemory_Invert(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
extern void iTDE_vBlitClipMemory_Invert_NZ(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
|
|
extern void iTDE_vBlitClipMemory2(TDE_tdsMemZone *Source, TDE_tdsRect *RectDest);
|
|
|
|
extern void iTDE_vBlit_Transparency(TDE_tdsRect *RectSource, TDE_tdsRect *RectDest, TDE_tdxValue xAlpha);
|
|
|
|
#ifdef __cplusplus
|
|
};
|
|
#endif /* __cplusplus */
|
|
|
|
|
|
#endif /* __TDE_RECT_H */
|
|
|
|
|
|
|