projects
/
pulseview.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Use a separate widget to hold the cursor labels.
[pulseview.git]
/
pv
/
view
/
cursor.h
diff --git
a/pv/view/cursor.h
b/pv/view/cursor.h
index a982c05e4d2b76b10cb2c224b50002a8cc9ec138..16e8298b8df4a8a0c98ad038dd78a90cb37043f7 100644
(file)
--- a/
pv/view/cursor.h
+++ b/
pv/view/cursor.h
@@
-23,37
+23,64
@@
#include "timemarker.h"
#include "timemarker.h"
+#include <memory>
+
+#include <QSizeF>
+
+class QPainter;
+
namespace pv {
namespace view {
class Cursor : public TimeMarker
{
namespace pv {
namespace view {
class Cursor : public TimeMarker
{
-private:
+ Q_OBJECT
+
+public:
static const QColor LineColour;
static const QColor FillColour;
static const QColor HighlightColour;
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 Offset;
+ static const int ArrowSize;
+
public:
/**
* Constructor.
public:
/**
* Constructor.
- * @param
colour A reference to the colour of this curso
r.
+ * @param
view A reference to the view that owns this cursor pai
r.
* @param time The time to set the flag to.
*/
* @param time The time to set the flag to.
*/
- Cursor(
const
View &view, double time);
+ Cursor(View &view, double time);
public:
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.
/**
* Paints the cursor's label to the ruler.
* @param p The painter to draw with.
* @param rect The rectangle of the ruler client area.
+ * @param prefix The index of the SI prefix to use.
*/
*/
- void paint_label(QPainter &p, const QRect &rect);
+ void paint_label(QPainter &p, const QRect &rect,
+ unsigned int prefix);
+
+private:
+ void compute_text_size(QPainter &p, unsigned int prefix);
+
+ std::shared_ptr<Cursor> get_other_cursor() const;
+
+private:
+ QSizeF _text_size;
};
} // namespace view
} // namespace pv
};
} // namespace view
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_CURSOR_H
\ No newline at end of file
+#endif // PULSEVIEW_PV_VIEW_CURSOR_H