diff options
author | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-04-16 13:42:13 +0300 |
---|---|---|
committer | Mahmoud Badri <mahmoud.badri@qt.io> | 2019-05-02 10:19:23 +0000 |
commit | 3dc7636713c98ce2748d367f8525fcab85a6c425 (patch) | |
tree | 12411317058e10feae817e25c33f0e5e24577298 /src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp | |
parent | 437593e677cd1ed85ef846a3488dc3212fdde54a (diff) |
Support alpha channel initial work
In this initial work, all (almost) color properties are converted into a new type (float4) to
support an alpha channel. Alpha channel option is shown in the color dialog for Layer and Scene
background properties only. The following is remaining:
- Scene background alpha doesn't work in the editor (works in the viewer RT1)
Task-number: QT3DS-3128
Change-Id: Ib5540ebc8e2ff68709473451e4a92bf66ddb8ad2
Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp')
-rw-r--r-- | src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp index c4f7c960..1b5e09f3 100644 --- a/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp +++ b/src/Authoring/Client/Code/Core/Doc/DocumentEditor.cpp @@ -2439,7 +2439,7 @@ public: } case DataModelDataType::Float2: { - QStringList floats = i.value().split(QStringLiteral(" ")); + QStringList floats = i.value().split(QLatin1Char(' ')); if (floats.length() == 2) { SFloat2 value(floats[0].toFloat(), floats[1].toFloat()); setInstanceValueIfChanged(instance, prop, value); @@ -2448,13 +2448,23 @@ public: } case DataModelDataType::Float3: { - QStringList floats = i.value().split(QStringLiteral(" ")); + QStringList floats = i.value().split(QLatin1Char(' ')); if (floats.length() == 3) { SFloat3 value(floats[0].toFloat(), floats[1].toFloat(), floats[2].toFloat()); setInstanceValueIfChanged(instance, prop, value); } break; } + case DataModelDataType::Float4: + { + QStringList floats = i.value().split(QLatin1Char(' ')); + if (floats.length() == 4) { + SFloat4 value(floats[0].toFloat(), floats[1].toFloat(), floats[2].toFloat(), + floats[3].toFloat()); + setInstanceValueIfChanged(instance, prop, value); + } + break; + } case DataModelDataType::Bool: { if (propString == "True") @@ -2843,8 +2853,8 @@ public: { m_PropertySystem.SetInstancePropertyValue( inInstance, m_Bridge.GetSceneAsset().m_TimebarColor, - qt3dsdm::SFloat3(inColor.GetRed() / 255.0f, inColor.GetGreen() / 255.0f, - inColor.GetBlue() / 255.0f)); + qt3dsdm::SFloat4(inColor.GetRed() / 255.0f, inColor.GetGreen() / 255.0f, + inColor.GetBlue() / 255.0f, 1.0f)); } void SetTimebarText(TInstanceHandle inInstance, const QString &inComment) override |