+ void set_image (const Glib::RefPtr<Gdk::Pixbuf>&);
+
+ void set_fixed_colors (const uint32_t active_color, const uint32_t inactive_color);
+ void set_active_color (const uint32_t active_color);
+ void set_inactive_color (const uint32_t inactive_color);
+
+ void set_fallthrough_to_parent(bool fall) { _fallthrough_to_parent = fall; }
+
+ unsigned int char_pixel_width() { if (_char_pixel_width < 1) recalc_char_pixel_geometry() ; return _char_pixel_width; }
+ unsigned int char_pixel_height() { if (_char_pixel_height < 1) recalc_char_pixel_geometry() ; return _char_pixel_height; }
+ float char_avg_pixel_width() { if (_char_pixel_width < 1) recalc_char_pixel_geometry() ; return _char_avg_pixel_width; }
+
+ protected:
+ void render (Cairo::RefPtr<Cairo::Context> const&, cairo_rectangle_t*);
+ void on_size_request (Gtk::Requisition* req);
+ void on_size_allocate (Gtk::Allocation&);
+ void on_style_changed (const Glib::RefPtr<Gtk::Style>&);
+ void on_name_changed ();
+ void on_realize ();
+ bool on_enter_notify_event (GdkEventCrossing*);
+ bool on_leave_notify_event (GdkEventCrossing*);
+ bool on_grab_broken_event(GdkEventGrabBroken*);
+ bool on_focus_in_event (GdkEventFocus*);
+ bool on_focus_out_event (GdkEventFocus*);
+ bool on_key_release_event (GdkEventKey *);
+ bool on_key_press_event (GdkEventKey *);
+
+ void controllable_changed ();
+ PBD::ScopedConnection watch_connection;
+
+ protected: