]> git.cworth.org Git - vogl/blob - src/vogleditor/vogleditor_tracereplayer.h
Initial vogl checkin
[vogl] / src / vogleditor / vogleditor_tracereplayer.h
1 #ifndef VOGLEDITOR_TRACEREPLAYER_H
2 #define VOGLEDITOR_TRACEREPLAYER_H
3
4 #include "vogl_common.h"
5 #include "vogl_replay_window.h"
6
7 class vogl_gl_replayer;
8 class vogleditor_gl_state_snapshot;
9 class vogl_gl_state_snapshot;
10 class vogleditor_apiCallTreeItem;
11 class vogl_trace_file_reader;
12
13 class vogleditor_traceReplayer
14 {
15 public:
16     vogleditor_traceReplayer();
17     virtual ~vogleditor_traceReplayer();
18
19     bool replay(vogl_trace_file_reader* m_pTraceReader, vogleditor_apiCallTreeItem* pRootItem, vogleditor_gl_state_snapshot** ppNewSnapshot, uint64_t apiCallNumber, bool endlessMode);
20     bool pause();
21     bool restart();
22     bool trim();
23     bool stop();
24
25 private:
26
27     bool applying_snapshot_and_process_resize(const vogl_gl_state_snapshot* pSnapshot);
28
29     bool recursive_replay_apicallTreeItem(vogleditor_apiCallTreeItem* pItem, vogleditor_gl_state_snapshot** ppNewSnapshot, uint64_t apiCallNumber);
30     bool process_x_events();
31     vogl_gl_replayer* m_pTraceReplayer;
32     vogl_replay_window m_window;
33     Atom m_wmDeleteMessage;
34 };
35
36 #endif // VOGLEDITOR_TRACEREPLAYER_H