NSMBW-Decomp
A decompilation of New Super Mario Bros. Wii
Loading...
Searching...
No Matches
nw4r::ut::TextWriterBase< T > Class Template Reference
Inheritance diagram for nw4r::ut::TextWriterBase< T >:
[legend]

Description

template<typename T>
class nw4r::ut::TextWriterBase< T >

Definition at line 16 of file ut_TextWriterBase.h.

Public Types

enum  DrawFlag {
  DRAWFLAG_ALIGN_TEXT_BASELINE = 0 ,
  DRAWFLAG_ALIGN_TEXT_CENTER = (1 << 0) ,
  DRAWFLAG_ALIGN_TEXT_RIGHT = (1 << 1) ,
  DRAWFLAG_ALIGN_H_BASELINE = 0 ,
  DRAWFLAG_ALIGN_H_CENTER = (1 << 4) ,
  DRAWFLAG_ALIGN_H_RIGHT = (1 << 5) ,
  DRAWFLAG_ALIGN_V_BASELINE = 0 ,
  DRAWFLAG_ALIGN_V_CENTER = (1 << 8) ,
  DRAWFLAG_ALIGN_V_TOP = (1 << 9) ,
  DRAWFLAG_MASK_ALIGN_TEXT ,
  DRAWFLAG_MASK_ALIGN_H ,
  DRAWFLAG_MASK_ALIGN_V
}
 
- Public Types inherited from nw4r::ut::CharWriter
enum  GradationMode {
  GRADMODE_NONE ,
  GRADMODE_H ,
  GRADMODE_V ,
  GRADMODE_MAX
}
 

Public Member Functions

f32 GetWidthLimit () const
 
void SetWidthLimit (f32 limit)
 
void ResetWidthLimit ()
 
f32 GetCharSpace () const
 
void SetCharSpace (f32 space)
 
f32 GetLineSpace () const
 
void SetLineSpace (f32 space)
 
int GetTabWidth () const
 
void SetTabWidth (int width)
 
ulong GetDrawFlag () const
 
void SetDrawFlag (ulong flag)
 
TagProcessorBase< T > * GetTagProcessor () const
 
void SetTagProcessor (TagProcessorBase< T > *pProcessor)
 
void ResetTagProcessor ()
 
f32 GetLineHeight () const
 
f32 CalcLineWidth (const T *pStr, int len)
 
f32 CalcStringWidth (const T *pStr, int len) const
 
void CalcStringRect (Rect *pRect, const T *pStr, int len) const
 
int VSNPrintf (T *buffer, ulong count, const T *pStr, std::va_list args)
 
f32 VPrintf (const T *pStr, std::va_list args)
 
f32 Print (const T *pStr, int len)
 
int VSNPrintf (char *pBuffer, ulong count, const char *pStr, std::va_list args)
 
int VSNPrintf (wchar_t *pBuffer, ulong count, const wchar_t *pStr, std::va_list args)
 
- Public Member Functions inherited from nw4r::ut::CharWriter
void SetupGX ()
 
void EnableLinearFilter (bool atSmall, bool atLarge)
 
f32 Print (u16 ch)
 
void SetColorMapping (Color min, Color max)
 
void ResetColorMapping ()
 
void SetTextColor (Color start)
 
void SetTextColor (Color start, Color end)
 
void SetGradationMode (GradationMode mode)
 
f32 GetScaleH () const
 
f32 GetScaleV () const
 
void SetScale (f32 x, f32 y)
 
f32 GetCursorX () const
 
void SetCursorX (f32 x)
 
f32 GetCursorY () const
 
void SetCursorY (f32 y)
 
void SetCursor (f32 x, f32 y)
 
void SetCursor (f32 x, f32 y, f32 z)
 
void MoveCursorX (f32 dx)
 
void MoveCursorY (f32 dy)
 
void EnableFixedWidth (bool enable)
 
bool IsWidthFixed () const
 
void SetFixedWidth (f32 width)
 
