aboutsummaryrefslogtreecommitdiff
path: root/engines/parallaction/graphics.h
diff options
context:
space:
mode:
authorNicola Mettifogo2007-04-16 20:16:18 +0000
committerNicola Mettifogo2007-04-16 20:16:18 +0000
commit987638a71361129748ef0bfac51850d7c8dc3ecc (patch)
treed0e24f20e358992c817479f7bdb790258cda721c /engines/parallaction/graphics.h
parentbf7123548ab5dc5f3eef105ea4d58a30f4844c29 (diff)
downloadscummvm-rg350-987638a71361129748ef0bfac51850d7c8dc3ecc.tar.gz
scummvm-rg350-987638a71361129748ef0bfac51850d7c8dc3ecc.tar.bz2
scummvm-rg350-987638a71361129748ef0bfac51850d7c8dc3ecc.zip
Now handling fonts with brand-new Font hierarchy. Amiga font have been implemented for dialogues/descriptions, but not for labels yet.
svn-id: r26530
Diffstat (limited to 'engines/parallaction/graphics.h')
-rw-r--r--engines/parallaction/graphics.h25
1 files changed, 23 insertions, 2 deletions
diff --git a/engines/parallaction/graphics.h b/engines/parallaction/graphics.h
index 0126532a2f..67226000e1 100644
--- a/engines/parallaction/graphics.h
+++ b/engines/parallaction/graphics.h
@@ -68,6 +68,26 @@ struct PaletteFxRange {
#include "common/pack-end.h" // END STRUCT PACKING
+class Font {
+
+ byte _color;
+
+
+public:
+ Font() {}
+ virtual ~Font() {}
+
+ virtual void setColor(byte color) {
+ _color = color;
+ }
+ virtual uint32 getStringWidth(const char *s) = 0;
+ virtual uint16 height() = 0;
+
+ virtual void drawString(byte* buffer, uint32 pitch, const char *s) = 0;
+
+
+};
+
struct StaticCnv {
uint16 _width; //
uint16 _height; //
@@ -195,6 +215,7 @@ public:
void setMousePointer(int16 index);
+ void initFonts();
void setFont(Fonts name);
public:
@@ -209,8 +230,8 @@ protected:
static byte * _buffers[NUM_BUFFERS];
static byte _mouseArrow[256];
StaticCnv *_mouseComposedArrow;
- Cnv *_font;
- Cnv *_fonts[3];
+ Font *_font;
+ Font *_fonts[3];
protected:
byte mapChar(byte c);