cairo_save (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_SOURCE);
- Gtkmm2ext::rounded_rectangle (cr, .5, -1.5, width - 1, height + 1, 7);
+ display_frame(cr, width, height);
cairo_clip (cr);
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
std::string name = get_name();
Gtkmm2ext::Color fill_color = UIConfiguration::instance().color (string_compose ("%1: fill active", name), &failed);
- Gtkmm2ext::rounded_rectangle (cr, .5, -1.5, width - 1, height + 1, 7);
+ display_frame(cr, width, height);
cairo_set_operator (cr, CAIRO_OPERATOR_OVER);
cairo_set_line_width(cr, 1.0);
- Gtkmm2ext::set_source_rgb_a (cr, fill_color, 1.0);
+ if (failed) {
+ cairo_set_source_rgba (cr, .75, .75, .75, 1.0);
+ } else {
+ Gtkmm2ext::set_source_rgb_a (cr, fill_color, 1.0);
+ }
cairo_stroke (cr);
cairo_destroy(cr);
return true;
}
+
+void
+PluginDisplay::display_frame (cairo_t* cr, double w, double h)
+{
+ cairo_rectangle (cr, 0.0, 0.0, w, h);
+}
void update_height_alloc (uint32_t inline_height);
virtual uint32_t render_inline (cairo_t *, uint32_t width);
+ virtual void display_frame (cairo_t* cr, double w, double h);
+
boost::shared_ptr<ARDOUR::Plugin> _plug;
PBD::ScopedConnection _qdraw_connection;
PBD::ScopedConnection _death_connection;
_scroll = sc;
}
+void
+ProcessorEntry::PluginInlineDisplay::display_frame (cairo_t* cr, double w, double h)
+{
+ Gtkmm2ext::rounded_rectangle (cr, .5, -1.5, w - 1, h + 1, 7);
+}
+
ProcessorEntry::LuaPluginDisplay::LuaPluginDisplay (ProcessorEntry& e, boost::shared_ptr<ARDOUR::LuaProc> p, uint32_t max_height)
: PluginInlineDisplay (e, p, max_height)
, _luaproc (p)