shared_ptr<data::SignalBase> base) :
Signal(session, base),
scale_index_(4), // 20 per div
- scale_index_drag_offset_(0),
pos_vdivs_(1),
neg_vdivs_(1),
resolution_(0),
return make_pair(-ph, nh);
}
-int AnalogSignal::scale_handle_offset() const
-{
- const int h = (pos_vdivs_ + neg_vdivs_) * div_height_;
-
- return ((scale_index_drag_offset_ - scale_index_) * h / 4) - h / 2;
-}
-
-void AnalogSignal::scale_handle_dragged(int offset)
-{
- const int h = (pos_vdivs_ + neg_vdivs_) * div_height_;
-
- scale_index_ = scale_index_drag_offset_ - (offset + h / 2) / (h / 4);
-
- update_scale();
-}
-
-void AnalogSignal::scale_handle_drag_release()
-{
- scale_index_drag_offset_ = scale_index_;
- update_scale();
-}
-
void AnalogSignal::on_setting_changed(const QString &key, const QVariant &value)
{
Signal::on_setting_changed(key, value);
*/
pair<int, int> v_extents() const;
- /**
- * Returns the offset to show the drag handle.
- */
- int scale_handle_offset() const;
-
- /**
- * Handles the scale handle being dragged to an offset.
- * @param offset the offset the scale handle was dragged to.
- */
- void scale_handle_dragged(int offset);
-
- /**
- * @copydoc pv::view::Signal::signal_scale_handle_drag_release()
- */
- void scale_handle_drag_release();
-
virtual void on_setting_changed(const QString &key, const QVariant &value);
/**
float scale_;
int scale_index_;
- int scale_index_drag_offset_;
int div_height_;
int pos_vdivs_, neg_vdivs_; // divs per positive/negative side
return make_pair(-signal_height_ - signal_margin, signal_margin);
}
-int LogicSignal::scale_handle_offset() const
-{
- return -signal_height_;
-}
-
-void LogicSignal::scale_handle_dragged(int offset)
-{
- const int font_height = QFontMetrics(QApplication::font()).height();
- const int units = (-offset / font_height);
- signal_height_ = ((units < 1) ? 1 : units) * font_height;
-}
-
void LogicSignal::paint_mid(QPainter &p, ViewItemPaintParams &pp)
{
QLineF *line;
*/
pair<int, int> v_extents() const;
- /**
- * Returns the offset to show the drag handle.
- */
- int scale_handle_offset() const;
-
- /**
- * Handles the scale handle being dragged to an offset.
- * @param offset the offset the scale handle was dragged to.
- */
- void scale_handle_dragged(int offset);
-
/**
* Paints the mid-layer of the signal with a QPainter
* @param p the QPainter to paint into.