metaforce/Runtime/GuiSys/CSaveableState.hpp

46 lines
1.1 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-03-20 06:37:08 +00:00
TToken<CRasterFont> x14_font;
2016-03-19 00:07:31 +00:00
std::vector<CTextColor> x20_;
2016-03-21 00:25:53 +00:00
std::vector<bool> x30_colorOverrides;
2016-03-20 00:32:30 +00:00
float x40_lineSpacing = 1.f;
2016-03-19 03:58:01 +00:00
s32 x44_extraLineSpace = 0;
2016-03-21 22:01:19 +00:00
bool x48_enableWordWrap = false;
2016-03-21 00:25:53 +00:00
EJustification x4c_just = EJustification::Left;
EVerticalJustification x50_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()
{
x20_.resize(3, zeus::CColor::skBlack);
2016-03-21 00:25:53 +00:00
x30_colorOverrides.resize(16);
2016-03-11 00:23:16 +00:00
}
};
}
#endif // __URDE_CSAVEABLESTATE_HPP__