diff options
author | Eugene Sandulenko | 2014-08-09 15:26:20 +0200 |
---|---|---|
committer | Eugene Sandulenko | 2014-08-09 15:26:20 +0200 |
commit | 908b4113c11686de5e8bcc3014917c92ff8961b6 (patch) | |
tree | 8e82ad1ef4cd6c2a10fbbd64837d8f9475209162 /engines/scumm/charset.h | |
parent | e11fe13620be4b500c91b6141337786948c13694 (diff) | |
parent | c23ac81e36904d41852069477aae8cc1b672ebf0 (diff) | |
download | scummvm-rg350-908b4113c11686de5e8bcc3014917c92ff8961b6.tar.gz scummvm-rg350-908b4113c11686de5e8bcc3014917c92ff8961b6.tar.bz2 scummvm-rg350-908b4113c11686de5e8bcc3014917c92ff8961b6.zip |
Merge pull request #484 from wonst719/korean-work
SCUMM: Improve non-Towns CJK text rendering
Diffstat (limited to 'engines/scumm/charset.h')
-rw-r--r-- | engines/scumm/charset.h | 29 |
1 files changed, 22 insertions, 7 deletions
diff --git a/engines/scumm/charset.h b/engines/scumm/charset.h index 5a9977b7d6..b4b3d88ccd 100644 --- a/engines/scumm/charset.h +++ b/engines/scumm/charset.h @@ -100,7 +100,7 @@ protected: int _numChars; byte _shadowColor; - bool _shadowMode; + bool _enableShadow; public: CharsetRendererCommon(ScummEngine *vm); @@ -110,7 +110,24 @@ public: virtual int getFontHeight(); }; -class CharsetRendererClassic : public CharsetRendererCommon { +class CharsetRendererPC : public CharsetRendererCommon { + enum ShadowType { + kNoShadowType, + kNormalShadowType, + kHorizontalShadowType + }; + + ShadowType _shadowType; + +protected: + virtual void enableShadow(bool enable); + virtual void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height); + +public: + CharsetRendererPC(ScummEngine *vm) : CharsetRendererCommon(vm), _shadowType(kNoShadowType) { } +}; + +class CharsetRendererClassic : public CharsetRendererPC { protected: virtual void drawBitsN(const Graphics::Surface &s, byte *dst, const byte *src, byte bpp, int drawTop, int width, int height); void printCharIntern(bool is2byte, const byte *charPtr, int origWidth, int origHeight, int width, int height, VirtScreen *vs, bool ignoreCharsetMask); @@ -124,7 +141,7 @@ protected: VirtScreenNumber _drawScreen; public: - CharsetRendererClassic(ScummEngine *vm) : CharsetRendererCommon(vm) {} + CharsetRendererClassic(ScummEngine *vm) : CharsetRendererPC(vm) {} void printChar(int chr, bool ignoreCharsetMask); void drawChar(int chr, Graphics::Surface &s, int x, int y); @@ -170,10 +187,8 @@ public: int getCharWidth(uint16 chr) { return 8; } }; -class CharsetRendererV3 : public CharsetRendererCommon { +class CharsetRendererV3 : public CharsetRendererPC { protected: - virtual void enableShadow(bool enable); - virtual void drawBits1(Graphics::Surface &dest, int x, int y, const byte *src, int drawTop, int width, int height); virtual int getDrawWidthIntern(uint16 chr); virtual int getDrawHeightIntern(uint16 chr); virtual void setDrawCharIntern(uint16 chr) {} @@ -181,7 +196,7 @@ protected: const byte *_widthTable; public: - CharsetRendererV3(ScummEngine *vm) : CharsetRendererCommon(vm) {} + CharsetRendererV3(ScummEngine *vm) : CharsetRendererPC(vm) {} void printChar(int chr, bool ignoreCharsetMask); void drawChar(int chr, Graphics::Surface &s, int x, int y); |