#ifndef UI_C_SIMPLE_HTML_HPP #define UI_C_SIMPLE_HTML_HPP #include "ui/CSimpleFontedFrame.hpp" #include "ui/CSimpleHyperlinkedFrame.hpp" #include "ui/Types.hpp" #include class CStatus; class XMLNode; struct CONTENTNODE : TSLinkedNode { CSimpleFontString* string; ~CONTENTNODE(); }; class CSimpleHTML : public CSimpleHyperlinkedFrame, CSimpleFontedFrame { public: // Static variables static int32_t s_metatable; static int32_t s_objectType; // Static functions static void CreateScriptMetaTable(); static int32_t GetObjectType(); static void RegisterScriptMethods(lua_State* L); // Member variables STORM_LIST(CONTENTNODE) m_content; CLayoutFrame* m_layoutAnchor; float m_layoutOffset; CSimpleFontedFrameFont* m_fonts[NUM_HTML_TEXT_TYPES]; // Virtual member functions virtual bool IsA(int32_t type); virtual int32_t GetScriptMetaTable(); virtual void LoadXML(XMLNode* node, CStatus* status); virtual void FontUpdated(CSimpleFontedFrameFont* font, int32_t a3); // Member functions CSimpleHTML(CSimpleFrame* parent); void AddText(const char* text, HTML_TEXT_TYPE type, uint32_t justify); void ClearContent(); void ParseBODY(XMLNode* node, CStatus* status); void ParseIMG(XMLNode* node, CStatus* status); void ParseP(XMLNode* node, HTML_TEXT_TYPE type, CStatus* status); bool SetText(const char* text, CStatus* status); }; #endif