2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-08 18:24:55 +00:00

Icon integration

This commit is contained in:
Jack Andersen
2016-01-18 13:33:23 -10:00
parent 334a7875c1
commit 9f08984d1f
10 changed files with 236 additions and 23 deletions

View File

@@ -46,11 +46,13 @@ public:
Class m_cls;
std::string m_key;
std::string m_text;
Specter::Icon& m_icon;
Zeus::CColor m_color;
const std::string* text() const {return &m_text;}
void activated(const boo::SWindowCoord& coord) {}
SubNodeData(Class cls, const char* key, const char* text)
: m_cls(cls), m_key(key), m_text(text) {}
SubNodeData(Class cls, const char* key, const char* text, Specter::Icon& icon, const Zeus::CColor& color)
: m_cls(cls), m_key(key), m_text(text), m_icon(icon), m_color(color) {}
};
static std::vector<SubNodeData> s_subNodeDats;
@@ -86,6 +88,20 @@ public:
return &sn.m_text;
return nullptr;
}
static Specter::Icon* lookupClassIcon(Class cls)
{
for (SubNodeData& sn : s_subNodeDats)
if (sn.m_cls == cls)
return &sn.m_icon;
return nullptr;
}
static const Zeus::CColor* lookupClassColor(Class cls)
{
for (SubNodeData& sn : s_subNodeDats)
if (sn.m_cls == cls)
return &sn.m_color;
return nullptr;
}
} m_spaceMenuNode;
struct SpaceSelectBind : Specter::IButtonBinding