aboutsummaryrefslogtreecommitdiff
path: root/archive/include/hgefont.h
diff options
context:
space:
mode:
authorGravatar Chris Xiong <chirs241097@gmail.com> 2015-10-26 22:52:36 +0800
committerGravatar Chris Xiong <chirs241097@gmail.com> 2015-10-26 22:52:36 +0800
commit3bd383baf6a17e734329e1fc677c7e86283db772 (patch)
tree69a9148087577f797624ceb9c71323a2563d6bb4 /archive/include/hgefont.h
parent543e4f570be9b279ba558ca61cc02cda251af384 (diff)
downloadbullet-lab-remix-3bd383baf6a17e734329e1fc677c7e86283db772.tar.xz
Added support for relative line numbers.
Added instructions for, brk and cont. (They are still untested...) Parser code cleanup. Removed garbage output to stderr. Reorganize the repository structure. Updated BLR2 code move it into archive. Added BLR1 files.
Diffstat (limited to 'archive/include/hgefont.h')
-rw-r--r--archive/include/hgefont.h94
1 files changed, 94 insertions, 0 deletions
diff --git a/archive/include/hgefont.h b/archive/include/hgefont.h
new file mode 100644
index 0000000..403d307
--- /dev/null
+++ b/archive/include/hgefont.h
@@ -0,0 +1,94 @@
+/*
+** 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 "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
+
+/*
+** 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(DWORD 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;}
+
+ DWORD 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;}
+
+ hgeSprite* GetSprite(char chr) const { return letters[(unsigned char)chr]; }
+ float GetPreWidth(char chr) const { return pre[(unsigned char)chr]; }
+ float GetPostWidth(char chr) const { return post[(unsigned char)chr]; }
+ float GetHeight() const { return fHeight; }
+ float GetStringWidth(const char *string, bool bMultiline=true) const;
+
+ HTEXTURE GetTexture(){return hTexture;}
+private:
+ hgeFont();
+ hgeFont(const hgeFont &fnt);
+ hgeFont& operator= (const hgeFont &fnt);
+
+ char* _get_line(char *file, char *line);
+
+ static HGE *hge;
+
+ static char buffer[1024];
+
+ HTEXTURE hTexture;
+ hgeSprite* letters[256];
+ float pre[256];
+ float post[256];
+ float fHeight;
+ float fScale;
+ float fProportion;
+ float fRot;
+ float fTracking;
+ float fSpacing;
+
+ DWORD dwCol;
+ float fZ;
+ int nBlend;
+};
+
+
+#endif