* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
-#ifndef PULSEVIEW_PV_VIEW_TRACE_H
-#define PULSEVIEW_PV_VIEW_TRACE_H
+#ifndef PULSEVIEW_PV_VIEW_TRACE_HPP
+#define PULSEVIEW_PV_VIEW_TRACE_HPP
#include <QColor>
#include <QPainter>
#include <stdint.h>
-#include "rowitem.hpp"
+#include "tracetreeitem.hpp"
class QFormLayout;
namespace view {
-class Trace : public RowItem
+class Trace : public TraceTreeItem
{
Q_OBJECT
*/
void set_colour(QColor colour);
+ /**
+ * Computes the outline rectangle of the viewport hit-box.
+ * @param rect the rectangle of the viewport area.
+ * @return Returns the rectangle of the hit-box.
+ */
+ QRectF hit_box_rect(const QRectF &rect) const;
+
/**
* 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);
+ virtual void paint_label(QPainter &p, const QRect &rect, bool hover);
virtual QMenu* create_context_menu(QWidget *parent);
/**
* Computes the outline rectangle of a label.
- * @param right the x-coordinate of the right edge of the header
- * area.
+ * @param rect the rectangle of the header area.
* @return Returns the rectangle of the signal label.
*/
- QRectF label_rect(int right) const;
+ QRectF label_rect(const QRectF &rect) const;
protected:
-
- /**
- * Gets the text colour.
- * @remarks This colour is computed by comparing the lightness
- * of the trace colour against a threshold to determine whether
- * white or black would be more visible.
- */
- QColor get_text_colour() const;
-
/**
* Paints a zero axis across the viewport.
* @param p the QPainter to paint into.
* @param pp the painting parameters object to paint with.
* @param y the y-offset of the axis.
*/
- void paint_axis(QPainter &p, const RowItemPaintParams &pp, int y);
+ void paint_axis(QPainter &p, const ViewItemPaintParams &pp, int y);
void add_colour_option(QWidget *parent, QFormLayout *form);
} // namespace view
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_TRACE_H
+#endif // PULSEVIEW_PV_VIEW_TRACE_HPP