diff options
author | Arseniy Movshev <dodoradio@outlook.com> | 2023-07-02 14:23:53 +0100 |
---|---|---|
committer | Arseniy Movshev <dodoradio@outlook.com> | 2023-07-02 14:25:17 +0100 |
commit | 19d485261dbb9f990935b4e677692207cf6422d3 (patch) | |
tree | c8cdeadd8b9783c5df7f3dea30b36d23a4931e58 /src/cpp/hrGraph.cpp | |
parent | 4de0f35b44edc69732bb34d8250db7b0aaf38f0b (diff) |
Rename hrgraph to linegraph because it's not actually heartrate specific
Diffstat (limited to 'src/cpp/hrGraph.cpp')
-rw-r--r-- | src/cpp/hrGraph.cpp | 139 |
1 files changed, 0 insertions, 139 deletions
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 <dodoradio@outlook.com> - * 2017 Florent Revest <revestflo@gmail.com> - * 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 <QPainter> -#include <QDate> -#include <QFile> -#include <QVector> -#include <QSettings> -#include <QStandardPaths> -#include <QPointF> - -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<QVariant> 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; -} |