public:
Fill (Group *);
+ virtual void set_fill_color (Color);
+ virtual void set_fill (bool);
+
Color fill_color () const {
return _fill_color;
}
- void set_fill_color (Color);
+
bool fill () const {
return _fill;
}
- void set_fill (bool);
protected:
void setup_fill_context (Cairo::RefPtr<Cairo::Context>) const;
protected:
+ /** To be called at the beginning of any property change that
+ * may alter the bounding box of this item
+ */
void begin_change ();
+ /** To be called at the endof any property change that
+ * may alter the bounding box of this item
+ */
void end_change ();
+ /** To be called at the beginning of any property change that
+ * does NOT alter the bounding box of this item
+ */
+ void begin_visual_change ();
+ /** To be called at the endof any property change that
+ * does NOT alter the bounding box of this item
+ */
+ void end_visual_change ();
Canvas* _canvas;
/** parent group; may be 0 if we are the root group or if we have been unparent()ed */
return _outline;
}
- void set_outline (bool);
+ virtual void set_outline (bool);
#ifdef CANVAS_COMPATIBILITY
int& property_first_arrowhead () {
void set_height (Distance);
void set_channel (int);
void set_region_start (ARDOUR::frameoffset_t);
+
+ void set_fill_color (Color);
+ void set_outline_color (Color);
void region_resized ();
void
Fill::set_fill_color (Color color)
{
- begin_change ();
+ begin_visual_change ();
_fill_color = color;
- end_change ();
+ end_visual_change ();
}
void
Fill::set_fill (bool fill)
{
- begin_change ();
+ begin_visual_change ();
_fill = fill;
- end_change ();
+ end_visual_change ();
}
void
return 0;
}
-/* XXX may be called even if bbox is not changing ... bit grotty */
void
Item::begin_change ()
{
}
}
+void
+Item::begin_visual_change ()
+{
+}
+
+void
+Item::end_visual_change ()
+{
+ _canvas->item_visual_property_changed (this);
+}
+
void
Item::move (Duple movement)
{
void
Outline::set_outline_color (Color color)
{
- begin_change ();
+ begin_visual_change ();
_outline_color = color;
- end_change ();
+ end_visual_change ();
}
void
}
}
+void
+WaveView::set_fill_color (Color c)
+{
+ invalidate_image_cache ();
+ Fill::set_fill_color (c);
+}
+
+void
+WaveView::set_outline_color (Color c)
+{
+ invalidate_image_cache ();
+ Outline::set_outline_color (c);
+}
+
void
WaveView::set_samples_per_pixel (double samples_per_pixel)
{
double stops[3];
double r, g, b, a;
-
+
if (_wave_view->_shape == Rectified) {
stops[0] = 0.1;
stops[0] = 0.3;