#include <QPropertyAnimation>
+#include "rowitempaintparams.hpp"
#include "selectableitem.hpp"
namespace pv {
*/
RowItem();
- /**
- * Returns true if the item is visible and enabled.
- */
- virtual bool enabled() const = 0;
-
/**
* Gets the vertical layout offset of this signal.
*/
/**
* Paints the background layer of the trace with a QPainter
* @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
+ * @param pp the painting parameters object to paint with.
**/
- virtual void paint_back(QPainter &p, int left, int right);
+ virtual void paint_back(QPainter &p, const RowItemPaintParams &pp);
/**
* Paints the mid-layer of the trace with a QPainter
* @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
+ * @param pp the painting parameters object to paint with.
**/
- virtual void paint_mid(QPainter &p, int left, int right);
+ virtual void paint_mid(QPainter &p, const RowItemPaintParams &pp);
/**
* Paints the foreground layer of the trace with a QPainter
* @param p the QPainter to paint into.
- * @param left the x-coordinate of the left edge of the signal
- * @param right the x-coordinate of the right edge of the signal
+ * @param pp the painting parameters object to paint with.
**/
- virtual void paint_fore(QPainter &p, int left, int right);
+ virtual void paint_fore(QPainter &p, const RowItemPaintParams &pp);
/**
* Paints the signal label.
* @param p the QPainter to paint into.
- * @param right the x-coordinate of the right edge of the header
- * area.
+ * @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, int right, bool hover) = 0;
-
- /**
- * Computes the outline rectangle of a label.
- * @param right the x-coordinate of the right edge of the header
- * area.
- * @return Returns the rectangle of the signal label.
- */
- virtual QRectF label_rect(int right) const = 0;
+ virtual void paint_label(QPainter &p, const QRect &rect, bool hover) = 0;
public:
virtual void hover_point_changed();