assert(_data);
assert(right >= left);
+ paint_axis(p, y, left, right);
+
const deque< shared_ptr<pv::data::AnalogSnapshot> > &snapshots =
_data->get_snapshots();
if (snapshots.empty())
assert(_data);
assert(right >= left);
+ paint_axis(p, y, left, right);
+
const float high_offset = y - View::SignalHeight + 0.5f;
const float low_offset = y + 0.5f;
const int Signal::LabelHitPadding = 2;
const int Signal::LabelHighlightRadius = 6;
+const QPen Signal::SignalAxisPen(QColor(128, 128, 128, 64));
+
Signal::Signal(QString name) :
_name(name),
_v_offset(0),
).contains(point);
}
+void Signal::paint_axis(QPainter &p, int y, int left, int right)
+{
+ p.setPen(SignalAxisPen);
+ p.drawLine(QPointF(left, y + 0.5f), QPointF(right, y + 0.5f));
+}
+
void Signal::compute_text_size(QPainter &p)
{
_text_size = p.boundingRect(QRectF(), 0, _name).size();
#include <QColor>
#include <QPainter>
+#include <QPen>
#include <QRect>
#include <QString>
static const int LabelHitPadding;
static const int LabelHighlightRadius;
+ static const QPen SignalAxisPen;
+
protected:
Signal(QString name);
bool pt_in_label_rect(int y, int left, int right,
const QPoint &point);
+protected:
+
+ /**
+ * Paints a zero axis across the viewport.
+ * @param p the QPainter to paint into.
+ * @param y the y-offset of the axis.
+ * @param left the x-coordinate of the left edge of the view.
+ * @param right the x-coordinate of the right edge of the view.
+ */
+ void paint_axis(QPainter &p, int y, int left, int right);
+
private:
/**