X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fdecodetrace.cpp;h=ce62ab6ff99098694b51db38e50554f5adb3be99;hb=9242129958c996f9ff71da7c7b74d7983b5c59f6;hp=c3ac3dabfabf04d7710f28a600790215e38d7573;hpb=bc870bcf81b99afcaf4c358f4e68643d1bf4efaf;p=pulseview.git diff --git a/pv/view/decodetrace.cpp b/pv/view/decodetrace.cpp index c3ac3da..ce62ab6 100644 --- a/pv/view/decodetrace.cpp +++ b/pv/view/decodetrace.cpp @@ -137,6 +137,11 @@ void DecodeTrace::paint_mid(QPainter &p, int left, int right) _decoder_stack->get_start_time()) / scale; const double samples_per_pixel = samplerate * scale; + const uint64_t start_sample = (uint64_t)max((left + pixels_offset) * + samples_per_pixel, 0.0); + const uint64_t end_sample = (uint64_t)max((right + pixels_offset) * + samples_per_pixel, 0.0); + QFontMetrics m(QApplication::font()); const int h = (m.boundingRect(QRect(), 0, "Tg").height() * 5) / 4; @@ -154,9 +159,12 @@ void DecodeTrace::paint_mid(QPainter &p, int left, int right) const int y = get_y(); assert(_decoder_stack); - vector annotations(_decoder_stack->annotations()); + vector annotations; + _decoder_stack->get_annotation_subset(annotations, + start_sample, end_sample); - BOOST_FOREACH(const Annotation &a, annotations) { + BOOST_FOREACH(const Annotation &a, annotations) + { // Every stacked PD is 60 pixels further down. int y_stack_offset = a.pd_index() * 60;