X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fled.cc;h=6112f9c429547f76a48892a77ae1a634d4da4a52;hb=b0e496c82501c5bd44b9495bd9bd4c2077cf58c3;hp=c751eb91e0619bfef398db0130bbcea01c352ba2;hpb=1ae1eeb25762887599fcc12e1fc9163c76014525;p=ardour.git diff --git a/gtk2_ardour/led.cc b/gtk2_ardour/led.cc index c751eb91e0..6112f9c429 100644 --- a/gtk2_ardour/led.cc +++ b/gtk2_ardour/led.cc @@ -26,14 +26,14 @@ using namespace Gdk; using namespace Gtk; using namespace Glib; +using namespace Gtkmm2ext; LED::LED() - : _visual_state (0) - , _active (false) - , _red (0.0) - , _green (1.0) - , _blue (0.0) - + : _diameter (0.0) + , _red (0.0) + , _green (1.0) + , _blue (0.0) + , _fixed_diameter (false) { } @@ -42,79 +42,122 @@ LED::~LED() } void -LED::render (cairo_t* cr) +LED::render (Cairo::RefPtr const& ctx, cairo_rectangle_t*) { - float diameter = std::min (_width, _height); + cairo_t* cr = ctx->cobj(); + if (!_fixed_diameter) { + _diameter = std::min (get_width(), get_height()); + } + + //background + + Widget* parent; + RefPtr