aboutsummaryrefslogtreecommitdiffstats
path: root/stats/quartilemarker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'stats/quartilemarker.cpp')
-rw-r--r--stats/quartilemarker.cpp30
1 files changed, 30 insertions, 0 deletions
diff --git a/stats/quartilemarker.cpp b/stats/quartilemarker.cpp
new file mode 100644
index 000000000..ace019df5
--- /dev/null
+++ b/stats/quartilemarker.cpp
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0
+#include "quartilemarker.h"
+#include "statsaxis.h"
+#include "zvalues.h"
+
+static const QColor quartileMarkerColor(Qt::red);
+static const double quartileMarkerSize = 15.0;
+
+QuartileMarker::QuartileMarker(StatsView &view, double pos, double value, StatsAxis *xAxis, StatsAxis *yAxis) :
+ ChartLineItem(view, ChartZValue::ChartFeatures, quartileMarkerColor, 2.0),
+ xAxis(xAxis), yAxis(yAxis),
+ pos(pos),
+ value(value)
+{
+ updatePosition();
+}
+
+QuartileMarker::~QuartileMarker()
+{
+}
+
+void QuartileMarker::updatePosition()
+{
+ if (!xAxis || !yAxis)
+ return;
+ double x = xAxis->toScreen(pos);
+ double y = yAxis->toScreen(value);
+ setLine(QPointF(x - quartileMarkerSize / 2.0, y),
+ QPointF(x + quartileMarkerSize / 2.0, y));
+}