]> git.cworth.org Git - apitrace/blob - gui/graphing/frameaxiswidget.h
Rewrote profile graph drawing code.
[apitrace] / gui / graphing / frameaxiswidget.h
1 #ifndef FRAMEAXISWIDGET_H
2 #define FRAMEAXISWIDGET_H
3
4 #include "graphaxiswidget.h"
5
6 class FrameDataProvider {
7 public:
8     /* Number of frames */
9     virtual unsigned size() const = 0;
10
11     /* Start and end values of frame */
12     virtual qint64 frameStart(unsigned frame) const = 0;
13     virtual qint64 frameEnd(unsigned frame) const = 0;
14 };
15
16 /**
17  * A generic axis which will draw frame numbers over a period of values.
18  * Frames designated by start / end values.
19  */
20 class FrameAxisWidget : public GraphAxisWidget {
21 public:
22     FrameAxisWidget(QWidget* parent = 0);
23
24     void setDataProvider(FrameDataProvider* data);
25
26     virtual void paintEvent(QPaintEvent *e);
27
28 protected:
29     FrameDataProvider* m_data;
30 };
31
32 #endif