namespace Msp {
namespace GLtk {
-Style::Style(Resources &r):
- font(&r.get_default_font())
+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)
{
- add("font", &Style::font);
+ if(!style.font)
+ {
+ style.font = &r.get_default_font();
+ style.font_size = style.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));
}
+void Style::Loader::font(const string &n)
+{
+ style.font = &res.get<GL::Font>(n);
+ style.font_size = style.font->get_native_size();
+}
+
void Style::Loader::font_color(float r, float g, float b)
{
style.font_color = GL::Color(r, g, b);