diff options
Diffstat (limited to 'clients/tde/src/widgets/tracewidget.cpp')
-rw-r--r-- | clients/tde/src/widgets/tracewidget.cpp | 32 |
1 files changed, 27 insertions, 5 deletions
diff --git a/clients/tde/src/widgets/tracewidget.cpp b/clients/tde/src/widgets/tracewidget.cpp index f875571..f4a7c7d 100644 --- a/clients/tde/src/widgets/tracewidget.cpp +++ b/clients/tde/src/widgets/tracewidget.cpp @@ -15,9 +15,9 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * (c) 2012-2019 Timothy Pearson - * Raptor Engineering - * http://www.raptorengineeringinc.com + * (c) 2012 - 2019 Timothy Pearson + * Raptor Engineering, LLC + * http://www.raptorengineering.com */ #include "tracewidget.h" @@ -548,6 +548,7 @@ TraceData::TraceData(TraceWidget* parent, TQWidget* labelParent) : TQObject(), p rightEdgeIndex = -1; offset = 0.0; textOffset = 0.0; + verticalMultiplier = 1.0; leftEdge = 0; rightEdge = 0; topEdge = 0; @@ -705,9 +706,9 @@ void TraceData::drawTrace(TQPainter* p, int graticule_width, int graticule_heigh } x = (((positionArray[n]-leftEdge)/(rightEdge-leftEdge))*(virtual_width))-horizoffset; - y = ((((sampleArray[n]+offset)-topEdge)/(bottomEdge-topEdge))*(virtual_height)); + y = (((((sampleArray[n]*verticalMultiplier)+offset)-topEdge)/(bottomEdge-topEdge))*(virtual_height)); x2 = (((positionArray[n+incr]-leftEdge)/(rightEdge-leftEdge))*(virtual_width))-horizoffset; - y2 = ((((sampleArray[n+incr]+offset)-topEdge)/(bottomEdge-topEdge))*(virtual_height)); + y2 = (((((sampleArray[n+incr]*verticalMultiplier)+offset)-topEdge)/(bottomEdge-topEdge))*(virtual_height)); baseline = ((((offset)-topEdge)/(bottomEdge-topEdge))*(virtual_height)); // Do not draw lines that are placed fully off the screen @@ -2493,6 +2494,27 @@ void TraceWidget::setTraceTextOffset(uint traceNumber, double offset, bool defer } } +double TraceWidget::traceVerticalMultiplier(uint traceNumber) { + VERIFY_TRACE_ARRAY_SIZE + + return m_traceArray[traceNumber]->verticalMultiplier; +} + +void TraceWidget::setTraceVerticalMultiplier(uint traceNumber, double verticalMultiplier) { + setTraceVerticalMultiplier(traceNumber, verticalMultiplier, false); +} + +void TraceWidget::setTraceVerticalMultiplier(uint traceNumber, double verticalMultiplier, bool deferUpdate) { + VERIFY_TRACE_ARRAY_SIZE + + m_traceArray[traceNumber]->verticalMultiplier = verticalMultiplier; + + if (!deferUpdate) { + m_graticuleWidget->repaint(false); + updateTraceText(); + } +} + void TraceWidget::processChangedOffset(double offset) { // Find the sending trace number const TraceData* sendingTrace = dynamic_cast<const TraceData*>(sender()); |