metaforce/Runtime/GuiSys/CSaveableState.hpp

48 lines
1.2 KiB
C++
Raw Normal View History

2016-03-11 00:23:16 +00:00
#ifndef __URDE_CSAVEABLESTATE_HPP__
#define __URDE_CSAVEABLESTATE_HPP__
2016-03-19 00:07:31 +00:00
#include "CGuiTextSupport.hpp"
2016-03-11 00:23:16 +00:00
#include "CDrawStringOptions.hpp"
#include "CToken.hpp"
#include "zeus/CColor.hpp"
2016-03-11 00:23:16 +00:00
namespace urde
{
class CRasterFont;
class CSaveableState
{
2016-03-19 03:58:01 +00:00
friend class CTextExecuteBuffer;
2016-03-19 00:07:31 +00:00
friend class CColorOverrideInstruction;
2016-03-19 03:58:01 +00:00
friend class CFontInstruction;
2016-03-20 00:32:30 +00:00
friend class CLineExtraSpaceInstruction;
2016-03-20 06:37:08 +00:00
friend class CTextInstruction;
2016-03-21 00:25:53 +00:00
friend class CLineSpacingInstruction;
friend class CRemoveColorOverrideInstruction;
friend class CWordInstruction;
2016-03-21 22:01:19 +00:00
friend class CGuiTextSupport;
2016-03-19 00:07:31 +00:00
protected:
2016-03-11 00:23:16 +00:00
CDrawStringOptions x0_drawStrOpts;
2016-12-16 23:05:29 +00:00
TLockedToken<CRasterFont> x48_font;
2017-01-30 04:16:20 +00:00
std::vector<CTextColor> x54_colors;
2016-12-16 23:05:29 +00:00
std::vector<bool> x64_colorOverrides;
float x74_lineSpacing = 1.f;
s32 x78_extraLineSpace = 0;
bool x7c_enableWordWrap = false;
EJustification x80_just = EJustification::Left;
EVerticalJustification x84_vjust = EVerticalJustification::Top;
2016-03-11 00:23:16 +00:00
2016-03-19 00:07:31 +00:00
public:
2016-03-11 00:23:16 +00:00
CSaveableState()
{
2017-01-30 04:16:20 +00:00
x54_colors.resize(3, zeus::CColor::skBlack);
2016-12-16 23:05:29 +00:00
x64_colorOverrides.resize(16);
2016-03-11 00:23:16 +00:00
}
2017-01-30 04:16:20 +00:00
bool IsFinishedLoading() const;
2016-03-11 00:23:16 +00:00
};
}
#endif // __URDE_CSAVEABLESTATE_HPP__