#ifndef APITRACECALL_H
#define APITRACECALL_H
+#include "apisurface.h"
+
#include <QStaticText>
#include <QStringList>
+#include <QUrl>
#include <QVariant>
#include "trace_model.hpp"
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:
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*);
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*);