#include <pv/session.hpp>
#include <QMouseEvent>
+#include <QScreen>
+#include <QWindow>
#include <QDebug>
return nullptr;
}
-void Viewport::item_hover(const shared_ptr<ViewItem> &item)
+void Viewport::item_hover(const shared_ptr<ViewItem> &item, QPoint pos)
{
- if (item && item->is_draggable())
+ if (item && item->is_draggable(pos))
setCursor(dynamic_pointer_cast<RowItem>(item) ?
Qt::SizeVerCursor : Qt::SizeHorCursor);
else
[](const shared_ptr<TimeItem> &t) { return !t; }));
QPainter p(this);
- p.setRenderHint(QPainter::Antialiasing);
+
+ bool useAntialiasing =
+ window()->windowHandle()->screen()->devicePixelRatio() < 2.0;
+ p.setRenderHint(QPainter::Antialiasing, useAntialiasing);
for (LayerPaintFunc *paint_func = layer_paint_funcs;
*paint_func; paint_func++) {
ViewItemPaintParams time_pp(rect(), view_.scale(), view_.offset());
- for (const shared_ptr<TimeItem> t : time_items)
+ for (const shared_ptr<TimeItem>& t : time_items)
(t.get()->*(*paint_func))(p, time_pp);
ViewItemPaintParams row_pp(rect(), view_.scale(), view_.offset());
- for (const shared_ptr<RowItem> r : row_items)
+ for (const shared_ptr<RowItem>& r : row_items)
(r.get()->*(*paint_func))(p, row_pp);
}