prime/include/Kyoto/Text/CSaveableState.hpp

38 lines
1.1 KiB
C++

#ifndef _CSAVEABLESTATE
#define _CSAVEABLESTATE
#include "Kyoto/Text/CDrawStringOptions.hpp"
#include "Kyoto/Text/CRasterFont.hpp"
#include "Kyoto/Text/CTextColor.hpp"
#include "rstl/optional_object.hpp"
#include "rstl/vector.hpp"
class CSaveableState {
public:
CSaveableState();
bool IsFinishedLoading();
CDrawStringOptions& GetOptions() { return x0_drawStringOptions; }
TToken<CRasterFont>& GetFont() { return *x48_font; }
void SetFont(const TToken<CRasterFont>& font) { x48_font = font; }
rstl::vector<CTextColor>& GetColors() { return x54_colors; }
rstl::vector<bool>& GetOverride() { return x64_colorOverrides; }
void SetLineSpacing(float spacing) { x74_lineSpacing = spacing; }
void SetLineExtraSpace(int spacing) { x78_extraLineSpacing = spacing; }
private:
CDrawStringOptions x0_drawStringOptions;
rstl::optional_object< TToken< CRasterFont > > x48_font;
rstl::vector< CTextColor > x54_colors;
rstl::vector<bool> x64_colorOverrides;
float x74_lineSpacing;
int x78_extraLineSpacing;
bool x7c_enableWordWrap;
EJustification x80_just;
EVerticalJustification x84_vjust;
};
#endif // _CSAVEABLESTATE