diff options
author | Ľubomír Remák | 2018-04-14 23:04:20 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2018-08-25 23:12:01 +0200 |
commit | 61c106b3307ee2f8aaa579dbc5d7c8f8e62ae41a (patch) | |
tree | 90eddbbbc6be77b6e45fb52135c88cab40648ab1 /engines/mutationofjb/font.h | |
parent | 5290d9a74b2f704675cf5ae69bcf892b5afd274f (diff) | |
download | scummvm-rg350-61c106b3307ee2f8aaa579dbc5d7c8f8e62ae41a.tar.gz scummvm-rg350-61c106b3307ee2f8aaa579dbc5d7c8f8e62ae41a.tar.bz2 scummvm-rg350-61c106b3307ee2f8aaa579dbc5d7c8f8e62ae41a.zip |
MUTATIONOFJB: Add font support and conversation widget.
Diffstat (limited to 'engines/mutationofjb/font.h')
-rw-r--r-- | engines/mutationofjb/font.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/engines/mutationofjb/font.h b/engines/mutationofjb/font.h new file mode 100644 index 0000000000..5aa6a4fb78 --- /dev/null +++ b/engines/mutationofjb/font.h @@ -0,0 +1,70 @@ +/* ScummVM - Graphic Adventure Engine + * + * ScummVM is the legal property of its developers, whose names + * are too numerous to list here. Please refer to the COPYRIGHT + * file distributed with this source distribution. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + */ + +#ifndef MUTATIONOFJB_FONT_H +#define MUTATIONOFJB_FONT_H + +#include "common/scummsys.h" +#include "common/hashmap.h" +#include "graphics/managed_surface.h" + +namespace Common { +class String; +} + +namespace MutationOfJB { + +class Font { +public: + Font(const Common::String &fileName, int horizSpacing, int vertSpacing); + virtual ~Font() {} + void drawString(const Common::String &str, uint8 baseColor, int16 x, int16 y, Graphics::ManagedSurface &surf); + +protected: + virtual uint8 transformColor(uint8 baseColor, uint8 glyphColor); + +private: + void drawGlyph(uint8 glyph, uint8 baseColor, int16 &x, int16 &y, Graphics::ManagedSurface &surf); + bool load(const Common::String &fileName); + + int _horizSpacing; + int _vertSpacing; + typedef Common::HashMap<uint8, Graphics::ManagedSurface> GlyphMap; + GlyphMap _glyphs; +}; + +class SystemFont : public Font { +public: + SystemFont(); +}; + +class SpeechFont : public Font { +public: + SpeechFont(); + +protected: + virtual uint8 transformColor(uint8 baseColor, uint8 glyphColor) override; +}; + +} + +#endif |