From 19d485261dbb9f990935b4e677692207cf6422d3 Mon Sep 17 00:00:00 2001 From: Arseniy Movshev Date: Sun, 2 Jul 2023 14:23:53 +0100 Subject: Rename hrgraph to linegraph because it's not actually heartrate specific --- src/cpp/hrGraph.cpp | 139 ---------------------------------------------------- 1 file changed, 139 deletions(-) delete mode 100644 src/cpp/hrGraph.cpp (limited to 'src/cpp/hrGraph.cpp') diff --git a/src/cpp/hrGraph.cpp b/src/cpp/hrGraph.cpp deleted file mode 100644 index ccec424..0000000 --- a/src/cpp/hrGraph.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2023 Arseniy Movshev - * 2017 Florent Revest - * All rights reserved. - * - * You may use this file under the terms of BSD license as follows: - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the author nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include "hrGraph.h" - -#include -#include -#include -#include -#include -#include -#include - -HrGraph::HrGraph() -{ - setFlag(ItemHasContents, true); - setAntialiasing(true); - setRenderTarget(QQuickPaintedItem::FramebufferObject); -} - -void HrGraph::paint(QPainter *painter) -{ - if (!m_fileLoadStatus) { - return; - } - int j = m_filedata.count(); - QPointF points[j]; - if (!graphRelative) { - minHrValue = 0; - } - float valueDelta = maxHrValue - minHrValue; - float timeDelta = maxTime - minTime; - float calculatedValue = 0; - float calculatedTimeSeconds = 0; - for(int i = 0; i < j; i++) { - calculatedTimeSeconds = (m_filedata[i].x() - minTime)/timeDelta; - calculatedValue = 1 - (m_filedata[i].y() - minHrValue)/valueDelta; - points[i] = QPointF(m_lineWidth + calculatedTimeSeconds*(width()-2*m_lineWidth), m_lineWidth + calculatedValue*(height()-2*m_lineWidth)); //these +2 -1 are here to make sure that the graph fits within the drawn area, as it will be clipped by qt if it doesn't. - } - QPen pen; - pen.setCapStyle(Qt::RoundCap); - pen.setJoinStyle(Qt::RoundJoin); - pen.setWidthF(m_lineWidth); - pen.setColor(m_color); - painter->setRenderHints(QPainter::Antialiasing); - painter->setPen(pen); - painter->drawPolyline(points,j); -} - -void HrGraph::loadGraphData(QVariant fileDataInput) { - qDebug() << "loadGraphData called"; - QList fileDataAsList = fileDataInput.toList(); - if (fileDataAsList.count() < 1) { - qDebug() << "no heartrate data to show, failing load"; - return; - } - int j = fileDataAsList.count(); - minTime = fileDataAsList[0].toPoint().x(); - maxTime = fileDataAsList[j-1].toPoint().x(); - minHrValue = fileDataAsList[0].toPoint().y(); - maxHrValue = minHrValue; - m_filedata.clear(); - for(int i = 0; i < j; i++) { - m_filedata.append(fileDataAsList[i].toPoint()); - if (minHrValue > m_filedata[i].y()) minHrValue = m_filedata[i].y(); - if (maxHrValue < m_filedata[i].y()) maxHrValue = m_filedata[i].y(); - } - emit loadingDone(); - update(); -} - -void HrGraph::setLineColor(QColor color) { - m_color = color; - update(); -} - -QColor HrGraph::lineColor() { - return m_color; -} - -void HrGraph::setLineWidth(float width) { - m_lineWidth = width; - update(); -} - -float HrGraph::lineWidth() { - return m_lineWidth; -} - -int HrGraph::getMaxHrValue() { - return maxHrValue; -} - -int HrGraph::getMinHrValue() { - return minHrValue; -} - -QDateTime HrGraph::getMaxTime() { - return QDateTime::fromSecsSinceEpoch(maxTime); -} - -QDateTime HrGraph::getMinTime() { - return QDateTime::fromSecsSinceEpoch(minTime); -} - -bool HrGraph::relative() { - return graphRelative; -} - -void HrGraph::setRelative(bool newRelative) { - graphRelative = newRelative; -} -- cgit v1.2.3-54-g00ecf