diff options
author | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2019-08-20 15:48:36 +0300 |
---|---|---|
committer | Jere Tuliniemi <jere.tuliniemi@qt.io> | 2019-08-21 11:11:19 +0300 |
commit | ce1283589421429a5895fe94b77a72688494a2af (patch) | |
tree | e89c700c51d5aac9547cf39bf839e5ebca4c43ed /src | |
parent | 7ad7a0b0cf6731c0e0435ce0574219469890d568 (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.cpp | 21 |
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: |