]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewport.hpp
When hovering a ViewItem only change the mouse cursor for movable items.
[pulseview.git] / pv / view / viewport.hpp
index f43177d2d3f611d9ea00abe87b6eadfbe02ce92e..c2c42d155d79bf9ecbe28ed54b2741f37271b554 100644 (file)
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef PULSEVIEW_PV_VIEW_VIEWPORT_H
-#define PULSEVIEW_PV_VIEW_VIEWPORT_H
+#ifndef PULSEVIEW_PV_VIEW_VIEWPORT_HPP
+#define PULSEVIEW_PV_VIEW_VIEWPORT_HPP
+
+#include <boost/optional.hpp>
 
 #include <QTimer>
 #include <QTouchEvent>
 
+#include "pv/util.hpp"
 #include "viewwidget.hpp"
 
 class QPainter;
@@ -43,6 +46,13 @@ public:
        explicit Viewport(View &parent);
 
 private:
+       /**
+        * Indicates when a view item is being hovered over.
+        * @param item The item that is being hovered over, or @c nullptr
+        * if no view item is being hovered over.
+        */
+       void item_hover(const std::shared_ptr<pv::view::ViewItem> &item);
+
        /**
         * Gets the first view item which has a hit-box that contains @c pt .
         * @param pt the point to search with.
@@ -86,7 +96,7 @@ private:
        void wheelEvent(QWheelEvent *event);
 
 private:
-       double drag_offset_;
+       boost::optional<pv::util::Timestamp> drag_offset_;
 
        double pinch_offset0_;
        double pinch_offset1_;
@@ -96,4 +106,4 @@ private:
 } // namespace view
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEW_VIEWPORT_H
+#endif // PULSEVIEW_PV_VIEW_VIEWPORT_HPP