summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/runtime/profileui/q3dsprofileui.cpp14
-rw-r--r--src/runtime/q3dsdatainputentry_p.h1
-rw-r--r--src/runtime/q3dspresentationcommon_p.h2
-rw-r--r--src/runtime/q3dsscenemanager.cpp3
-rw-r--r--src/runtime/q3dsuiaparser.cpp2
5 files changed, 21 insertions, 1 deletions
diff --git a/src/runtime/profileui/q3dsprofileui.cpp b/src/runtime/profileui/q3dsprofileui.cpp
index 85f5ac5..7bdffdc 100644
--- a/src/runtime/profileui/q3dsprofileui.cpp
+++ b/src/runtime/profileui/q3dsprofileui.cpp
@@ -83,6 +83,7 @@ private:
void showNumberInput(const QString &diName);
void showVec2Input(const QString &diName);
void showVec3Input(const QString &diName);
+ void showVec4Input(const QString &diName);
void showStringInput(const QString &diName);
void addPresentationSelector();
Q3DSProfiler *selectedProfiler() const;
@@ -117,6 +118,7 @@ private:
QHash<QString, float> m_dataInputFloatBuf;
QHash<QString, QVector2D> m_dataInputVec2Buf;
QHash<QString, QVector3D> m_dataInputVec3Buf;
+ QHash<QString, QVector4D> m_dataInputVec4Buf;
Q3DSConsole *m_console = nullptr;
bool m_layerCaching = true;
};
@@ -1044,6 +1046,9 @@ void Q3DSProfileView::addAlterSceneStuff()
case Q3DSDataInputEntry::TypeVec3:
showVec3Input(diName);
break;
+ case Q3DSDataInputEntry::TypeVec4:
+ showVec4Input(diName);
+ break;
case Q3DSDataInputEntry::TypeVariant:
{
// show dropdown for selecting datatype inputted to Variant datainput
@@ -1114,6 +1119,15 @@ void Q3DSProfileView::showVec3Input(const QString &diName)
selectedProfiler()->sendDataInputValueChange(diName, buf);
}
+void Q3DSProfileView::showVec4Input(const QString &diName)
+{
+ QVector4D &buf(m_dataInputVec4Buf[diName]);
+ ImGui::InputFloat4(qPrintable(diName), reinterpret_cast<float *>(&buf));
+ ImGui::SameLine();
+ if (ImGui::Button("Apply"))
+ selectedProfiler()->sendDataInputValueChange(diName, buf);
+}
+
void Q3DSProfileView::showStringInput(const QString &diName)
{
QByteArray *buf;
diff --git a/src/runtime/q3dsdatainputentry_p.h b/src/runtime/q3dsdatainputentry_p.h
index af096a5..8f70c7f 100644
--- a/src/runtime/q3dsdatainputentry_p.h
+++ b/src/runtime/q3dsdatainputentry_p.h
@@ -64,6 +64,7 @@ struct Q3DSV_PRIVATE_EXPORT Q3DSDataInputEntry
TypeRangedNumber,
TypeVec2,
TypeVec3,
+ TypeVec4,
TypeVariant,
TypeBoolean
};
diff --git a/src/runtime/q3dspresentationcommon_p.h b/src/runtime/q3dspresentationcommon_p.h
index 15c77e5..c8ddda1 100644
--- a/src/runtime/q3dspresentationcommon_p.h
+++ b/src/runtime/q3dspresentationcommon_p.h
@@ -62,7 +62,7 @@ enum PropertyType { // value format
Vector, // Float3
Scale, // Float3
Rotation, // Float3
- Color, // Float3
+ Color, // Float4
Boolean, // Bool
Slide, // String
Font, // String
diff --git a/src/runtime/q3dsscenemanager.cpp b/src/runtime/q3dsscenemanager.cpp
index 928f2f8..051dd94 100644
--- a/src/runtime/q3dsscenemanager.cpp
+++ b/src/runtime/q3dsscenemanager.cpp
@@ -9545,6 +9545,9 @@ void Q3DSSceneManager::setDataInputValue(const QString &dataInputName, const QVa
case Q3DSDataInputEntry::TypeVec3:
type = Q3DS::Vector;
break;
+ case Q3DSDataInputEntry::TypeVec4:
+ type = Q3DS::Vector;
+ break;
case Q3DSDataInputEntry::TypeBoolean:
type = Q3DS::Boolean;
break;
diff --git a/src/runtime/q3dsuiaparser.cpp b/src/runtime/q3dsuiaparser.cpp
index 556d1ae..1a15abf 100644
--- a/src/runtime/q3dsuiaparser.cpp
+++ b/src/runtime/q3dsuiaparser.cpp
@@ -151,6 +151,8 @@ void Q3DSUiaParser::parsePresentations()
e.type = Q3DSDataInputEntry::TypeVec2;
} else if (type == QLatin1String("Vector3")) {
e.type = Q3DSDataInputEntry::TypeVec3;
+ } else if (type == QLatin1String("Vector4")) {
+ e.type = Q3DSDataInputEntry::TypeVec4;
} else if (type == QLatin1String("Variant")) {
e.type = Q3DSDataInputEntry::TypeVariant;
} else if (type == QLatin1String("Boolean")) {