X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstyle.cpp;h=0138ec2af1a20f401b262b2b7d1bffefeac2a6eb;hb=2b70e8801c43875ed3f4135bdd0141265cff0312;hp=3f276ed409add4799212373abbfd2c45202b0deb;hpb=c1f038acb91eb3bfaa34dfd4729d19ed3f871a42;p=libs%2Fgltk.git diff --git a/source/style.cpp b/source/style.cpp index 3f276ed..0138ec2 100644 --- a/source/style.cpp +++ b/source/style.cpp @@ -6,36 +6,46 @@ using namespace std; namespace Msp { namespace GLtk { -Style::Style(const Resources &r, const string &w, const string &n): - res(r), - widget(w), - name(n), - font(&res.get_default_font()) +Style::Style(Resources &r): + font(&r.get_default_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): - style(s) + +Style::Loader::Loader(Style &s, Resources &r): + style(s), + res(r) { - add("font", &Loader::font); + 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(const string &f) +void Style::Loader::font_color(float r, float g, float b) { - style.font=&style.res.get_font(f); + style.font_color = GL::Color(r, g, b); } -void Style::Loader::font_color(float r, float g, float b) +void Style::Loader::part() { - style.font_color=Color(r, g, b); + part(string()); } void Style::Loader::part(const string &n) { - Part p(style.res, n); - load_sub(p); + Part p(n); + load_sub(p, res); style.parts.push_back(p); }