X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstyle.cpp;fp=source%2Fstyle.cpp;h=001b36937e03f4ab03261043d3414ae9ce49060e;hb=3d84860cb25cf05ed36ee6cbd07d9e58cee52422;hp=50c2e774d5477201502f77ac2e98ad270793ad85;hpb=b51fd94242badcd3807a39c339979f4f358120cd;p=libs%2Fgltk.git diff --git a/source/style.cpp b/source/style.cpp index 50c2e77..001b369 100644 --- a/source/style.cpp +++ b/source/style.cpp @@ -6,11 +6,18 @@ using namespace std; 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) @@ -25,6 +32,12 @@ Style::Loader::Loader(Style &s, Resources &r): 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(&Loader::part));