summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJere Tuliniemi <jere.tuliniemi@qt.io>2019-08-20 15:48:36 +0300
committerJere Tuliniemi <jere.tuliniemi@qt.io>2019-08-21 11:11:19 +0300
commitce1283589421429a5895fe94b77a72688494a2af (patch)
treee89c700c51d5aac9547cf39bf839e5ebca4c43ed /src
parent7ad7a0b0cf6731c0e0435ce0574219469890d568 (diff)
Add Float4 support to SetAttribute and GetAttribute
Change-Id: I5b3ded94357e5bc2182b8c4555f3386d5c7e757f Reviewed-by: Miikka Heikkinen <miikka.heikkinen@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/runtime/Qt3DSQmlElementHelper.cpp21
1 files changed, 14 insertions, 7 deletions
diff --git a/src/runtime/Qt3DSQmlElementHelper.cpp b/src/runtime/Qt3DSQmlElementHelper.cpp
index bf414a0..fdc67ad 100644
--- a/src/runtime/Qt3DSQmlElementHelper.cpp
+++ b/src/runtime/Qt3DSQmlElementHelper.cpp
@@ -223,6 +223,13 @@ CQmlElementHelper::TypedAttributeAndValue CQmlElementHelper::getTypedAttributeAn
theNewValue.m_FLOAT3[2] = qDegreesToRadians(theNewValue.m_FLOAT3[2]);
}
} break;
+ case ATTRIBUTETYPE_FLOAT4: {
+ FLOAT *vec4 = (FLOAT *)value;
+ theNewValue.m_FLOAT4[0] = vec4[0];
+ theNewValue.m_FLOAT4[1] = vec4[1];
+ theNewValue.m_FLOAT4[2] = vec4[2];
+ theNewValue.m_FLOAT4[3] = vec4[3];
+ } break;
case ATTRIBUTETYPE_NONE:
case ATTRIBUTETYPE_DATADRIVEN_PARENT:
case ATTRIBUTETYPE_DATADRIVEN_CHILD:
@@ -326,39 +333,39 @@ bool CQmlElementHelper::GetAttribute(TElement *inElement, const char *inAttribut
case ATTRIBUTETYPE_HASH:
*(INT32 *)value = theValuePtr->m_INT32;
break;
-
case ATTRIBUTETYPE_FLOAT:
*(FLOAT *)value = theValuePtr->m_FLOAT;
break;
-
case ATTRIBUTETYPE_BOOL:
*(INT32 *)value = (theValuePtr->m_INT32 != 0);
break;
-
case ATTRIBUTETYPE_STRING:
*(char *)value = *inElement->GetBelongedPresentation()
->GetStringTable()
.HandleToStr(theValuePtr->m_StringHandle)
.c_str();
break;
-
case ATTRIBUTETYPE_POINTER:
qCCritical(INVALID_OPERATION, "getAttribute: pointer attributes not handled.");
return false;
break;
-
case ATTRIBUTETYPE_ELEMENTREF:
qCCritical(INVALID_OPERATION, "getAttribute: ElementRef attributes are read only.");
return false;
break;
-
case ATTRIBUTETYPE_FLOAT3: {
FLOAT *vec3 = (FLOAT *)value;
vec3[0] = theValuePtr->m_FLOAT3[0];
vec3[1] = theValuePtr->m_FLOAT3[1];
vec3[2] = theValuePtr->m_FLOAT3[2];
} break;
-
+ case ATTRIBUTETYPE_FLOAT4: {
+ FLOAT *vec4 = (FLOAT *)value;
+ vec4[0] = theValuePtr->m_FLOAT4[0];
+ vec4[1] = theValuePtr->m_FLOAT4[1];
+ vec4[2] = theValuePtr->m_FLOAT4[2];
+ vec4[3] = theValuePtr->m_FLOAT4[3];
+ } break;
case ATTRIBUTETYPE_NONE:
case ATTRIBUTETYPE_DATADRIVEN_PARENT:
case ATTRIBUTETYPE_DATADRIVEN_CHILD: