void Button::render_special(const Part &part) const
{
if(part.get_name()=="text")
- //render_text(part, text);
text.render(part, geom);
if(part.get_name()=="icon" && icon)
{
{
if(list.get_selected_index()>=0)
Text(style, list.get_selected()).render(part, geom);
- //render_text(part, list.get_selected());
}
else if(part.get_name()=="list" && dropped)
list.render();
GL::PushMatrix push_;
i->render(geom, state);
}
- //render_graphic(*i);
else
render_special(*i);
}
GL::pop_matrix();
}
-/*void Widget::render_graphic(const Part &part) const
-{
- GL::push_matrix();
- part.render(geom, state);
- GL::pop_matrix();
-}
-
-void Widget::render_text(const Part &part, const string &text) const
-{
- const GL::Font *const font=style->get_font();
- const float font_size=font->get_default_size();
-
- Geometry rgeom;
- rgeom.w=static_cast<unsigned>(font->get_string_width(text)*font_size);
- rgeom.h=static_cast<unsigned>((font->get_ascent()-font->get_descent())*font_size);
- rgeom.y=static_cast<int>(-font->get_descent()*font_size);
- part.get_alignment().apply(rgeom, geom, part.get_margin());
-
- GL::push_matrix();
- GL::translate(rgeom.x, rgeom.y, 0);
- GL::scale_uniform(font_size);
-
- const GL::Color &color=style->get_font_color();
- GL::Immediate imm((GL::COLOR4_UBYTE, GL::TEXCOORD2, GL::VERTEX2));
- imm.color(color.r, color.g, color.b);
- font->draw_string(text, imm);
-
- GL::pop_matrix();
-}*/
-
void Widget::pointer_enter()
{
state|=HOVER;
sigc::signal<void> signal_request_focus;
sigc::signal<void> signal_grab_pointer;
sigc::signal<void> signal_ungrab_pointer;
- sigc::signal<void> signal_request_raise;
protected:
const Resources &res;
void render() const;
protected:
- /*void render_graphic(const Part &) const;
- void render_text(const Part &, const std::string &) const;*/
virtual void render_special(const Part &) const { }
public: