Public Member Functions | Private Types | Private Member Functions | Private Attributes

Layouter Class Reference

The layouter performs all the layout work. More...

#include <gfx_layout.h>

Inheritance diagram for Layouter:
AutoDeleteSmallVector< ParagraphLayout::Line *, 4 > SmallVector< ParagraphLayout::Line *, S >

Public Member Functions

 Layouter (const char *str, int maxw=INT32_MAX, TextColour colour=TC_FROMSTRING, FontSize fontsize=FS_NORMAL)
 Create a new layouter.
 ~Layouter ()
 Free everything we allocated.
Dimension GetBounds ()
 Get the boundaries of this paragraph.

Private Types

typedef UChar CharType
 The type of character used within the layouter.

Private Member Functions

size_t AppendToBuffer (CharType *buff, const CharType *buffer_last, WChar c)
ParagraphLayout * GetParagraphLayout (CharType *buff, CharType *buff_end, FontMap &fontMapping)

Private Attributes

CharType buffer [DRAW_STRING_BUFFER]
 Buffer for the text that is going to be drawn.
SmallVector< Font *, 4 > fonts
 The fonts needed for drawing.

Detailed Description

The layouter performs all the layout work.

It also accounts for the memory allocations and frees.

Definition at line 121 of file gfx_layout.h.


Constructor & Destructor Documentation

Layouter::Layouter ( const char *  str,
int  maxw = INT32_MAX,
TextColour  colour = TC_FROMSTRING,
FontSize  fontsize = FS_NORMAL 
)

Create a new layouter.

Parameters:
str The string to create the layout for.
maxw The maximum width.
colour The colour of the font.
fontsize The size of font to use.

Definition at line 406 of file gfx_layout.cpp.

References SmallVector< ParagraphLayout::Line *, S >::Append(), SmallVector< T, S >::Append(), SmallMap< T, U, S >::Contains(), fonts, SmallMap< T, U, S >::Insert(), lastof, SCC_BIGFONT, SCC_TINYFONT, and Swap().

Layouter::~Layouter (  ) 

Free everything we allocated.

Definition at line 472 of file gfx_layout.cpp.

References SmallVector< T, S >::Begin(), SmallVector< T, S >::End(), and fonts.


Member Function Documentation

Dimension Layouter::GetBounds (  ) 

Get the boundaries of this paragraph.

Returns:
The boundaries.

Definition at line 483 of file gfx_layout.cpp.

References SmallVector< ParagraphLayout::Line *, S >::Begin(), and SmallVector< ParagraphLayout::Line *, S >::End().

Referenced by DrawStringMultiLine(), GetStringBoundingBox(), and GetStringHeight().


The documentation for this class was generated from the following files: