+int AnalogSignal::scale_handle_offset() const
+{
+ return ((scale_index_drag_offset_ - scale_index_) *
+ NominalHeight / 4) - NominalHeight / 2;
+}
+
+void AnalogSignal::scale_handle_dragged(int offset)
+{
+ scale_index_ = scale_index_drag_offset_ -
+ (offset + NominalHeight / 2) / (NominalHeight / 4);
+}
+
+void AnalogSignal::scale_handle_drag_release()
+{
+ scale_index_drag_offset_ = scale_index_;
+}
+
+void AnalogSignal::paint_back(QPainter &p, const ViewItemPaintParams &pp)
+{
+ if (channel_->enabled())
+ paint_axis(p, pp, get_visual_y());
+}
+
+void AnalogSignal::paint_mid(QPainter &p, const ViewItemPaintParams &pp)
+{
+ assert(data_);
+ assert(owner_);