#include "cursor.h"
+#include <boost/shared_ptr.hpp>
+
#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);
-
- /**
- * Returns a reference to the first cursor.
- */
- Cursor& first();
+ CursorPair(View &view);
/**
- * Returns a reference to the first cursor.
+ * Returns a pointer to the first cursor.
*/
- const Cursor& first() const;
+ boost::shared_ptr<Cursor> first() const;
/**
- * Returns a reference to the second cursor.
+ * Returns a pointer to the second cursor.
*/
- Cursor& second();
-
- /**
- * Returns a reference to the second cursor.
- */
- const Cursor& second() const;
+ boost::shared_ptr<Cursor> second() const;
public:
+ QRectF get_label_rect(const QRect &rect) const;
+
void draw_markers(QPainter &p,
const QRect &rect, unsigned int prefix);
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;
+ boost::shared_ptr<Cursor> _first, _second;
const View &_view;
+
+ QSizeF _text_size;
};
} // namespace view