add_type<Graphic>().keyword("graphic");
add_type<GL::Texture2D>().keyword("texture");
add_type<GL::Font>().keyword("font");
+ add_type<Style>().keyword("style");
}
const GL::Font &Resources::get_default_font() const
{
add("default_font", &Loader::default_font);
add("font", &Loader::font);
- add("style", &Loader::style);
}
void Resources::Loader::default_font(const string &name)
fnt.release();
}
-void Resources::Loader::style(const string &name)
-{
- RefPtr<Style> stl = new Style(res);
- load_sub(*stl, res);
- res.add(name, stl.get());
- stl.release();
-}
-
} // namespace GLtk
} // namespace Msp
private:
void default_font(const std::string &);
void font(const std::string &);
- void style(const std::string &);
};
public:
namespace Msp {
namespace GLtk {
-Style::Style(Resources &r):
- font(&r.get_default_font()),
- font_size(font->get_native_size())
+Style::Style():
+ font(0),
+ font_size(0)
{ }
+const GL::Font &Style::get_font() const
+{
+ if(!font)
+ throw logic_error("!font");
+ return *font;
+}
+
const Part *Style::get_part(const string &name) const
{
for(PartSeq::const_iterator i=parts.begin(); i!=parts.end(); ++i)
style(s),
res(r)
{
+ if(!style.font)
+ {
+ style.font = &r.get_default_font();
+ style.font_size = style.font->get_native_size();
+ }
+
add("font", &Style::font);
add("font_color", &Loader::font_color);
add("part", static_cast<void (Loader::*)()>(&Loader::part));
PartSeq parts;
public:
- Style(Resources &);
- const GL::Font &get_font() const { return *font; }
+ Style();
+ const GL::Font &get_font() const;
unsigned get_font_size() const { return font_size; }
const GL::Color &get_font_color() const { return font_color; }
const PartSeq &get_parts() const { return parts; }