X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewport.cpp;h=91b27d3ffb02ab383c3d2c801507191610a072e6;hb=e94f43c6539a9ec9412829550d8f025902ccc341;hp=d555a792ed5f1ad8a09093709919c1c25c75e48d;hpb=60d9b99a32e551cffd2b537d3e157d578a761c9b;p=pulseview.git diff --git a/pv/view/viewport.cpp b/pv/view/viewport.cpp index d555a79..91b27d3 100644 --- a/pv/view/viewport.cpp +++ b/pv/view/viewport.cpp @@ -95,7 +95,10 @@ void Viewport::drag_release() vector< shared_ptr > Viewport::items() { - vector< shared_ptr > items(view_.begin(), view_.end()); + vector< shared_ptr > items; + const std::vector< shared_ptr > view_items( + view_.list_by_type()); + copy(view_items.begin(), view_items.end(), back_inserter(items)); const vector< shared_ptr > time_items(view_.time_items()); copy(time_items.begin(), time_items.end(), back_inserter(items)); return items; @@ -148,13 +151,13 @@ bool Viewport::touch_event(QTouchEvent *event) void Viewport::paintEvent(QPaintEvent*) { - vector< shared_ptr > row_items(view_.begin(), view_.end()); + vector< shared_ptr > row_items(view_.list_by_type()); assert(none_of(row_items.begin(), row_items.end(), [](const shared_ptr &r) { return !r; })); stable_sort(row_items.begin(), row_items.end(), [](const shared_ptr &a, const shared_ptr &b) { - return a->visual_v_offset() < b->visual_v_offset(); }); + return a->point(QRect()).y() < b->point(QRect()).y(); }); const vector< shared_ptr > time_items(view_.time_items()); assert(none_of(time_items.begin(), time_items.end(), @@ -175,6 +178,8 @@ void Viewport::paintEvent(QPaintEvent*) for (const shared_ptr r : row_items) r->paint_mid(p, pp); + p.setRenderHint(QPainter::Antialiasing, false); + for (const shared_ptr r : row_items) r->paint_fore(p, pp); for (const shared_ptr t : time_items)