#include "timemarker.h"
+#include <QSizeF>
+
+class QPainter;
+
namespace pv {
namespace view {
class Cursor : public TimeMarker
{
+ Q_OBJECT
+
private:
static const QColor LineColour;
static const QColor FillColour;
static const QColor HighlightColour;
+ static const QColor TextColour;
static const int Size;
static const int Offset;
+ static const int ArrowSize;
+
public:
/**
* Constructor.
Cursor(const View &view, double time);
public:
+ /**
+ * Gets the marker label rectangle.
+ * @param rect The rectangle of the ruler client area.
+ * @return Returns the label rectangle.
+ */
+ QRectF get_label_rect(const QRect &rect) const;
+
/**
* Paints the cursor's label to the ruler.
* @param p The painter to draw with.
* @param rect The rectangle of the ruler client area.
*/
void paint_label(QPainter &p, const QRect &rect);
+
+private:
+ void compute_text_size(QPainter &p);
+
+ void format_text(char *text);
+
+private:
+ QSizeF _text_size;
};
} // namespace view