diff options
| author | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:31:46 -0800 |
|---|---|---|
| committer | Jørgen P. Tjernø <[email protected]> | 2013-12-02 19:46:31 -0800 |
| commit | f56bb35301836e56582a575a75864392a0177875 (patch) | |
| tree | de61ddd39de3e7df52759711950b4c288592f0dc /sp/src/public/vgui_controls/TextImage.h | |
| parent | Mark some more files as text. (diff) | |
| download | source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.tar.xz source-sdk-2013-f56bb35301836e56582a575a75864392a0177875.zip | |
Fix line endings. WHAMMY.
Diffstat (limited to 'sp/src/public/vgui_controls/TextImage.h')
| -rw-r--r-- | sp/src/public/vgui_controls/TextImage.h | 286 |
1 files changed, 143 insertions, 143 deletions
diff --git a/sp/src/public/vgui_controls/TextImage.h b/sp/src/public/vgui_controls/TextImage.h index 676ae893..499785ff 100644 --- a/sp/src/public/vgui_controls/TextImage.h +++ b/sp/src/public/vgui_controls/TextImage.h @@ -1,143 +1,143 @@ -//========= Copyright Valve Corporation, All rights reserved. ============//
-//
-// Purpose:
-//
-// $NoKeywords: $
-//=============================================================================//
-
-#ifndef TEXTIMAGE_H
-#define TEXTIMAGE_H
-
-#ifdef _WIN32
-#pragma once
-#endif
-
-#include <vgui/VGUI.h>
-#include <vgui/ILocalize.h>
-#include <vgui_controls/Image.h>
-
-#include <utlvector.h>
-#include <UtlSortVector.h>
-
-class KeyValues;
-
-namespace vgui
-{
-
-struct label_colorchange_t
-{
- Color color;
- int textStreamIndex;
-};
-
-// Used to sort the color changes into sequential order.
-class CColorChangeListLess
-{
-public:
- bool Less( const label_colorchange_t &src1, const label_colorchange_t &src2, void *pCtx )
- {
- if ( src1.textStreamIndex < src2.textStreamIndex )
- return true;
-
- return false;
- }
-};
-
-//-----------------------------------------------------------------------------
-// Purpose: Image that handles drawing of a text string
-//-----------------------------------------------------------------------------
-class TextImage : public Image
-{
-public:
- TextImage(const char *text);
- TextImage(const wchar_t *wszText);
- ~TextImage();
-
-public:
- // takes the string and looks it up in the localization file to convert it to unicode
- virtual void SetText(const char *text);
- // sets unicode text directly
- virtual void SetText(const wchar_t *text, bool bClearUnlocalizedSymbol = false);
- // get the full text in the image
- virtual void GetText(char *buffer, int bufferSize);
- virtual void GetText(wchar_t *buffer, int bufferLength);
- // get the text in it's unlocalized form
- virtual void GetUnlocalizedText(char *buffer, int bufferSize);
- virtual StringIndex_t GetUnlocalizedTextSymbol();
-
- // set the font of the text
- virtual void SetFont(vgui::HFont font);
- // get the font of the text
- virtual vgui::HFont GetFont();
-
- // set the width of the text to be drawn
- // use this function if the textImage is in another window to cause
- // the text to be truncated to the width of the window (elipsis added)
- void SetDrawWidth(int width);
- // get the width of the text to be drawn
- void GetDrawWidth(int &width);
-
- void ResizeImageToContent();
- void ResizeImageToContentMaxWidth( int nMaxWidth );
-
- // set the size of the image
- virtual void SetSize(int wide,int tall);
-
- // get the full size of a text string
- virtual void GetContentSize(int &wide, int &tall);
-
- // draws the text
- virtual void Paint();
-
- void SetWrap( bool bWrap );
- void RecalculateNewLinePositions();
-
- void SetUseFallbackFont( bool bState, HFont hFallback );
-
- void SetAllCaps( bool bAllCaps );
-
- void SetCenterWrap( bool bWrap );
- void RecalculateCenterWrapIndents();
-
- const wchar_t *GetUText( void ) { return _utext; }
-
- void AddColorChange( Color col, int iTextStreamIndex );
- void SetColorChangeStream( CUtlSortVector<label_colorchange_t,CColorChangeListLess> *pUtlVecStream );
- void ClearColorChangeStream( void ) { m_ColorChangeStream.Purge(); }
-
-protected:
- // truncate the _text string to fit into the draw width
- void SizeText(wchar_t *tempText, int stringLength);
- // gets the size of a specified piece of text
- virtual void GetTextSize(int &wide, int &tall);
-
-private:
- void RecalculateEllipsesPosition();
-
- wchar_t *_utext; // unicode version of the text
- short _textBufferLen; // size of the text buffer
- short _textLen; // length of the text string
- vgui::HFont _font; // font of the text string
- vgui::HFont _fallbackFont;
- int _drawWidth; // this is the width of the window we are drawing into.
- // if there is not enough room truncate the txt and add an elipsis
-
- StringIndex_t _unlocalizedTextSymbol; // store off the unlocalized text index for build mode
- wchar_t *m_pwszEllipsesPosition;
-
- bool m_bRecalculateTruncation : 1;
- bool m_bWrap : 1;
- bool m_bUseFallbackFont : 1;
- bool m_bRenderUsingFallbackFont : 1;
- bool m_bAllCaps : 1;
- CUtlVector<wchar_t *> m_LineBreaks; // an array that holds the index in the buffer to wrap lines at
-
- bool m_bWrapCenter; // Separate from m_bWrap to ensure it doesn't break legacy code.
- CUtlVector<int> m_LineXIndent; // For centered word wrap. The X indent for each line.
-
- CUtlSortVector<label_colorchange_t,CColorChangeListLess> m_ColorChangeStream;
-};
-
-} // namespace vgui
-
-#endif // TEXTIMAGE_H
+//========= Copyright Valve Corporation, All rights reserved. ============// +// +// Purpose: +// +// $NoKeywords: $ +//=============================================================================// + +#ifndef TEXTIMAGE_H +#define TEXTIMAGE_H + +#ifdef _WIN32 +#pragma once +#endif + +#include <vgui/VGUI.h> +#include <vgui/ILocalize.h> +#include <vgui_controls/Image.h> + +#include <utlvector.h> +#include <UtlSortVector.h> + +class KeyValues; + +namespace vgui +{ + +struct label_colorchange_t +{ + Color color; + int textStreamIndex; +}; + +// Used to sort the color changes into sequential order. +class CColorChangeListLess +{ +public: + bool Less( const label_colorchange_t &src1, const label_colorchange_t &src2, void *pCtx ) + { + if ( src1.textStreamIndex < src2.textStreamIndex ) + return true; + + return false; + } +}; + +//----------------------------------------------------------------------------- +// Purpose: Image that handles drawing of a text string +//----------------------------------------------------------------------------- +class TextImage : public Image +{ +public: + TextImage(const char *text); + TextImage(const wchar_t *wszText); + ~TextImage(); + +public: + // takes the string and looks it up in the localization file to convert it to unicode + virtual void SetText(const char *text); + // sets unicode text directly + virtual void SetText(const wchar_t *text, bool bClearUnlocalizedSymbol = false); + // get the full text in the image + virtual void GetText(char *buffer, int bufferSize); + virtual void GetText(wchar_t *buffer, int bufferLength); + // get the text in it's unlocalized form + virtual void GetUnlocalizedText(char *buffer, int bufferSize); + virtual StringIndex_t GetUnlocalizedTextSymbol(); + + // set the font of the text + virtual void SetFont(vgui::HFont font); + // get the font of the text + virtual vgui::HFont GetFont(); + + // set the width of the text to be drawn + // use this function if the textImage is in another window to cause + // the text to be truncated to the width of the window (elipsis added) + void SetDrawWidth(int width); + // get the width of the text to be drawn + void GetDrawWidth(int &width); + + void ResizeImageToContent(); + void ResizeImageToContentMaxWidth( int nMaxWidth ); + + // set the size of the image + virtual void SetSize(int wide,int tall); + + // get the full size of a text string + virtual void GetContentSize(int &wide, int &tall); + + // draws the text + virtual void Paint(); + + void SetWrap( bool bWrap ); + void RecalculateNewLinePositions(); + + void SetUseFallbackFont( bool bState, HFont hFallback ); + + void SetAllCaps( bool bAllCaps ); + + void SetCenterWrap( bool bWrap ); + void RecalculateCenterWrapIndents(); + + const wchar_t *GetUText( void ) { return _utext; } + + void AddColorChange( Color col, int iTextStreamIndex ); + void SetColorChangeStream( CUtlSortVector<label_colorchange_t,CColorChangeListLess> *pUtlVecStream ); + void ClearColorChangeStream( void ) { m_ColorChangeStream.Purge(); } + +protected: + // truncate the _text string to fit into the draw width + void SizeText(wchar_t *tempText, int stringLength); + // gets the size of a specified piece of text + virtual void GetTextSize(int &wide, int &tall); + +private: + void RecalculateEllipsesPosition(); + + wchar_t *_utext; // unicode version of the text + short _textBufferLen; // size of the text buffer + short _textLen; // length of the text string + vgui::HFont _font; // font of the text string + vgui::HFont _fallbackFont; + int _drawWidth; // this is the width of the window we are drawing into. + // if there is not enough room truncate the txt and add an elipsis + + StringIndex_t _unlocalizedTextSymbol; // store off the unlocalized text index for build mode + wchar_t *m_pwszEllipsesPosition; + + bool m_bRecalculateTruncation : 1; + bool m_bWrap : 1; + bool m_bUseFallbackFont : 1; + bool m_bRenderUsingFallbackFont : 1; + bool m_bAllCaps : 1; + CUtlVector<wchar_t *> m_LineBreaks; // an array that holds the index in the buffer to wrap lines at + + bool m_bWrapCenter; // Separate from m_bWrap to ensure it doesn't break legacy code. + CUtlVector<int> m_LineXIndent; // For centered word wrap. The X indent for each line. + + CUtlSortVector<label_colorchange_t,CColorChangeListLess> m_ColorChangeStream; +}; + +} // namespace vgui + +#endif // TEXTIMAGE_H |