use ArdourCanvas::TimeRectangle for regions, notes, markers
authorPaul Davis <paul@linuxaudiosystems.com>
Tue, 4 Nov 2014 02:48:02 +0000 (21:48 -0500)
committerPaul Davis <paul@linuxaudiosystems.com>
Tue, 4 Nov 2014 02:48:08 +0000 (21:48 -0500)
gtk2_ardour/audio_streamview.cc
gtk2_ardour/ghostregion.cc
gtk2_ardour/marker.cc
gtk2_ardour/note.cc
gtk2_ardour/region_view.cc
gtk2_ardour/time_axis_view.cc
gtk2_ardour/time_axis_view_item.cc
libs/canvas/rectangle.cc
libs/canvas/wave_view.cc

index 2fda9edb076e561b89b9e87919a477730c6320e6..68757c256b1b1cc3169d0ccba5a7743c674b9ad5 100644 (file)
@@ -262,7 +262,7 @@ AudioStreamView::setup_rec_box ()
                                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);
index f8255a30c95a58260d0c2123f3479b92742025f9..c2bc30600f1f2922262d99bbdbd53eeaaf177203 100644 (file)
@@ -46,7 +46,7 @@ GhostRegion::GhostRegion (ArdourCanvas::Container* parent, TimeAxisView& tv, Tim
        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);
index 6570825780ad4f105e5574ae8e7b01a8e484a142..0ece9b39ac1dfd6331f44d291ef6ef0619f9f658 100644 (file)
@@ -248,7 +248,7 @@ Marker::Marker (PublicEditor& ed, ArdourCanvas::Container& parent, guint32 rgba,
        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 
index dc8decf83776d6a76e1d5abe6705d549f59c377f..ddfb11fe8ebe1015c3e370ec2b1c6c19bab7fde4 100644 (file)
@@ -33,7 +33,7 @@ using namespace ArdourCanvas;
 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);
index 5acafad0c3c6af9a81e8a65bc48afdb262410332..c56149797fdd713ab56e7bf55e06e4427cd16a94 100644 (file)
@@ -243,7 +243,7 @@ RegionView::set_silent_frames (const AudioIntervalResult& silences, double /*thr
 
        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);
 
@@ -808,7 +808,7 @@ RegionView::update_coverage_frames (LayerDisplay d)
 
                /* 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);
index 26939e9c326d212582dd3fb36e06d146177fde79..86e0d8c2e4db84372fe9714fab4df101a6d927a9 100644 (file)
@@ -1018,7 +1018,7 @@ TimeAxisView::get_selection_rect (uint32_t id)
 
                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());
index dbcdca4a75f5f3da3d4ad0d6f16294b7110f1271..2ce9d25cbed01531fa05a8a5cd750fdc6c590eb6 100644 (file)
@@ -188,14 +188,14 @@ TimeAxisViewItem::init (ArdourCanvas::Item* parent, double fpp, uint32_t base_co
                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));
index c6381776e4ff4f554df5c8c694e5c1241d48763c..232da178935b083720b8db64d2334087ee993eff 100644 (file)
@@ -255,17 +255,18 @@ void
 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 
index d67cf2c58f205b9ab140d7eb65ea6e43694ec84c..aa857a8467bf1bd2ff38f3daa7117bc5c0795c7e 100644 (file)
@@ -795,7 +795,7 @@ WaveView::render (Rect const & area, Cairo::RefPtr<Cairo::Context> context) cons
                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) {