#define BASELINESTRETCH (1.25)
#define TRACKHEADERBTNW (3.10)
-using namespace Gdk;
using namespace Gtk;
using namespace Glib;
using namespace PBD;
* ARDOUR_UI_UTILS::render_vector_icon()
*/
void
-ArdourButton::render (cairo_t* cr, cairo_rectangle_t *)
+ArdourButton::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_t*)
{
+ cairo_t* cr = ctx->cobj();
+
uint32_t text_color;
uint32_t led_color;
if (_action) {
action_tooltip_changed ();
+ action_sensitivity_changed ();
Glib::RefPtr<ToggleAction> tact = Glib::RefPtr<ToggleAction>::cast_dynamic (_action);
if (tact) {
bool
ArdourButton::on_key_release_event (GdkEventKey *ev) {
- if (_focused &&
+ if (_act_on_release && _focused &&
+ (ev->keyval == GDK_space || ev->keyval == GDK_Return))
+ {
+ signal_clicked();
+ if (_action) {
+ _action->activate ();
+ }
+ return true;
+ }
+ return CairoWidget::on_key_release_event (ev);
+}
+
+bool
+ArdourButton::on_key_press_event (GdkEventKey *ev) {
+ if (!_act_on_release && _focused &&
(ev->keyval == GDK_space || ev->keyval == GDK_Return))
{
signal_clicked();