2022-12-23 02:18:46 +00:00
|
|
|
#ifndef _CSAVEABLESTATE
|
|
|
|
#define _CSAVEABLESTATE
|
2022-12-23 02:15:25 +00:00
|
|
|
|
|
|
|
#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();
|
2023-01-08 02:31:19 +00:00
|
|
|
|
2023-01-11 21:26:39 +00:00
|
|
|
CDrawStringOptions& GetOptions() { return x0_drawStringOptions; }
|
2023-01-12 00:12:37 +00:00
|
|
|
TToken<CRasterFont>& GetFont() { return *x48_font; }
|
2024-10-22 23:12:41 +00:00
|
|
|
void SetFont(const TToken<CRasterFont>& font) { x48_font = font; }
|
2023-01-11 21:26:39 +00:00
|
|
|
rstl::vector<CTextColor>& GetColors() { return x54_colors; }
|
|
|
|
rstl::vector<bool>& GetOverride() { return x64_colorOverrides; }
|
2023-01-08 02:31:19 +00:00
|
|
|
void SetLineSpacing(float spacing) { x74_lineSpacing = spacing; }
|
2023-01-10 23:03:07 +00:00
|
|
|
void SetLineExtraSpace(int spacing) { x78_extraLineSpacing = spacing; }
|
2023-01-11 21:26:39 +00:00
|
|
|
|
2023-01-08 02:31:19 +00:00
|
|
|
|
2022-12-23 02:15:25 +00:00
|
|
|
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;
|
|
|
|
};
|
|
|
|
|
2022-12-23 02:18:46 +00:00
|
|
|
#endif // _CSAVEABLESTATE
|