]> git.cworth.org Git - apitrace/blobdiff - gui/mainwindow.h
Capture snapshot stream in anticipation of displaying thumbnails.
[apitrace] / gui / mainwindow.h
index 0ae8ab78e9315c619aa99d843b32f27c873e0ea5..568f6925c513f12db74e91a20806d1e4117e9384 100644 (file)
@@ -3,10 +3,13 @@
 
 #include "ui_mainwindow.h"
 
+#include "trace_api.hpp"
 #include "apitrace.h"
 
 #include <QMainWindow>
 #include <QProcess>
+#include <QList>
+#include <QImage>
 
 class ApiTrace;
 class ApiTraceCall;
@@ -36,7 +39,7 @@ public:
     ~MainWindow();
 
 public slots:
-    void loadTrace(const QString &fileName);
+    void loadTrace(const QString &fileName, int callNum = -1);
 
 private slots:
     void callItemSelected(const QModelIndex &index);
@@ -46,6 +49,7 @@ private slots:
     void replayStop();
     void replayFinished(const QString &output);
     void replayStateFound(ApiTraceState *state);
+    void replayThumbnailsFound(const QList<QImage> &thumbnails);
     void replayError(const QString &msg);
     void startedLoadingTrace();
     void loadProgess(int percent);
@@ -73,7 +77,8 @@ private slots:
     void slotTraceChanged(ApiTraceCall *call);
     void slotRetraceErrors(const QList<ApiTraceError> &errors);
     void slotErrorSelected(QTreeWidgetItem *current);
-    void slotSearchResult(ApiTrace::SearchResult result,
+    void slotSearchResult(const ApiTrace::SearchRequest &request,
+                          ApiTrace::SearchResult result,
                           ApiTraceCall *call);
     void slotFoundFrameStart(ApiTraceFrame *frame);
     void slotFoundFrameEnd(ApiTraceFrame *frame);
@@ -83,7 +88,7 @@ private:
     void initObjects();
     void initConnections();
     void newTraceFile(const QString &fileName);
-    void replayTrace(bool dumpState);
+    void replayTrace(bool dumpState, bool dumpThumbnails);
     void fillStateForFrame();
 
     /* there's a difference between selected frame/call and
@@ -100,9 +105,12 @@ private:
     Ui_MainWindow m_ui;
     ShadersSourceWidget *m_sourcesWidget;
 
+    trace::API m_api;
+
     ApiTrace *m_trace;
     ApiTraceModel *m_model;
     ApiTraceFilter *m_proxyModel;
+    int m_initalCallNum;
 
     QProgressBar *m_progressBar;
 
@@ -110,6 +118,8 @@ private:
 
     ApiTraceEvent *m_stateEvent;
 
+    QList<QImage> m_thumbnails;
+
     Retracer *m_retracer;
 
     VertexDataInterpreter *m_vdataInterpreter;