94 lines
2.1 KiB
C++
94 lines
2.1 KiB
C++
/*
|
|
** Haaf's Game Engine 1.7
|
|
** Copyright (C) 2003-2007, Relish Games
|
|
** hge.relishgames.com
|
|
**
|
|
** hgeFont helper class header
|
|
*/
|
|
|
|
|
|
#ifndef HGEFONT_H
|
|
#define HGEFONT_H
|
|
|
|
#include "../JTypes.h"
|
|
//#include "hge.h"
|
|
//#include "hgesprite.h"
|
|
|
|
|
|
#define HGETEXT_LEFT 0
|
|
#define HGETEXT_RIGHT 1
|
|
#define HGETEXT_CENTER 2
|
|
#define HGETEXT_HORZMASK 0x03
|
|
|
|
#define HGETEXT_TOP 0
|
|
#define HGETEXT_BOTTOM 4
|
|
#define HGETEXT_MIDDLE 8
|
|
#define HGETEXT_VERTMASK 0x0C
|
|
|
|
class JTexture;
|
|
class JQuad;
|
|
/*
|
|
** HGE Font class
|
|
*/
|
|
class hgeFont
|
|
{
|
|
public:
|
|
hgeFont(const char *filename, bool bMipmap=false);
|
|
~hgeFont();
|
|
|
|
void Render(float x, float y, int align, const char *string);
|
|
void printf(float x, float y, int align, const char *format, ...);
|
|
void printfb(float x, float y, float w, float h, int align, const char *format, ...);
|
|
|
|
void SetColor(PIXEL_TYPE col);
|
|
void SetZ(float z);
|
|
void SetBlendMode(int blend);
|
|
void SetScale(float scale) {fScale=scale;}
|
|
void SetProportion(float prop) { fProportion=prop; }
|
|
void SetRotation(float rot) {fRot=rot;}
|
|
void SetTracking(float tracking) {fTracking=tracking;}
|
|
void SetSpacing(float spacing) {fSpacing=spacing;}
|
|
|
|
PIXEL_TYPE GetColor() const {return dwCol;}
|
|
float GetZ() const {return fZ;}
|
|
int GetBlendMode() const {return nBlend;}
|
|
float GetScale() const {return fScale;}
|
|
float GetProportion() const { return fProportion; }
|
|
float GetRotation() const {return fRot;}
|
|
float GetTracking() const {return fTracking;}
|
|
float GetSpacing() const {return fSpacing;}
|
|
|
|
JQuad* GetSprite(char chr) const { return letters[(unsigned char)chr]; }
|
|
float GetHeight() const { return fHeight; }
|
|
float GetStringWidth(const char *string) const;
|
|
|
|
private:
|
|
hgeFont();
|
|
hgeFont(const hgeFont &fnt);
|
|
hgeFont& operator= (const hgeFont &fnt);
|
|
|
|
char* _get_line(char *file, char *line);
|
|
|
|
//static HGE *hge;
|
|
|
|
static char buffer[256];
|
|
|
|
JTexture* hTexture;
|
|
JQuad* letters[256];
|
|
float pre[256];
|
|
float post[256];
|
|
float fHeight;
|
|
float fScale;
|
|
float fProportion;
|
|
float fRot;
|
|
float fTracking;
|
|
float fSpacing;
|
|
|
|
PIXEL_TYPE dwCol;
|
|
float fZ;
|
|
int nBlend;
|
|
};
|
|
|
|
|
|
#endif
|