break;
}
- ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::Rectangle (_canvas_group);
+ ArdourCanvas::Rectangle * rec_rect = new ArdourCanvas::TimeRectangle (_canvas_group);
rec_rect->set_x0 (xstart);
rec_rect->set_y0 (0);
rec_rect->set_x1 (xend);
CANVAS_DEBUG_NAME (group, "ghost region");
group->set_position (ArdourCanvas::Duple (initial_pos, 0));
- base_rect = new ArdourCanvas::Rectangle (group);
+ base_rect = new ArdourCanvas::TimeRectangle (group);
CANVAS_DEBUG_NAME (base_rect, "ghost region rect");
base_rect->set_x0 (0);
base_rect->set_y0 (0.0);
group->name = string_compose ("Marker::group for %1", annotation);
#endif
- _name_background = new ArdourCanvas::Rectangle (group);
+ _name_background = new ArdourCanvas::TimeRectangle (group);
#ifdef CANVAS_DEBUG
_name_background->name = string_compose ("Marker::_name_background for %1", annotation);
#endif
Note::Note (
MidiRegionView& region, Item* parent, const boost::shared_ptr<NoteType> note, bool with_events)
: NoteBase (region, with_events, note)
- , _rectangle (new ArdourCanvas::Rectangle (parent))
+ , _rectangle (new ArdourCanvas::TimeRectangle (parent))
{
CANVAS_DEBUG_NAME (_rectangle, "note");
set_item (_rectangle);
for (AudioIntervalResult::const_iterator i = silences.begin(); i != silences.end(); ++i) {
- ArdourCanvas::Rectangle* cr = new ArdourCanvas::Rectangle (group);
+ ArdourCanvas::Rectangle* cr = new ArdourCanvas::TimeRectangle (group);
cr->set_ignore_events (true);
_silent_frames.push_back (cr);
/* start off any new rect, if required */
if (cr == 0 || me != new_me) {
- cr = new ArdourCanvas::Rectangle (group);
+ cr = new ArdourCanvas::TimeRectangle (group);
_coverage_frames.push_back (cr);
cr->set_x0 (trackview.editor().sample_to_pixel (t - position));
cr->set_y0 (1);
rect = new SelectionRect;
- rect->rect = new ArdourCanvas::Rectangle (selection_group);
+ rect->rect = new ArdourCanvas::TimeRectangle (selection_group);
CANVAS_DEBUG_NAME (rect->rect, "selection rect");
rect->rect->set_outline (false);
rect->rect->set_fill_color (ARDOUR_UI::config()->get_SelectionRect());
warning << "Time Axis Item Duration == 0" << endl;
}
- vestigial_frame = new ArdourCanvas::Rectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height()));
+ vestigial_frame = new ArdourCanvas::TimeRectangle (group, ArdourCanvas::Rect (0.0, 1.0, 2.0, trackview.current_height()));
CANVAS_DEBUG_NAME (vestigial_frame, string_compose ("vestigial frame for %1", get_item_name()));
vestigial_frame->hide ();
vestigial_frame->set_outline_color (ARDOUR_UI::config()->get_VestigialFrame());
vestigial_frame->set_fill_color (ARDOUR_UI::config()->get_VestigialFrame());
if (visibility & ShowFrame) {
- frame = new ArdourCanvas::Rectangle (group,
+ frame = new ArdourCanvas::TimeRectangle (group,
ArdourCanvas::Rect (0.0, 0.0,
trackview.editor().sample_to_pixel(duration) + RIGHT_EDGE_SHIFT,
trackview.current_height() - 1.0));
TimeRectangle::compute_bounding_box () const
{
Rectangle::compute_bounding_box ();
- assert (_bounding_box);
- Rect r = _bounding_box.get ();
-
- /* This is a TimeRectangle, so its right edge is drawn 1 pixel beyond
- * (larger x-axis coordinates) than a normal Rectangle.
- */
-
- r.x1 += 1.0; /* this should be using safe_add() */
-
- _bounding_box = r;
+ if (_bounding_box) {
+ Rect r = _bounding_box.get ();
+
+ /* This is a TimeRectangle, so its right edge is drawn 1 pixel beyond
+ * (larger x-axis coordinates) than a normal Rectangle.
+ */
+
+ r.x1 += 1.0; /* this should be using safe_add() */
+
+ _bounding_box = r;
+ }
}
void
return;
}
- Rect self = item_to_window (Rect (0.5, 0.0, _region->length() / _samples_per_pixel, _height));
+ Rect self = item_to_window (Rect (0.0, 0.0, _region->length() / _samples_per_pixel, _height));
boost::optional<Rect> d = self.intersection (area);
if (!d) {