statistics: convert QuartileMarkers to QSGNodes

Slowly converting the QGraphicsScene items to QSGNodes to
avoid full replot of the scene.

This adds a new abstraction for line-nodes. Since the render()
function here is fundamentally different from the pixmap-nodes
we had so far, this has to be made virtual.

Also, move the quartile markers to their own source file,
since the StatsView source file is quite huge already.

Signed-off-by: Berthold Stoeger <bstoeger@mail.tuwien.ac.at>
This commit is contained in:
Berthold Stoeger 2021-01-14 08:48:56 +01:00 committed by bstoeger
parent b1c0d42408
commit 790d2b2ddb
8 changed files with 172 additions and 58 deletions

20
stats/quartilemarker.h Normal file
View file

@ -0,0 +1,20 @@
// A short line used to mark quartiles
#ifndef QUARTILE_MARKER_H
#define QUARTILE_MARKER_H
#include "chartitem.h"
class StatsAxis;
class StatsView;
class QuartileMarker : public ChartLineItem {
public:
QuartileMarker(StatsView &view, double pos, double value, StatsAxis *xAxis, StatsAxis *yAxis);
~QuartileMarker();
void updatePosition();
private:
StatsAxis *xAxis, *yAxis;
double pos, value;
};
#endif