summaryrefslogtreecommitdiff
path: root/src/gfx_layout.cpp
diff options
context:
space:
mode:
authorfrosch <frosch@openttd.org>2013-07-06 18:54:26 +0000
committerfrosch <frosch@openttd.org>2013-07-06 18:54:26 +0000
commit3fa1b4e8c32041d4b9b76664b4d53ef5e13a4e5f (patch)
tree5942d20f19c84dd940024f867144ff023df4ce23 /src/gfx_layout.cpp
parent3c0fbaaa1386565bc9f248a834396b84c081cc1a (diff)
downloadopenttd-3fa1b4e8c32041d4b9b76664b4d53ef5e13a4e5f.tar.xz
(svn r25567) -Codechange: Revive dead DrawStringParams as FontState.
Diffstat (limited to 'src/gfx_layout.cpp')
-rw-r--r--src/gfx_layout.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/gfx_layout.cpp b/src/gfx_layout.cpp
index 114c5c3e6..767bdc1d3 100644
--- a/src/gfx_layout.cpp
+++ b/src/gfx_layout.cpp
@@ -410,11 +410,11 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
const CharType *buffer_last = lastof(this->buffer);
CharType *buff = this->buffer;
- TextColour cur_colour = colour, prev_colour = colour;
+ FontState state(colour, fontsize);
WChar c = 0;
do {
- Font *f = new Font(fontsize, cur_colour);
+ Font *f = new Font(state.fontsize, state.cur_colour);
CharType *buff_begin = buff;
FontMap fontMapping;
@@ -428,14 +428,13 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
if (c == '\0' || c == '\n') {
break;
} else if (c >= SCC_BLUE && c <= SCC_BLACK) {
- prev_colour = cur_colour;
- cur_colour = (TextColour)(c - SCC_BLUE);
+ state.SetColour((TextColour)(c - SCC_BLUE));
} else if (c == SCC_PREVIOUS_COLOUR) { // Revert to the previous colour.
- Swap(prev_colour, cur_colour);
+ state.SetPreviousColour();
} else if (c == SCC_TINYFONT) {
- fontsize = FS_SMALL;
+ state.SetFontSize(FS_SMALL);
} else if (c == SCC_BIGFONT) {
- fontsize = FS_LARGE;
+ state.SetFontSize(FS_LARGE);
} else {
buff += AppendToBuffer(buff, buffer_last, c);
continue;
@@ -447,7 +446,7 @@ Layouter::Layouter(const char *str, int maxw, TextColour colour, FontSize fontsi
} else {
delete f;
}
- f = new Font(fontsize, cur_colour);
+ f = new Font(state.fontsize, state.cur_colour);
}
/* Better safe than sorry. */