]> sigrok.org Git - pulseview.git/blobdiff - pv/view/view.cpp
View: Added time_markers
[pulseview.git] / pv / view / view.cpp
index aac6333addd032c0adb85886c60f2fdf9b48a248..28408eee39db4723497d906ae8a21b02e901427d 100644 (file)
 
 #include "pv/session.hpp"
 #include "pv/data/logic.hpp"
-#include "pv/data/logicsnapshot.hpp"
+#include "pv/data/logicsegment.hpp"
 #include "pv/util.hpp"
 
 using boost::shared_lock;
 using boost::shared_mutex;
 
 using pv::data::SignalData;
-using pv::data::Snapshot;
+using pv::data::Segment;
 using pv::util::format_time;
 
 using std::back_inserter;
@@ -195,6 +195,14 @@ const Viewport* View::viewport() const
        return viewport_;
 }
 
+vector< shared_ptr<TimeItem> > View::time_items() const
+{
+       vector< shared_ptr<TimeItem> > items;
+       items.push_back(cursors_.first());
+       items.push_back(cursors_.second());
+       return items;
+}
+
 double View::scale() const
 {
        return scale_;
@@ -263,7 +271,10 @@ void View::zoom_one_to_one()
        double samplerate = 0.0;
        for (const shared_ptr<SignalData> d : visible_data) {
                assert(d);
-               samplerate = max(samplerate, d->samplerate());
+               const vector< shared_ptr<Segment> > segments =
+                       d->segments();
+               for (const shared_ptr<Segment> &s : segments)
+                       samplerate = max(samplerate, s->samplerate());
        }
 
        if (samplerate == 0.0)
@@ -311,12 +322,12 @@ pair<double, double> View::get_time_extents() const
        const set< shared_ptr<SignalData> > visible_data = get_visible_data();
        for (const shared_ptr<SignalData> d : visible_data)
        {
-               double samplerate = d->samplerate();
-               samplerate = (samplerate <= 0.0) ? 1.0 : samplerate;
+               const vector< shared_ptr<Segment> > segments =
+                       d->segments();
+               for (const shared_ptr<Segment> &s : segments) {
+                       double samplerate = s->samplerate();
+                       samplerate = (samplerate <= 0.0) ? 1.0 : samplerate;
 
-               const vector< shared_ptr<Snapshot> > snapshots =
-                       d->snapshots();
-               for (const shared_ptr<Snapshot> &s : snapshots) {
                        const double start_time = s->start_time();
                        left_time = min(left_time, start_time);
                        right_time = max(right_time, start_time +