81 lines
2.9 KiB
C
81 lines
2.9 KiB
C
#ifndef __TEXTFRMT_H__
|
|
#define __TEXTFRMT_H__
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif
|
|
|
|
#include "GAM/Header.h"
|
|
|
|
#if defined(__cplusplus)
|
|
extern "C"
|
|
{
|
|
#endif /* __cplusplus */
|
|
|
|
/*the structure that holds all the relevant information for formatting*/
|
|
typedef struct stTfmtStatus_
|
|
{
|
|
MTH_tdxReal xScreenWidth;
|
|
MTH_tdxReal xBaseCharX, xBaseCharZ;
|
|
MTH_tdxReal xBaseToAddX;
|
|
MTH_tdxReal xRandomPosRadius;
|
|
MTH_tdxReal xCharWidth, xLineHeight, xCharZoom;
|
|
MTH_tdxReal xCurCharZoom ;
|
|
MTH_tdxReal xCurCharWidth ;
|
|
tdxHandleToObjectsTablesList hSourceObjectTable;
|
|
char cJustificationMode;
|
|
} tdstTfmtStatus;
|
|
|
|
typedef struct stTfmtLineResults_
|
|
{
|
|
short wStartChar;
|
|
short wEndChar;
|
|
MTH3D_tdstVector stLineOrigin;
|
|
} tdstTfmtLineResults;
|
|
|
|
#define MAX_TEXTAFFICHE 30
|
|
|
|
typedef struct stInfoTextAffiche_
|
|
{
|
|
BOOL bFirstInit;
|
|
unsigned long ulCurrentDelay; /* Delay between letters*/
|
|
unsigned long ulTimer; /* The Timer*/
|
|
unsigned long ulEvent; /* Evenement*/
|
|
short wCurrentLetterInString; /* Position of the current letter in string*/
|
|
} tdstInfoTextAffiche;
|
|
|
|
|
|
#define TFMT_MAX_SCALEDPATTERN 50
|
|
#define TFMT_MAX_WIDTHTABLEELMENT 256
|
|
|
|
|
|
|
|
extern unsigned char g_ucTextAfficheId;
|
|
extern HIE_tdxHandleToSuperObject gp_SuperObjPersoGenerated[MAX_TEXTAFFICHE];
|
|
extern tdstInfoTextAffiche g_stInfoTextAffiche[MAX_TEXTAFFICHE];
|
|
extern BOOL g_bFreeTextAfficheBlocs[MAX_TEXTAFFICHE];
|
|
|
|
short TFMT_wPositionModulesAccordingToText(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, char *_pszText, long _lStart, long _lEnd, MTH_tdxReal _xScreenWidth, tdstTfmtLineResults *_d_stLineResults, short _wNbLines);
|
|
unsigned long TFMT_wPositionModulesAccordingToText2(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, char *_pszText, long _lStart, long _lEnd, ACP_tdxBool *bFirstTime, short *pwCurrentChar, unsigned long *ulDelay);
|
|
void TFMT_vInitFormatterStatus(tdstTfmtStatus *_p_stStatus, HIE_tdxHandleToSuperObject _hSuperObjPerso, MTH_tdxReal _xScreenWidth);
|
|
void TFMT_vChangeLetter( HIE_tdxHandleToSuperObject hSuperObjPerso, unsigned char ucPosLetter, unsigned char ucLetter );
|
|
void TEXT_vComputeLengthOgString( char *p_szString, tdstTfmtStatus *p_stStatus );
|
|
void TFMT_vSetDefaultValuesCharacter(MTH_tdxReal _xCharWidth, MTH_tdxReal _xLineHeight, MTH_tdxReal _xCharZoom);
|
|
void TFMT_vInitTextAfficheStructure( void );
|
|
unsigned char TFMT_ucNumberOfCurrentTextAffiche( HIE_tdxHandleToSuperObject p_SuperObjPersoTreated );
|
|
unsigned char TFMT_ucSetNumber4CurrentTextAffiche( void );
|
|
void TFMT_ucClearNumberOfCurrentTextAffiche( HIE_tdxHandleToSuperObject p_SuperObjPersoTreated );
|
|
|
|
|
|
void TFMT_vInitScapingTable ( MTH_tdxReal xValue ) ;
|
|
void TFMT_vUpdateSpacingTable ( char *szText ) ;
|
|
void TFMT_vInitScaleTable ( MTH_tdxReal xValue ) ;
|
|
void TFMT_vUpdateScaleTable ( char *szText ) ;
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#endif /* __TEXTFRMT_H__ */
|
|
|