mirror of https://github.com/OpenTTD/OpenTTD
(svn r26467) -Fix: Include shadow on ...
parent
9e578d358a
commit
e943d355e2
11
src/gfx.cpp
11
src/gfx.cpp
|
@ -418,19 +418,21 @@ static int DrawLayoutLine(const ParagraphLayouter::Line *line, int y, int left,
|
||||||
NOT_REACHED();
|
NOT_REACHED();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TextColour colour = TC_BLACK;
|
||||||
|
bool draw_shadow = false;
|
||||||
for (int run_index = 0; run_index < line->CountRuns(); run_index++) {
|
for (int run_index = 0; run_index < line->CountRuns(); run_index++) {
|
||||||
const ParagraphLayouter::VisualRun *run = line->GetVisualRun(run_index);
|
const ParagraphLayouter::VisualRun *run = line->GetVisualRun(run_index);
|
||||||
const Font *f = (const Font*)run->GetFont();
|
const Font *f = (const Font*)run->GetFont();
|
||||||
|
|
||||||
FontCache *fc = f->fc;
|
FontCache *fc = f->fc;
|
||||||
TextColour colour = f->colour;
|
colour = f->colour;
|
||||||
SetColourRemap(colour);
|
SetColourRemap(colour);
|
||||||
|
|
||||||
DrawPixelInfo *dpi = _cur_dpi;
|
DrawPixelInfo *dpi = _cur_dpi;
|
||||||
int dpi_left = dpi->left;
|
int dpi_left = dpi->left;
|
||||||
int dpi_right = dpi->left + dpi->width - 1;
|
int dpi_right = dpi->left + dpi->width - 1;
|
||||||
|
|
||||||
bool draw_shadow = fc->GetDrawGlyphShadow() && colour != TC_BLACK;
|
draw_shadow = fc->GetDrawGlyphShadow() && colour != TC_BLACK;
|
||||||
|
|
||||||
for (int i = 0; i < run->GetGlyphCount(); i++) {
|
for (int i = 0; i < run->GetGlyphCount(); i++) {
|
||||||
GlyphID glyph = run->GetGlyphs()[i];
|
GlyphID glyph = run->GetGlyphs()[i];
|
||||||
|
@ -461,6 +463,11 @@ static int DrawLayoutLine(const ParagraphLayouter::Line *line, int y, int left,
|
||||||
if (truncation) {
|
if (truncation) {
|
||||||
int x = (_current_text_dir == TD_RTL) ? left : (right - 3 * dot_width);
|
int x = (_current_text_dir == TD_RTL) ? left : (right - 3 * dot_width);
|
||||||
for (int i = 0; i < 3; i++, x += dot_width) {
|
for (int i = 0; i < 3; i++, x += dot_width) {
|
||||||
|
if (draw_shadow) {
|
||||||
|
SetColourRemap(TC_BLACK);
|
||||||
|
GfxMainBlitter(dot_sprite, x + 1, y + 1, BM_COLOUR_REMAP);
|
||||||
|
SetColourRemap(colour);
|
||||||
|
}
|
||||||
GfxMainBlitter(dot_sprite, x, y, BM_COLOUR_REMAP);
|
GfxMainBlitter(dot_sprite, x, y, BM_COLOUR_REMAP);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue