[Scummvm-git-logs] scummvm master -> 119e1bd30d7c5f95fa5113c4700384bc5c217882
sev-
sev at scummvm.org
Mon Jan 30 22:58:52 CET 2017
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
119e1bd30d GRAPHICS: More work on rich text formatting
Commit: 119e1bd30d7c5f95fa5113c4700384bc5c217882
https://github.com/scummvm/scummvm/commit/119e1bd30d7c5f95fa5113c4700384bc5c217882
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2017-01-30T22:58:32+01:00
Commit Message:
GRAPHICS: More work on rich text formatting
Changed paths:
graphics/macgui/mactext.cpp
graphics/macgui/mactext.h
diff --git a/graphics/macgui/mactext.cpp b/graphics/macgui/mactext.cpp
index 8d83c19..4e86fcf 100644
--- a/graphics/macgui/mactext.cpp
+++ b/graphics/macgui/mactext.cpp
@@ -56,6 +56,8 @@ MacText::MacText(Common::String s, MacWindowManager *wm, const Font *font, int f
_defaultFormatting.font = font;
_defaultFormatting.wm = wm;
+
+ _currentFormatting = _defaultFormatting;
}
void MacText::splitString(Common::String &str) {
@@ -64,6 +66,8 @@ void MacText::splitString(Common::String &str) {
Common::String tmp;
bool prevCR = false;
+ int curLine = _text.empty() ? 0 : _text.size() - 1;
+
while (*s) {
if (*s == '\001') {
s++;
@@ -84,6 +88,13 @@ void MacText::splitString(Common::String &str) {
debug(8, "******** splitString: fontId: %d, textSlant: %d, unk3: %d, fontSize: %d, p0: %x p1: %x p2: %x",
fontId, textSlant, unk3f, fontSize, palinfo1, palinfo2, palinfo3);
+ _currentFormatting.setValues(_wm, fontId, textSlant, unk3f, fontSize, palinfo1, palinfo2, palinfo3);
+
+ if (_formatting.empty())
+ _formatting.resize(1);
+
+ _formatting[curLine].push_back(_currentFormatting);
+
continue;
}
}
diff --git a/graphics/macgui/mactext.h b/graphics/macgui/mactext.h
index 241ad65..17c3b39 100644
--- a/graphics/macgui/mactext.h
+++ b/graphics/macgui/mactext.h
@@ -45,26 +45,18 @@ struct MacFontRun {
MacFontRun() {
wm = nullptr;
- fontId = textSlant = unk3f = fontSize;
- palinfo1 = palinfo2 = palinfo3;
+ fontId = textSlant = unk3f = fontSize = 0;
+ palinfo1 = palinfo2 = palinfo3 = 0;
font = nullptr;
}
MacFontRun(MacWindowManager *wm_, uint16 fontId_, byte textSlant_, byte unk3f_, uint16 fontSize_,
uint16 palinfo1_, uint16 palinfo2_, uint16 palinfo3_) {
- wm = wm_;
- fontId = fontId_;
- textSlant = textSlant_;
- unk3f = unk3f_;
- fontSize = fontSize_;
- palinfo1 = palinfo1_;
- palinfo2 = palinfo2_;
- palinfo3 = palinfo3_;
- font = nullptr;
+ setValues(wm_, fontId_, textSlant_, unk3f_, fontSize_, palinfo1_, palinfo2_, palinfo3_);
}
void setValues(MacWindowManager *wm_, uint16 fontId_, byte textSlant_, byte unk3f_, uint16 fontSize_,
- uint16 palinfo1_, uint16 palinfo2_, uint16 palinfo3_, const Font *font_) {
+ uint16 palinfo1_, uint16 palinfo2_, uint16 palinfo3_) {
wm = wm_;
fontId = fontId_;
textSlant = textSlant_;
@@ -73,7 +65,7 @@ struct MacFontRun {
palinfo1 = palinfo1_;
palinfo2 = palinfo2_;
palinfo3 = palinfo3_;
- font = font_;
+ font = nullptr;
}
const Font *getFont();
@@ -120,6 +112,7 @@ private:
Common::Array< Common::Array<MacFontRun> > _formatting;
MacFontRun _defaultFormatting;
+ MacFontRun _currentFormatting;
};
} // End of namespace Graphics
More information about the Scummvm-git-logs
mailing list