aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/graphics/controls.cpp4
-rw-r--r--engines/sci/graphics/font.h3
-rw-r--r--engines/sci/graphics/fontsjis.cpp4
-rw-r--r--engines/sci/graphics/fontsjis.h1
-rw-r--r--engines/sci/graphics/frameout.cpp2
5 files changed, 4 insertions, 10 deletions
diff --git a/engines/sci/graphics/controls.cpp b/engines/sci/graphics/controls.cpp
index 8a2c3275be..b1392cea11 100644
--- a/engines/sci/graphics/controls.cpp
+++ b/engines/sci/graphics/controls.cpp
@@ -116,12 +116,12 @@ void GfxControls::texteditCursorDraw(Common::Rect rect, const char *text, uint16
if (!_texteditCursorVisible) {
textWidth = 0;
for (i = 0; i < curPos; i++) {
- textWidth += _text16->_font->getCharWidth(text[i]);
+ textWidth += _text16->_font->getCharWidth((unsigned char)text[i]);
}
_texteditCursorRect.left = rect.left + textWidth;
_texteditCursorRect.top = rect.top;
_texteditCursorRect.bottom = _texteditCursorRect.top + _text16->_font->getHeight();
- _texteditCursorRect.right = _texteditCursorRect.left + (text[curPos] == 0 ? 1 : _text16->_font->getCharWidth(text[curPos]));
+ _texteditCursorRect.right = _texteditCursorRect.left + (text[curPos] == 0 ? 1 : _text16->_font->getCharWidth((unsigned char)text[curPos]));
_paint16->invertRect(_texteditCursorRect);
_paint16->bitsShow(_texteditCursorRect);
_texteditCursorVisible = true;
diff --git a/engines/sci/graphics/font.h b/engines/sci/graphics/font.h
index c405f5a0a0..90f18e426d 100644
--- a/engines/sci/graphics/font.h
+++ b/engines/sci/graphics/font.h
@@ -39,7 +39,6 @@ public:
virtual byte getHeight() { return 0; };
virtual bool isDoubleByte(uint16 chr) { return false; };
virtual byte getCharWidth(uint16 chr) { return 0; };
- virtual byte getCharHeight(uint16 chr) { return 0; };
virtual void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput) {};
};
@@ -56,10 +55,10 @@ public:
GuiResourceId getResourceId();
byte getHeight();
byte getCharWidth(uint16 chr);
- byte getCharHeight(uint16 chr);
void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput);
private:
+ byte getCharHeight(uint16 chr);
byte *getCharData(uint16 chr);
ResourceManager *_resMan;
diff --git a/engines/sci/graphics/fontsjis.cpp b/engines/sci/graphics/fontsjis.cpp
index 8e908c2853..c2e3d12318 100644
--- a/engines/sci/graphics/fontsjis.cpp
+++ b/engines/sci/graphics/fontsjis.cpp
@@ -67,10 +67,6 @@ byte GfxFontSjis::getCharWidth(uint16 chr) {
return _commonFont->getCharWidth(chr) >> 1;
}
-byte GfxFontSjis::getCharHeight(uint16 chr) {
- return _commonFont->getFontHeight() >> 1;
-}
-
void GfxFontSjis::draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput) {
// TODO: Check, if character fits on screen - if it doesn't we need to skip it
// Normally SCI cuts the character and draws the part that fits, but the common SJIS doesn't support that
diff --git a/engines/sci/graphics/fontsjis.h b/engines/sci/graphics/fontsjis.h
index 4330342331..24c8423ddb 100644
--- a/engines/sci/graphics/fontsjis.h
+++ b/engines/sci/graphics/fontsjis.h
@@ -44,7 +44,6 @@ public:
byte getHeight();
bool isDoubleByte(uint16 chr);
byte getCharWidth(uint16 chr);
- byte getCharHeight(uint16 chr);
void draw(uint16 chr, int16 top, int16 left, byte color, bool greyedOutput);
private:
diff --git a/engines/sci/graphics/frameout.cpp b/engines/sci/graphics/frameout.cpp
index e401798233..78253bd913 100644
--- a/engines/sci/graphics/frameout.cpp
+++ b/engines/sci/graphics/frameout.cpp
@@ -252,7 +252,7 @@ void GfxFrameout::kernelFrameout() {
// TODO: proper text splitting... this is a hack
if ((text[i] == ' ' && i > 0 && text[i - i] == ' ') || text[i] == '\n' ||
(curX + font->getCharWidth(text[i]) > _screen->getWidth())) {
- curY += font->getCharHeight('A');
+ curY += font->getHeight();
curX = itemEntry->x;
}
font->draw(text[i], curY, curX, foreColor, dimmed);