OpenTTD
|
Handling of laying out text. More...
#include "stdafx.h"
#include "gfx_layout.h"
#include "string_func.h"
#include "strings_func.h"
#include "debug.h"
#include "table/control_codes.h"
#include "safeguards.h"
Go to the source code of this file.
Data Structures | |
class | FallbackParagraphLayout |
Class handling the splitting of a paragraph of text into lines and visual runs. More... | |
class | FallbackParagraphLayout::FallbackVisualRun |
Visual run contains data about the bit of text with the same font. More... | |
class | FallbackParagraphLayout::FallbackLine |
A single line worth of VisualRuns. More... |
Functions | |
static size_t | AppendToBuffer (WChar *buff, const WChar *buffer_last, WChar c) |
Appand a wide character to the internal buffer. | |
static FallbackParagraphLayout * | GetParagraphLayout (WChar *buff, WChar *buff_end, FontMap &fontMapping) |
Get the actual ParagraphLayout for the given buffer. | |
template<typename T > | |
static void | GetLayouter (Layouter::LineCacheItem &line, const char *&str, FontState &state) |
Helper for getting a ParagraphLayouter of the given type. |
Handling of laying out text.
Definition in file gfx_layout.cpp.
Appand a wide character to the internal buffer.
buff | The buffer to append to. |
buffer_last | The end of the buffer. |
c | The character to add. |
Definition at line 546 of file gfx_layout.cpp.
Referenced by GetLayouter().
|
inlinestatic |
Helper for getting a ParagraphLayouter of the given type.
line | The cache item to store our layouter in. |
str | The string to create a layouter for. |
state | The state of the font and color. |
T | The type of layouter we want. |
Definition at line 574 of file gfx_layout.cpp.
References AppendToBuffer(), Layouter::LineCacheItem::buffer, SmallMap< T, U, S >::Contains(), FontState::cur_colour, DRAW_STRING_BUFFER, FontState::fontsize, free(), FS_LARGE, FS_SMALL, Layouter::GetFont(), GetParagraphLayout(), SmallMap< T, U, S >::Insert(), IsTextDirectionChar(), Layouter::LineCacheItem::layout, Layouter::LineCacheItem::runs, SCC_BIGFONT, SCC_TINYFONT, FontState::SetColour(), FontState::SetFontSize(), FontState::SetPreviousColour(), and Layouter::LineCacheItem::state_after.
|
static |
Get the actual ParagraphLayout for the given buffer.
buff | The begin of the buffer. |
buff_end | The location after the last element in the buffer. |
fontMapping | THe mapping of the fonts. |
Definition at line 559 of file gfx_layout.cpp.
Referenced by GetLayouter().