#include "cursor.h"
+#include <memory>
+
#include <QPainter>
class QPainter;
class CursorPair
{
+private:
+ static const int DeltaPadding;
+
public:
/**
* Constructor.
* @param view A reference to the view that owns this cursor pair.
*/
- CursorPair(const View &view);
+ CursorPair(View &view);
/**
- * Returns a reference to the first cursor.
+ * Returns a pointer to the first cursor.
*/
- Cursor& first();
+ std::shared_ptr<Cursor> first() const;
/**
- * Returns a reference to the first cursor.
+ * Returns a pointer to the second cursor.
*/
- const Cursor& first() const;
+ std::shared_ptr<Cursor> second() const;
- /**
- * Returns a reference to the second cursor.
- */
- Cursor& second();
+public:
+ QRectF get_label_rect(const QRect &rect) const;
- /**
- * Returns a reference to the second cursor.
- */
- const Cursor& second() const;
+ void draw_markers(QPainter &p,
+ const QRect &rect, unsigned int prefix);
-public:
void draw_viewport_background(QPainter &p, const QRect &rect);
void draw_viewport_foreground(QPainter &p, const QRect &rect);
+ void compute_text_size(QPainter &p, unsigned int prefix);
+
+ std::pair<float, float> get_cursor_offsets() const;
+
private:
- Cursor _first, _second;
- const View &_view;
+ std::shared_ptr<Cursor> first_, second_;
+ const View &view_;
+
+ QSizeF text_size_;
};
} // namespace view