summaryrefslogtreecommitdiffstats
path: root/src/bm/plotter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/bm/plotter.h')
-rw-r--r--src/bm/plotter.h36
1 files changed, 25 insertions, 11 deletions
diff --git a/src/bm/plotter.h b/src/bm/plotter.h
index e67dded..d80ea24 100644
--- a/src/bm/plotter.h
+++ b/src/bm/plotter.h
@@ -35,12 +35,21 @@ class Plotter
{
public:
virtual ~Plotter() {}
- QImage createImage(QString *error = 0) const;
+
+ struct PointInfo
+ {
+ QRectF rect;
+ qreal value;
+ PointInfo(const QRectF &rect, const qreal value) : rect(rect), value(value) {}
+ };
+
+ QImage createImage(QString *error = 0, QList<PointInfo> *pointInfos = 0) const;
+
private:
virtual QRectF sceneRect() const = 0;
virtual bool drawScenes(
QGraphicsScene *scene_far, QGraphicsScene *scene_mid_aa, QGraphicsScene *scene_near,
- QString *error = 0) const = 0;
+ QString *error = 0, QList<PointInfo> *pointInfos = 0) const = 0;
};
class ResultHistoryPlotter : public Plotter
@@ -61,7 +70,7 @@ private:
QRectF sceneRect() const;
bool drawScenes(
QGraphicsScene *scene_far, QGraphicsScene *scene_mid_aa, QGraphicsScene *scene_near,
- QString *error) const;
+ QString *error, QList<PointInfo> *pointInfos) const;
};
class IndexPlotter : public Plotter
@@ -69,16 +78,14 @@ class IndexPlotter : public Plotter
public:
IndexPlotter(
const QList<int> &timestamps, const QList<qreal> &values, const QList<int> &contributions,
- const int baseTimestamp = -1, const bool showBaseValue = true,
- const qreal baseValue = 100.0);
+ const int baseTimestamp = -1, const int baseValuePos = -1);
private:
QList<int> timestamps;
QList<qreal> values;
QList<int> contributions;
int baseTimestamp;
- bool showBaseValue;
- qreal baseValue;
+ int baseValuePos;
qreal width;
qreal height;
@@ -86,17 +93,24 @@ private:
QRectF sceneRect() const;
bool drawScenes(
QGraphicsScene *scene_far, QGraphicsScene *scene_mid_aa, QGraphicsScene *scene_near,
- QString *error) const;
+ QString *error, QList<PointInfo> *pointInfos) const;
};
class HistoriesPlotter : public Plotter
{
public:
- HistoriesPlotter(const QList<ResultHistoryInfo *> &rhInfos);
+ HistoriesPlotter(
+ const QList<ResultHistoryInfo *> &rhInfos, const bool showBenchmark = false,
+ const int baseTimestamp = -1, const QList<int> *basePos = 0,
+ const QList<QList<int> > *extraPos = 0, const QStringList *extraDescr = 0);
private:
QList<ResultHistoryInfo *> rhInfos;
-
+ bool showBenchmark;
+ int baseTimestamp;
+ const QList<int> *basePos;
+ const QList<QList<int> > *extraPos;
+ const QStringList *extraDescr;
qreal width;
qreal rhHeight;
qreal pad_top;
@@ -106,7 +120,7 @@ private:
QRectF sceneRect() const;
bool drawScenes(
QGraphicsScene *scene_far, QGraphicsScene *scene_mid_aa, QGraphicsScene *scene_near,
- QString *error) const;
+ QString *error, QList<PointInfo> *pointInfos) const;
};
#endif // PLOTTER_H