X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fstyle.cpp;h=369559d8095b358bac335e2fb2c5727eabbe0206;hb=b61361ee9f1f049fb3c22a38f68c757c7ca54cd0;hp=da772dc8d21051148ff1aa22f372e3a6590812cc;hpb=5e8285302c1d04b631682a82d56c5afc46d20ad5;p=libs%2Fgltk.git diff --git a/source/style.cpp b/source/style.cpp index da772dc..369559d 100644 --- a/source/style.cpp +++ b/source/style.cpp @@ -18,6 +18,14 @@ const GL::Font &Style::get_font() const return *font; } +const GL::Color &Style::get_font_color(State s) const +{ + if(s>N_STATES_) + throw invalid_argument("Style::get_font_color"); + + return font_color[s]; +} + const Part *Style::get_part(const string &name) const { for(PartSeq::const_iterator i=parts.begin(); i!=parts.end(); ++i) @@ -38,12 +46,11 @@ Style::Loader::Loader(Style &s, Resources &r): } add("font", &Loader::font); + add("font_color", &Loader::font_color_normal); add("font_color", &Loader::font_color); add("font_size", &Style::font_size); - add("part", static_cast(&Loader::part)); - add("part", static_cast(&Loader::part)); - // Deprecated alias - add("special", static_cast(&Loader::part)); + add("part", &Loader::part); + add("part", &Loader::unnamed_part); } void Style::Loader::font(const string &n) @@ -52,14 +59,16 @@ void Style::Loader::font(const string &n) obj.font_size = obj.font->get_native_size(); } -void Style::Loader::font_color(float r, float g, float b) +void Style::Loader::font_color_normal(float r, float g, float b) { - obj.font_color = GL::Color(r, g, b); + font_color(NORMAL, r, g, b); } -void Style::Loader::part() +void Style::Loader::font_color(State s, float r, float g, float b) { - part(string()); + for(unsigned i=0; i