X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstyle.cpp;h=001b36937e03f4ab03261043d3414ae9ce49060e;hb=3d84860cb25cf05ed36ee6cbd07d9e58cee52422;hp=6c116570fe24677fbb9002eb3061d2e3f7f0c9c2;hpb=c2635c5a3dca6a6cea5562fd387beb0662b18cf0;p=libs%2Fgltk.git diff --git a/source/style.cpp b/source/style.cpp index 6c11657..001b369 100644 --- a/source/style.cpp +++ b/source/style.cpp @@ -1,10 +1,3 @@ -/* $Id$ - -This file is part of libmspgltk -Copyright © 2007 Mikko Rasa, Mikkosoft Productions -Distributed under the LGPL -*/ - #include "resources.h" #include "style.h" @@ -14,22 +7,53 @@ namespace Msp { namespace GLtk { Style::Style(): - font(0) + 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) + if(i->get_name()==name) + return &*i; + + return 0; +} + 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", &Loader::part); + add("part", static_cast(&Loader::part)); + add("part", static_cast(&Loader::part)); + // Deprecated alias + add("special", static_cast(&Loader::part)); } void Style::Loader::font_color(float r, float g, float b) { - style.font_color=GL::Color(r, g, b); + style.font_color = GL::Color(r, g, b); +} + +void Style::Loader::part() +{ + part(string()); } void Style::Loader::part(const string &n)