X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fviewitem.hpp;h=11efbc0cdd1f7bd79855b7fe4c77cc67583f8922;hb=be7170664b80552fdfb38da1c214c271cbf116aa;hp=6a78b1afb583eb1c20256f936e4d0a159fd093ef;hpb=26e3af6b15f083239981729b2c3c109ed1d87ba8;p=pulseview.git diff --git a/pv/view/viewitem.hpp b/pv/view/viewitem.hpp index 6a78b1a..11efbc0 100644 --- a/pv/view/viewitem.hpp +++ b/pv/view/viewitem.hpp @@ -25,6 +25,8 @@ #include +#include "viewitempaintparams.hpp" + class QAction; class QMenu; class QWidget; @@ -41,7 +43,8 @@ class ViewItem : public QObject { Q_OBJECT -private: +public: + static const QSizeF LabelPadding; static const int HighlightRadius; public: @@ -85,8 +88,9 @@ public: /** * Get the drag point. + * @param rect the rectangle of the widget area. */ - virtual QPoint point() const = 0; + virtual QPoint point(const QRect &rect) const = 0; /** * Computes the outline rectangle of a label. @@ -95,6 +99,35 @@ public: */ virtual QRectF label_rect(const QRectF &rect) const = 0; + /** + * Paints the signal label. + * @param p the QPainter to paint into. + * @param rect the rectangle of the header area. + * @param hover true if the label is being hovered over by the mouse. + */ + virtual void paint_label(QPainter &p, const QRect &rect, bool hover) = 0; + + /** + * Paints the background layer of the item with a QPainter + * @param p the QPainter to paint into. + * @param pp the painting parameters object to paint with. + **/ + virtual void paint_back(QPainter &p, const ViewItemPaintParams &pp); + + /** + * Paints the mid-layer of the item with a QPainter + * @param p the QPainter to paint into. + * @param pp the painting parameters object to paint with. + **/ + virtual void paint_mid(QPainter &p, const ViewItemPaintParams &pp); + + /** + * Paints the foreground layer of the item with a QPainter + * @param p the QPainter to paint into. + * @param pp the painting parameters object to paint with. + **/ + virtual void paint_fore(QPainter &p, const ViewItemPaintParams &pp); + public: /** * Gets the text colour.