Style::Loader::Loader(Style &s, Resources &r):
- style(s),
- res(r)
+ DataFile::CollectionObjectLoader<Style, Resources>(s, &r)
{
- if(!style.font)
+ if(!obj.font)
{
- style.font = &r.get_default_font();
- style.font_size = style.font->get_native_size();
+ obj.font = &get_collection().get_default_font();
+ obj.font_size = obj.font->get_native_size();
}
add("font", &Loader::font);
add("font_color", &Loader::font_color);
add("font_size", &Style::font_size);
- add("part", static_cast<void (Loader::*)()>(&Loader::part));
- add("part", static_cast<void (Loader::*)(const std::string &)>(&Loader::part));
- // Deprecated alias
- add("special", static_cast<void (Loader::*)(const std::string &)>(&Loader::part));
+ add("part", &Loader::part);
+ add("part", &Loader::unnamed_part);
}
void Style::Loader::font(const string &n)
{
- style.font = &res.get<GL::Font>(n);
- style.font_size = style.font->get_native_size();
+ obj.font = &get_collection().get<GL::Font>(n);
+ obj.font_size = obj.font->get_native_size();
}
void Style::Loader::font_color(float r, float g, float b)
{
- style.font_color = GL::Color(r, g, b);
+ obj.font_color = GL::Color(r, g, b);
}
-void Style::Loader::part()
+void Style::Loader::part(const string &n)
{
- part(string());
+ Part p(n);
+ load_sub(p, get_collection());
+ obj.parts.push_back(p);
}
-void Style::Loader::part(const string &n)
+void Style::Loader::unnamed_part()
{
- Part p(n);
- load_sub(p, res);
- style.parts.push_back(p);
+ part(string());
}
} // namespace GLtk