mirror of
https://github.com/AxioDL/metaforce.git
synced 2025-12-09 21:07:42 +00:00
New code style refactor
This commit is contained in:
@@ -11,8 +11,7 @@
|
||||
#include "Graphics/Shaders/CTextSupportShader.hpp"
|
||||
#include "boo/graphicsdev/IGraphicsDataFactory.hpp"
|
||||
|
||||
namespace urde
|
||||
{
|
||||
namespace urde {
|
||||
class CGraphicsPalette;
|
||||
class CRasterFont;
|
||||
class CGlyph;
|
||||
@@ -20,18 +19,12 @@ class CTextExecuteBuffer;
|
||||
|
||||
using CTextColor = zeus::CColor;
|
||||
|
||||
class CTextRenderBuffer
|
||||
{
|
||||
friend class CGuiTextSupport;
|
||||
friend class CTextSupportShader;
|
||||
class CTextRenderBuffer {
|
||||
friend class CGuiTextSupport;
|
||||
friend class CTextSupportShader;
|
||||
|
||||
public:
|
||||
enum class Command
|
||||
{
|
||||
CharacterRender,
|
||||
ImageRender,
|
||||
FontChange,
|
||||
PaletteChange
|
||||
};
|
||||
enum class Command { CharacterRender, ImageRender, FontChange, PaletteChange };
|
||||
#if 0
|
||||
struct Primitive
|
||||
{
|
||||
@@ -43,14 +36,10 @@ public:
|
||||
u8 xe_imageIndex;
|
||||
};
|
||||
#endif
|
||||
enum class EMode
|
||||
{
|
||||
AllocTally,
|
||||
BufferFill
|
||||
};
|
||||
enum class EMode { AllocTally, BufferFill };
|
||||
|
||||
private:
|
||||
EMode x0_mode;
|
||||
EMode x0_mode;
|
||||
#if 0
|
||||
std::vector<TToken<CRasterFont>> x4_fonts;
|
||||
std::vector<CFontImageDef> x14_images;
|
||||
@@ -64,58 +53,54 @@ private:
|
||||
u32 x254_nextPalette = 0;
|
||||
|
||||
#else
|
||||
/* Boo-specific text-rendering functionality */
|
||||
hecl::UniformBufferPool<CTextSupportShader::Uniform>::Token m_uniBuf;
|
||||
hecl::UniformBufferPool<CTextSupportShader::Uniform>::Token m_uniBuf2;
|
||||
/* Boo-specific text-rendering functionality */
|
||||
hecl::UniformBufferPool<CTextSupportShader::Uniform>::Token m_uniBuf;
|
||||
hecl::UniformBufferPool<CTextSupportShader::Uniform>::Token m_uniBuf2;
|
||||
|
||||
struct BooFontCharacters
|
||||
{
|
||||
TLockedToken<CRasterFont> m_font;
|
||||
hecl::VertexBufferPool<CTextSupportShader::CharacterInstance>::Token m_instBuf;
|
||||
boo::ObjToken<boo::IShaderDataBinding> m_dataBinding;
|
||||
boo::ObjToken<boo::IShaderDataBinding> m_dataBinding2;
|
||||
std::vector<CTextSupportShader::CharacterInstance> m_charData;
|
||||
u32 m_charCount = 0;
|
||||
bool m_dirty = true;
|
||||
BooFontCharacters(const CToken& token)
|
||||
: m_font(token) {}
|
||||
};
|
||||
std::vector<BooFontCharacters> m_fontCharacters;
|
||||
struct BooFontCharacters {
|
||||
TLockedToken<CRasterFont> m_font;
|
||||
hecl::VertexBufferPool<CTextSupportShader::CharacterInstance>::Token m_instBuf;
|
||||
boo::ObjToken<boo::IShaderDataBinding> m_dataBinding;
|
||||
boo::ObjToken<boo::IShaderDataBinding> m_dataBinding2;
|
||||
std::vector<CTextSupportShader::CharacterInstance> m_charData;
|
||||
u32 m_charCount = 0;
|
||||
bool m_dirty = true;
|
||||
BooFontCharacters(const CToken& token) : m_font(token) {}
|
||||
};
|
||||
std::vector<BooFontCharacters> m_fontCharacters;
|
||||
|
||||
struct BooImage
|
||||
{
|
||||
CFontImageDef m_imageDef;
|
||||
hecl::VertexBufferPool<CTextSupportShader::ImageInstance>::Token m_instBuf;
|
||||
std::vector<boo::ObjToken<boo::IShaderDataBinding>> m_dataBinding;
|
||||
std::vector<boo::ObjToken<boo::IShaderDataBinding>> m_dataBinding2;
|
||||
CTextSupportShader::ImageInstance m_imageData;
|
||||
bool m_dirty = true;
|
||||
BooImage(const CFontImageDef& imgDef, const zeus::CVector2i& offset);
|
||||
};
|
||||
std::vector<BooImage> m_images;
|
||||
struct BooImage {
|
||||
CFontImageDef m_imageDef;
|
||||
hecl::VertexBufferPool<CTextSupportShader::ImageInstance>::Token m_instBuf;
|
||||
std::vector<boo::ObjToken<boo::IShaderDataBinding>> m_dataBinding;
|
||||
std::vector<boo::ObjToken<boo::IShaderDataBinding>> m_dataBinding2;
|
||||
CTextSupportShader::ImageInstance m_imageData;
|
||||
bool m_dirty = true;
|
||||
BooImage(const CFontImageDef& imgDef, const zeus::CVector2i& offset);
|
||||
};
|
||||
std::vector<BooImage> m_images;
|
||||
|
||||
struct BooPrimitiveMark
|
||||
{
|
||||
Command m_cmd;
|
||||
u32 m_bindIdx;
|
||||
u32 m_instIdx;
|
||||
void SetOpacity(CTextRenderBuffer& rb, float opacity);
|
||||
};
|
||||
std::vector<BooPrimitiveMark> m_primitiveMarks;
|
||||
u32 m_imagesCount = 0;
|
||||
u32 m_activeFontCh = -1;
|
||||
struct BooPrimitiveMark {
|
||||
Command m_cmd;
|
||||
u32 m_bindIdx;
|
||||
u32 m_instIdx;
|
||||
void SetOpacity(CTextRenderBuffer& rb, float opacity);
|
||||
};
|
||||
std::vector<BooPrimitiveMark> m_primitiveMarks;
|
||||
u32 m_imagesCount = 0;
|
||||
u32 m_activeFontCh = -1;
|
||||
|
||||
zeus::CColor m_main;
|
||||
zeus::CColor m_outline = zeus::CColor::skBlack;
|
||||
zeus::CColor m_main;
|
||||
zeus::CColor m_outline = zeus::CColor::skBlack;
|
||||
|
||||
CGuiWidget::EGuiModelDrawFlags m_drawFlags;
|
||||
CGuiWidget::EGuiModelDrawFlags m_drawFlags;
|
||||
|
||||
bool m_committed = false;
|
||||
void CommitResources();
|
||||
bool m_committed = false;
|
||||
void CommitResources();
|
||||
#endif
|
||||
|
||||
public:
|
||||
CTextRenderBuffer(EMode mode, CGuiWidget::EGuiModelDrawFlags df);
|
||||
CTextRenderBuffer(EMode mode, CGuiWidget::EGuiModelDrawFlags df);
|
||||
#if 0
|
||||
void SetPrimitive(const Primitive&, int);
|
||||
Primitive GetPrimitive(int) const;
|
||||
@@ -125,19 +110,18 @@ public:
|
||||
CGraphicsPalette* GetNextAvailablePalette();
|
||||
void AddPaletteChange(const CGraphicsPalette& palette);
|
||||
#else
|
||||
void SetPrimitiveOpacity(int idx, float opacity);
|
||||
u32 GetPrimitiveCount() const { return m_primitiveMarks.size(); }
|
||||
void SetPrimitiveOpacity(int idx, float opacity);
|
||||
u32 GetPrimitiveCount() const { return m_primitiveMarks.size(); }
|
||||
#endif
|
||||
void SetMode(EMode mode);
|
||||
void Render(const zeus::CColor& col, float) const;
|
||||
void AddImage(const zeus::CVector2i& offset, const CFontImageDef& image);
|
||||
void AddCharacter(const zeus::CVector2i& offset, char16_t ch, const zeus::CColor& color);
|
||||
void AddPaletteChange(const zeus::CColor& main, const zeus::CColor& outline);
|
||||
void AddFontChange(const TToken<CRasterFont>& font);
|
||||
void SetMode(EMode mode);
|
||||
void Render(const zeus::CColor& col, float) const;
|
||||
void AddImage(const zeus::CVector2i& offset, const CFontImageDef& image);
|
||||
void AddCharacter(const zeus::CVector2i& offset, char16_t ch, const zeus::CColor& color);
|
||||
void AddPaletteChange(const zeus::CColor& main, const zeus::CColor& outline);
|
||||
void AddFontChange(const TToken<CRasterFont>& font);
|
||||
|
||||
bool HasSpaceAvailable(const zeus::CVector2i& origin, const zeus::CVector2i& extent) const;
|
||||
std::pair<zeus::CVector2i, zeus::CVector2i> AccumulateTextBounds() const;
|
||||
bool HasSpaceAvailable(const zeus::CVector2i& origin, const zeus::CVector2i& extent) const;
|
||||
std::pair<zeus::CVector2i, zeus::CVector2i> AccumulateTextBounds() const;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
} // namespace urde
|
||||
|
||||
Reference in New Issue
Block a user