f32 GetFixedWidth () const
 
void SetFont (const Font &rFont)
 
const FontGetFont () const
 
void SetFontSize (f32 width, f32 height)
 
f32 GetFontWidth () const
 
f32 GetFontHeight () const
 
f32 GetFontAscent () const
 
f32 GetFontDescent () const
 

Static Public Member Functions

static T * GetBuffer ()
 
static T * SetBuffer (T *pBuffer, ulong size)
 
static ulong GetBufferSize ()
 

Private Member Functions

bool IsDrawFlagSet (ulong mask, ulong flag) const
 
bool CalcLineRectImpl (Rect *pRect, const T **ppStr, int len)
 
void CalcStringRectImpl (Rect *pRect, const T *pStr, int len)
 
f32 PrintImpl (const T *pStr, int len)
 
f32 AdjustCursor (f32 *pX, f32 *pY, const T *pStr, int len)
 

Private Attributes

f32 mWidthLimit
 
f32 mCharSpace
 
f32 mLineSpace
 
int mTabWidth
 
ulong mDrawFlag
 
TagProcessorBase< T > * mTagProcessor
 

Static Private Attributes

static const int DEFAULT_FORMAT_BUFFER_SIZE = 256
 
static const ulong DRAWFLAG_MASK_ALL
 
static T * mFormatBuffer
 
static ulong mFormatBufferSize
 
static TagProcessorBase< T > mDefaultTagProcessor
 

Member Enumeration Documentation

◆ DrawFlag

template<typename T>
enum nw4r::ut::TextWriterBase::DrawFlag

Definition at line 18 of file ut_TextWriterBase.h.

Member Function Documentation

◆ GetWidthLimit()

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::GetWidthLimit ( ) const
inline

Definition at line 51 of file ut_TextWriterBase.h.

◆ SetWidthLimit()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetWidthLimit ( f32 limit)
inline

Definition at line 54 of file ut_TextWriterBase.h.

◆ ResetWidthLimit()

template<typename T>
void nw4r::ut::TextWriterBase< T >::ResetWidthLimit ( )
inline

Definition at line 57 of file ut_TextWriterBase.h.

◆ GetCharSpace()

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::GetCharSpace ( ) const
inline

Definition at line 61 of file ut_TextWriterBase.h.

◆ SetCharSpace()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetCharSpace ( f32 space)
inline

Definition at line 64 of file ut_TextWriterBase.h.

◆ GetLineSpace()

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::GetLineSpace ( ) const
inline

Definition at line 68 of file ut_TextWriterBase.h.

◆ SetLineSpace()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetLineSpace ( f32 space)
inline

Definition at line 71 of file ut_TextWriterBase.h.

◆ GetTabWidth()

template<typename T>
int nw4r::ut::TextWriterBase< T >::GetTabWidth ( ) const
inline

Definition at line 75 of file ut_TextWriterBase.h.

◆ SetTabWidth()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetTabWidth ( int width)
inline

Definition at line 78 of file ut_TextWriterBase.h.

◆ GetDrawFlag()

template<typename T>
ulong nw4r::ut::TextWriterBase< T >::GetDrawFlag ( ) const
inline

Definition at line 82 of file ut_TextWriterBase.h.

◆ SetDrawFlag()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetDrawFlag ( ulong flag)
inline

Definition at line 85 of file ut_TextWriterBase.h.

◆ GetTagProcessor()

template<typename T>
TagProcessorBase< T > * nw4r::ut::TextWriterBase< T >::GetTagProcessor ( ) const
inline

Definition at line 89 of file ut_TextWriterBase.h.

◆ SetTagProcessor()

template<typename T>
void nw4r::ut::TextWriterBase< T >::SetTagProcessor ( TagProcessorBase< T > * pProcessor)
inline

Definition at line 92 of file ut_TextWriterBase.h.

◆ ResetTagProcessor()

template<typename T>
void nw4r::ut::TextWriterBase< T >::ResetTagProcessor ( )
inline

