QString
apiVariantToString(const QVariant &variant, bool multiLine)
{
+ if (variant.isNull()) {
+ return QLatin1String("?");
+ }
+
if (variant.userType() == QVariant::Double) {
return QString::number(variant.toFloat());
}
image[QLatin1String("__normalized__")].toBool();
int numChannels =
image[QLatin1String("__channels__")].toInt();
+ int depth =
+ image[QLatin1String("__depth__")].toInt();
Q_ASSERT(type == QLatin1String("uint8"));
Q_ASSERT(normalized == true);
ApiTexture tex;
tex.setSize(size);
+ tex.setDepth(depth);
tex.setNumChannels(numChannels);
tex.setLabel(itr.key());
tex.contentsFromBase64(dataArray);
QString type = buffer[QLatin1String("__type__")].toString();
bool normalized = buffer[QLatin1String("__normalized__")].toBool();
int numChannels = buffer[QLatin1String("__channels__")].toInt();
+ int depth = buffer[QLatin1String("__depth__")].toInt();
Q_ASSERT(type == QLatin1String("uint8"));
Q_ASSERT(normalized == true);
ApiFramebuffer fbo;
fbo.setSize(size);
+ fbo.setDepth(depth);
fbo.setNumChannels(numChannels);
fbo.setType(itr.key());
fbo.contentsFromBase64(dataArray);
}
m_argValues.reserve(call->args.size());
for (int i = 0; i < call->args.size(); ++i) {
- VariantVisitor argVisitor(loader);
- call->args[i]->visit(argVisitor);
- m_argValues.append(argVisitor.variant());
- if (m_argValues[i].type() == QVariant::ByteArray) {
- m_hasBinaryData = true;
- m_binaryDataIndex = i;
+ if (call->args[i]) {
+ VariantVisitor argVisitor(loader);
+ call->args[i]->visit(argVisitor);
+ m_argValues.append(argVisitor.variant());
+ if (m_argValues[i].type() == QVariant::ByteArray) {
+ m_hasBinaryData = true;
+ m_binaryDataIndex = i;
+ }
+ } else {
+ m_argValues.append(QVariant());
}
}
m_argValues.squeeze();