X-Git-Url: https://git.cworth.org/git?a=blobdiff_plain;f=gui%2Fapitracecall.cpp;h=bc88c3b4f29bc2c40fb4e78a8467d986fae64aff;hb=e9426dd61586757d23d7dddc85b3076f477e7f07;hp=5f2d9765df1cc44d045703b955c852d6a9ded406;hpb=1fa61832ade0e95fccc55d39790d1acf65464af5;p=apitrace diff --git a/gui/apitracecall.cpp b/gui/apitracecall.cpp index 5f2d976..bc88c3b 100644 --- a/gui/apitracecall.cpp +++ b/gui/apitracecall.cpp @@ -16,7 +16,7 @@ const char * const styleSheet = " font-weight:bold;\n" // text shadow looks great but doesn't work well in qtwebkit 4.7 " /*text-shadow: 0px 2px 3px #555;*/\n" - " font-size: 1.2em;\n" + " font-size: 1.1em;\n" "}\n" ".arg-name {\n" " border: 1px solid rgb(238,206,0);\n" @@ -105,9 +105,12 @@ apiVariantToString(const QVariant &variant, bool multiLine) return QLatin1String("?"); } - if (variant.userType() == QVariant::Double) { + if (variant.userType() == QMetaType::Float) { return QString::number(variant.toFloat()); } + if (variant.userType() == QVariant::Double) { + return QString::number(variant.toDouble()); + } if (variant.userType() == QVariant::ByteArray) { if (variant.toByteArray().size() < 1024) { int bytes = variant.toByteArray().size(); @@ -171,6 +174,11 @@ void VariantVisitor::visit(trace::Float *node) m_variant = QVariant(node->value); } +void VariantVisitor::visit(trace::Double *node) +{ + m_variant = QVariant(node->value); +} + void VariantVisitor::visit(trace::String *node) { m_variant = QVariant(QString::fromStdString(node->value)); @@ -458,6 +466,10 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) image[QLatin1String("__normalized__")].toBool(); int numChannels = image[QLatin1String("__channels__")].toInt(); + int depth = + image[QLatin1String("__depth__")].toInt(); + QString formatName = + image[QLatin1String("__format__")].toString(); Q_ASSERT(type == QLatin1String("uint8")); Q_ASSERT(normalized == true); @@ -468,6 +480,8 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) ApiTexture tex; tex.setSize(size); + tex.setDepth(depth); + tex.setFormatName(formatName); tex.setNumChannels(numChannels); tex.setLabel(itr.key()); tex.contentsFromBase64(dataArray); @@ -485,6 +499,8 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) QString type = buffer[QLatin1String("__type__")].toString(); bool normalized = buffer[QLatin1String("__normalized__")].toBool(); int numChannels = buffer[QLatin1String("__channels__")].toInt(); + int depth = buffer[QLatin1String("__depth__")].toInt(); + QString formatName = buffer[QLatin1String("__format__")].toString(); Q_ASSERT(type == QLatin1String("uint8")); Q_ASSERT(normalized == true); @@ -495,6 +511,8 @@ ApiTraceState::ApiTraceState(const QVariantMap &parsedJson) ApiFramebuffer fbo; fbo.setSize(size); + fbo.setDepth(depth); + fbo.setFormatName(formatName); fbo.setNumChannels(numChannels); fbo.setType(itr.key()); fbo.contentsFromBase64(dataArray); @@ -652,6 +670,7 @@ ApiTraceCall::ApiTraceCall(ApiTraceFrame *parentFrame, } } m_argValues.squeeze(); + m_flags = call->flags; } ApiTraceCall::~ApiTraceCall() @@ -767,6 +786,11 @@ QVariant ApiTraceCall::returnValue() const return m_returnValue; } +trace::CallFlags ApiTraceCall::flags() const +{ + return m_flags; +} + QUrl ApiTraceCall::helpUrl() const { return m_signature->helpUrl(); @@ -840,18 +864,28 @@ QString ApiTraceCall::toHtml() const if (!m_richText.isEmpty()) return m_richText; - m_richText = QLatin1String("
"); + m_richText += QLatin1String("
"); + + m_richText += + QString::fromLatin1("%1) ") + .arg(m_index); + QString parentTip; + if (m_parentFrame) { + parentTip = + QString::fromLatin1("Frame %1") + .arg(m_parentFrame->number); + } QUrl helpUrl = m_signature->helpUrl(); if (helpUrl.isEmpty()) { m_richText += QString::fromLatin1( - "%1) %2(") - .arg(m_index) + "%2(") + .arg(parentTip) .arg(m_signature->name()); } else { m_richText += QString::fromLatin1( - "%1) %3(") - .arg(m_index) + "%3(") + .arg(parentTip) .arg(helpUrl.toString()) .arg(m_signature->name()); }