]> git.cworth.org Git - apitrace/blobdiff - gui/apitracecall.h
Respect the double buffered option when looking up the state.
[apitrace] / gui / apitracecall.h
index c69a484e392947b8147dd87406c12827b24a15de..975c3f6bfc9e51f21cd2cdcafec71ecc701d87f8 100644 (file)
@@ -1,8 +1,11 @@
 #ifndef APITRACECALL_H
 #define APITRACECALL_H
 
+#include "apisurface.h"
+
 #include <QStaticText>
 #include <QStringList>
+#include <QUrl>
 #include <QVariant>
 
 #include "trace_model.hpp"
@@ -100,6 +103,25 @@ QString apiVariantToString(const QVariant &variant);
 
 class ApiTraceFrame;
 
+class ApiTraceState {
+public:
+    ApiTraceState();
+    explicit ApiTraceState(const QVariantMap &parseJson);
+
+    bool isEmpty() const;
+    QVariantMap parameters() const;
+    QStringList shaderSources() const;
+    QList<ApiTexture> textures() const;
+    QList<ApiFramebuffer> framebuffers() const;
+
+private:
+    QVariantMap m_parameters;
+    QStringList m_shaderSources;
+    QList<ApiTexture> m_textures;
+    QList<ApiFramebuffer> m_framebuffers;
+};
+Q_DECLARE_METATYPE(ApiTraceState);
+
 class ApiTraceEvent
 {
 public:
@@ -117,12 +139,13 @@ public:
     virtual QStaticText staticText() const = 0;
     virtual int numChildren() const = 0;
 
-    QVariantMap state() const;
-    void setState(const QVariantMap &state);
+    QVariantMap stateParameters() const;
+    ApiTraceState state() const;
+    void setState(const ApiTraceState &state);
 
 protected:
     Type m_type;
-    QVariantMap m_state;
+    ApiTraceState m_state;
 };
 Q_DECLARE_METATYPE(ApiTraceEvent*);
 
@@ -138,15 +161,20 @@ public:
     QVariantList argValues;
     QVariant returnValue;
     ApiTraceFrame *parentFrame;
+    QUrl helpUrl;
 
     QString toHtml() const;
     QString filterText() const;
     QStaticText staticText() const;
     int numChildren() const;
+    bool hasBinaryData() const;
+    int binaryDataIndex() const;
 private:
     mutable QString m_richText;
     mutable QString m_filterText;
     mutable QStaticText m_staticText;
+    mutable bool m_hasBinaryData;
+    mutable int m_binaryDataIndex;
 };
 Q_DECLARE_METATYPE(ApiTraceCall*);