Definition at line 95 of file ut_TextWriterBase.h.

◆ GetBuffer()

template<typename T>
static T * nw4r::ut::TextWriterBase< T >::GetBuffer ( )
inlinestatic

Definition at line 109 of file ut_TextWriterBase.h.

◆ SetBuffer()

template<typename T>
static T * nw4r::ut::TextWriterBase< T >::SetBuffer ( T * pBuffer,
ulong size )
inlinestatic

Definition at line 112 of file ut_TextWriterBase.h.

◆ GetBufferSize()

template<typename T>
static ulong nw4r::ut::TextWriterBase< T >::GetBufferSize ( )
inlinestatic

Definition at line 119 of file ut_TextWriterBase.h.

◆ IsDrawFlagSet()

template<typename T>
bool nw4r::ut::TextWriterBase< T >::IsDrawFlagSet ( ulong mask,
ulong flag ) const
inlineprivate

Definition at line 131 of file ut_TextWriterBase.h.

◆ VSNPrintf() [1/2]

int nw4r::ut::TextWriterBase< char >::VSNPrintf ( char * pBuffer,
ulong count,
const char * pStr,
std::va_list args )
inline

Definition at line 155 of file ut_TextWriterBase.h.

◆ VSNPrintf() [2/2]

int nw4r::ut::TextWriterBase< wchar_t >::VSNPrintf ( wchar_t * pBuffer,
ulong count,
const wchar_t * pStr,
std::va_list args )
inline

Definition at line 163 of file ut_TextWriterBase.h.

Member Data Documentation

◆ DEFAULT_FORMAT_BUFFER_SIZE

template<typename T>
const int nw4r::ut::TextWriterBase< T >::DEFAULT_FORMAT_BUFFER_SIZE = 256
staticprivate

Definition at line 124 of file ut_TextWriterBase.h.

◆ DRAWFLAG_MASK_ALL

template<typename T>
const ulong nw4r::ut::TextWriterBase< T >::DRAWFLAG_MASK_ALL
staticprivate
Initial value:
= DRAWFLAG_MASK_ALIGN_TEXT |
DRAWFLAG_MASK_ALIGN_H |
DRAWFLAG_MASK_ALIGN_V

Definition at line 126 of file ut_TextWriterBase.h.

◆ mWidthLimit

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::mWidthLimit
private

Definition at line 142 of file ut_TextWriterBase.h.

◆ mCharSpace

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::mCharSpace
private

Definition at line 143 of file ut_TextWriterBase.h.

◆ mLineSpace

template<typename T>
f32 nw4r::ut::TextWriterBase< T >::mLineSpace
private

Definition at line 144 of file ut_TextWriterBase.h.

◆ mTabWidth

template<typename T>
int nw4r::ut::TextWriterBase< T >::mTabWidth
private

Definition at line 145 of file ut_TextWriterBase.h.

◆ mDrawFlag

template<typename T>
ulong nw4r::ut::TextWriterBase< T >::mDrawFlag
private

Definition at line 146 of file ut_TextWriterBase.h.

◆ mTagProcessor

template<typename T>
TagProcessorBase<T>* nw4r::ut::TextWriterBase< T >::mTagProcessor
private

Definition at line 147 of file ut_TextWriterBase.h.

◆ mFormatBuffer

template<typename T>
T* nw4r::ut::TextWriterBase< T >::mFormatBuffer
staticprivate

Definition at line 149 of file ut_TextWriterBase.h.

◆ mFormatBufferSize

template<typename T>
ulong nw4r::ut::TextWriterBase< T >::mFormatBufferSize
staticprivate

Definition at line 150 of file ut_TextWriterBase.h.

◆ mDefaultTagProcessor

template<typename T>
TagProcessorBase<T> nw4r::ut::TextWriterBase< T >::mDefaultTagProcessor
staticprivate

Definition at line 151 of file ut_TextWriterBase.h.