X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitrace.h;h=04e295cd7e39470476990d834b5085be7bf77997;hb=48c661ea6c0f2bd9b76a3385cd946b7d07bc9b5f;hp=d0a6be4356dc6aee5674a5973ffb85f8d7d2d278;hpb=ad513b3f5f6e3b1e460d9cf77479715cc05319b4;p=apitrace diff --git a/gui/apitrace.h b/gui/apitrace.h index d0a6be4..04e295c 100644 --- a/gui/apitrace.h +++ b/gui/apitrace.h @@ -3,6 +3,8 @@ #include "apitracecall.h" +#include "trace_api.hpp" + #include #include @@ -14,12 +16,6 @@ class ApiTrace : public QObject { Q_OBJECT public: - enum FrameMarker { - FrameMarker_SwapBuffers, - FrameMarker_Flush, - FrameMarker_Finish, - FrameMarker_Clear - }; enum SearchResult { SearchResult_NotFound, SearchResult_Found, @@ -51,8 +47,6 @@ public: Qt::CaseSensitivity cs; }; - static bool isCallAFrameMarker(const ApiTraceCall *call, - FrameMarker marker); public: ApiTrace(); ~ApiTrace(); @@ -61,13 +55,11 @@ public: QString fileName() const; - FrameMarker frameMarker() const; - ApiTraceState defaultState() const; ApiTraceCall *callWithIndex(int idx) const; - QList frames() const; + const QList & frames() const; ApiTraceFrame *frameAt(int idx) const; int numFrames() const; int numCallsInFrame(int idx) const; @@ -83,6 +75,8 @@ public: bool hasErrors() const; + trace::API api() const; + public slots: void setFileName(const QString &name); void save(); @@ -100,6 +94,7 @@ public slots: void findCallIndex(int index); void setCallError(const ApiTraceError &error); + void bindThumbnailsToFrames(const QList &thumbnails); signals: void loadTrace(const QString &name); @@ -109,7 +104,7 @@ signals: void finishedLoadingTrace(); void invalidated(); void framesInvalidated(); - void changed(ApiTraceCall *call); + void changed(ApiTraceEvent *event); void startedSaving(); void saved(); void findResult(const ApiTrace::SearchRequest &request, @@ -133,6 +128,7 @@ signals: private slots: void addFrames(const QList &frames); void slotSaved(); + void guessedApi(int api); void finishedParsing(); void loaderFrameLoaded(ApiTraceFrame *frame, const QVector &calls, @@ -143,13 +139,13 @@ private slots: private: int callInFrame(int callIdx) const; + bool isFrameLoading(ApiTraceFrame *frame) const; private: QString m_fileName; QString m_tempFileName; QList m_frames; - - FrameMarker m_frameMarker; + trace::API m_api; TraceLoader *m_loader; QThread *m_loaderThread; @@ -161,6 +157,7 @@ private: QSet m_errors; QList< QPair > m_queuedErrors; + QSet m_loadingFrames; }; #endif