X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=pv%2Fview%2Fviewport.hpp;h=43905337fefaad1c4b78cc6a71ef432212e15c11;hb=c9743553584975b338890c16ef22943d7beaacdd;hp=94ebe8ee4f0a4655ad3af4084bb5b2211854e0e8;hpb=40aca27ed83559f7f79873e353f64d2c36a18fce;p=pulseview.git diff --git a/pv/view/viewport.hpp b/pv/view/viewport.hpp index 94ebe8ee..43905337 100644 --- a/pv/view/viewport.hpp +++ b/pv/view/viewport.hpp @@ -42,21 +42,35 @@ class Viewport : public ViewWidget public: explicit Viewport(View &parent); -protected: - void paintEvent(QPaintEvent *event); +private: + /** + * Gets the first view item which has a hit-box that contains @c pt . + * @param pt the point to search with. + * @return the view item that has been found, or and empty + * @c shared_ptr if no item was found. + */ + std::shared_ptr get_mouse_over_item( + const QPoint &pt); + + /** + * Gets the items in the view widget. + */ + std::vector< std::shared_ptr > items(); + + /** + * Handles touch begin update and end events. + * @param e the event that triggered this handler. + */ + bool touch_event(QTouchEvent *e); private: - bool event(QEvent *event); + void paintEvent(QPaintEvent *event); + void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent * event); void wheelEvent(QWheelEvent *event); - bool touchEvent(QTouchEvent *e); - -private Q_SLOTS: - void on_signals_moved(); - private: QPoint mouse_down_point_; double mouse_down_offset_;