]> git.cworth.org Git - apitrace/blob - gui/graphing/frameaxiswidget.h
Use skiplist-based FastCallSet within trace::CallSet
[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     virtual ~FrameDataProvider() {}
9
10     /* Number of frames */
11     virtual unsigned size() const = 0;
12
13     /* Start and end values of frame */
14     virtual qint64 frameStart(unsigned frame) const = 0;
15     virtual qint64 frameEnd(unsigned frame) const = 0;
16 };
17
18 /**
19  * A generic axis which will draw frame numbers over a period of values.
20  * Frames designated by start / end values.
21  */
22 class FrameAxisWidget : public GraphAxisWidget {
23 public:
24     FrameAxisWidget(QWidget* parent = 0);
25
26     void setDataProvider(FrameDataProvider* data);
27
28     virtual void paintEvent(QPaintEvent *e);
29
30 protected:
31     FrameDataProvider* m_data;
32 };
33
34 #endif