SDLGameEngine

- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- File List
- Globals

# include/sgefont.h

Go to the documentation of this file.

    00001 #ifndef _SGEFONT_H
    00002 #define _SGEFONT_H
    00003
    00004 #ifdef __cplusplus
    00005 extern "C" {
    00006 #endif
    00007
    00012 /*
    00013  * Copyright (c) 2007 Heiko Irrgang
    00014  *
    00015  * The license and distribution terms for this file may be
    00016  * found in the file COPYING in this distribution or at
    00017  * http://93-interactive.com/cms/products/software/sdl-game-engine/license/
    00018  */
    00019
    00046 #define SGEFONT_BITMAP 1
    00047
    00052 typedef struct {
    00054         SDL_Surface *bitmap;
    00055         unsigned char *charmap;
    00056         SGEARRAY *info;
    00057 } SGEBITMAPFONT;
    00058
    00063 typedef struct {
    00065         int type;
    00067         Uint8 alpha;
    00069         void *data;
    00070 } SGEFONT;
    00071
    00076 enum SGEFONTFX_TYPES {
    00078         SGEFONTFX_FADE_IN,
    00080         SGEFONTFX_FADE_OUT,
    00082         SGEFONTFX_FADE_INOUT,
    00084         SGEFONTFX_MOVE_IN,
    00086         SGEFONTFX_MOVE_OUT,
    00088         SGEFONTFX_MOVE_INOUT,
    00090         SGEFONTFX_COUNTDOWN
    00091 };
    00092
    00097 enum SGEFONTFX_MOVEMENT {
    00099         SGEFONTFX_MOVE_LINEAR,
    00101         SGEFONTFX_MOVE_SLOWDOWN,
    00103         SGEFONTFX_MOVE_ACCELERATE,
    00105         SGEFONTFX_MOVE_BOUNCE
    00106 };
    00107
    00112 typedef struct {
    00114         Uint32 runtime;
    00115         Uint8 fade;
    00116 } SGEFONTFXFADEINFO;
    00117
    00122 typedef struct {
    00124         Uint32 runtime;
    00125         Sint32 start;
    00126         Sint32 end;
    00127 } SGEFONTFXCOUNTDOWNINFO;
    00128
    00133 typedef struct {
    00135         int startx, starty;
    00136         int endx, endy;
    00137         Uint32 type;
    00138         Uint32 runtime;
    00139         Uint32 startTime;
    00140         Uint32 finishTime;
    00141         Uint32 charOffset;
    00142         Uint32 finished;
    00143         Uint8 movement;
    00144         SDL_Surface *surface;
    00145         SGEFONT *font;
    00146         void *data;
    00147         void (*updateFunction)(void *);
    00148         void (*freeFunction)(void *);
    00149         char *text;
    00150         SGEARRAY *textSprites;
    00151         Uint32 preDelay;
    00152         Uint32 postDelay;
    00153         Uint8 hideOnPreDelay;
    00154 } SGEFONTFX;
    00155
    00160 typedef struct {
    00162         SGEFONTFX *fadeIn;
    00163         SGEFONTFX *fadeOut;
    00164 } SGEFONTFXFADEINOUTINFO;
    00165
    00172 SGEFONT *sgeFontNew(int type);
    00173
    00182 SGEFONT *sgeFontNewFile(SGEFILE *f, int type, const char *filename);
    00183
    00185 SGEFONT *sgeFontNewFileBitmap(SGEFILE *f, const char *filename);
    00186
    00191 void sgeFontDestroy(SGEFONT *f);
    00192
    00198 int sgeFontGetLineHeight(SGEFONT *f);
    00200 int sgeFontGetLineHeightBitmap(SGEFONT *f);
    00201
    00210 int sgeFontPrint(SGEFONT *f, SDL_Surface *dest, int x, int y, const char *text);
    00212 int sgeFontPrintBitmap(SGEFONT *f, SDL_Surface *dest, int x, int y, const char *text);
    00213
    00220 int sgeFontGetWidth(SGEFONT *f, const char *text);
    00222 int sgeFontGetWidthBitmap(SGEFONT *f, const char *text);
    00223
    00231 void sgeFontIgnoreAlpha(SGEFONT *f);
    00232
    00238 void sgeFontUseAlpha(SGEFONT *f);
    00239
    00277 SGEFONTFX *sgeFontFXNew(SGEFONT *f, Uint32 fxtype, Uint8 movement, Uint32 runtime, Uint32 charOffset, int startx, int starty, int endx, int endy, const char *text);
    00278
    00283 void sgeFontFXDraw(SGEFONTFX *fx);
    00284
    00289 void sgeFontFXDestroy(SGEFONTFX *fx);
    00290
    00300 void sgeFontFXCountdownSetValues(SGEFONTFX *fx, Sint32 start, Sint32 end);
    00301
    00308 void sgeFontFXPreDelay(SGEFONTFX *fx, Uint32 delay);
    00309
    00316 void sgeFontFXHideOnPreDelay(SGEFONTFX *fx, Uint8 yesno);
    00317
    00324 void sgeFontFXPostDelay(SGEFONTFX *fx, Uint32 delay);
    00325
    00330 void sgeFontFXSetFinished(SGEFONTFX *fx);
    00331
    00342 int sgeFontFXFinished(SGEFONTFX *fx);
    00343
    00349 void sgeFontFXSetTarget(SGEFONTFX *fx, SDL_Surface *surface);
    00350
    00352 SGEFONTFXFADEINFO *sgeFontFXFadeInfoNew(Uint32 runtime);
    00353 void sgeFontFXFadeInfoDestroy(SGEFONTFXFADEINFO *fi);
    00354 SGEFONTFXFADEINOUTINFO *sgeFontFXFadeInOutInfoNew(SGEFONTFX *fx, Uint32 runtimein, Uint32 runtimeout,Uint8 fade);
    00355 void sgeFontFXFadeInOutInfoDestroy(SGEFONTFXFADEINOUTINFO *fi);
    00356 SGEFONTFXCOUNTDOWNINFO *sgeFontFXCountdownInfoNew(Uint32 runtime);
    00357 void sgeFontFXCountdownInfoDestroy(SGEFONTFXCOUNTDOWNINFO *fi);
    00358 int sgeFontFXGetPer10K(SGEFONTFX *fx, Uint32 current, Uint32 runtime, Uint32 currentElement, Uint32 numberOfElements);
    00359
    00360 void sgeFontFXFadeInUpdate(void *data);
    00361 void sgeFontFXFadeInDestroy(void *data);
    00362
    00363 void sgeFontFXFadeOutUpdate(void *data);
    00364 void sgeFontFXFadeOutDestroy(void *data);
    00365
    00366 void sgeFontFXFadeInOutUpdate(void *data);
    00367 void sgeFontFXFadeInOutDestroy(void *data);
    00368
    00369 void sgeFontFXCountdownUpdate(void *data);
    00370 void sgeFontFXCountdownDestroy(void *data);
    00371
    00372 // }@
    00373
    00374 #ifdef __cplusplus
    00375 }
    00376 #endif
    00377
    00378 #endif

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines