_MeshControllerImpl*
_MeshImpl::GetMeshControllerImpl(void)
{
- return __pMeshController->__pMeshController;
+ return (__pMeshController)?__pMeshController->__pMeshController:null;
}
}}} //namespace Tizen { namespace Ui { namespace Animations {
namespace Tizen { namespace Ui { namespace Animations
{
-
-const wchar_t* VePropBounds = L"bounds";
-const wchar_t* VePropContentBounds = L"contentBounds";
-const wchar_t* VePropContentOpacity = L"contentOpacity";
-const wchar_t* VePropRenderOperation = L"renderOperation";
-const wchar_t* VePropOpacity = L"opacity";
-const wchar_t* VePropShowState = L"showState";
-const wchar_t* VePropAnchor = L"anchor";
-const wchar_t* VePropAnchorZ = L"anchorZ";
-const wchar_t* VePropTransform = L"transform";
-const wchar_t* VePropChildrenTransform = L"childrenTransform";
-const wchar_t* VePropZPosition = L"zPosition";
-const wchar_t* VePropZOrderGroup = L"zOrderGroup";
-const wchar_t* VePropClipToParent = L"clipToParent";
-const wchar_t* VePropClipChildren = L"clipChildren";
-const wchar_t* VePropSurfaceOpaque = L"surfaceOpaque";
-const wchar_t* VePropName = L"name";
-const wchar_t* VePropPropertyPropagationEnabled = L"propertyPropagation";
-const wchar_t* VePropImplicitAnimationEnabled = L"implicitAnimation";
+#define DECL_PROPERTY(_STRING,_VAR)\
+ const wchar_t* _VAR = _STRING; \
+ Tizen::Base::String* p##_VAR=null;
+
+#define DECL_DYNAMIC_PROPERTY(_STRING,_VAR)\
+ const wchar_t* _VAR = _STRING; \
+ _DynamicKeyString* p##_VAR=null;
+
+
+#define STRING_INIT(_VAR) p##_VAR = new(std::nothrow) String(_VAR)
+#define DYNAMIC_STRING_INIT(_VAR) p##_VAR = new(std::nothrow) _DynamicKeyString(_VAR)
+
+DECL_PROPERTY(L"bounds", VePropBounds )
+DECL_PROPERTY(L"contentBounds", VePropContentBounds )
+DECL_PROPERTY(L"contentOpacity", VePropContentOpacity )
+DECL_PROPERTY(L"renderOperation", VePropRenderOperation )
+DECL_PROPERTY(L"opacity", VePropOpacity )
+DECL_PROPERTY(L"showState", VePropShowState )
+DECL_PROPERTY(L"anchor", VePropAnchor )
+DECL_PROPERTY(L"anchorZ", VePropAnchorZ )
+DECL_PROPERTY(L"transform", VePropTransform )
+DECL_PROPERTY(L"childrenTransform", VePropChildrenTransform )
+DECL_PROPERTY(L"zPosition", VePropZPosition )
+DECL_PROPERTY(L"zOrderGroup", VePropZOrderGroup )
+DECL_PROPERTY(L"clipToParent", VePropClipToParent )
+DECL_PROPERTY(L"clipChildren", VePropClipChildren )
+DECL_PROPERTY(L"surfaceOpaque", VePropSurfaceOpaque )
+DECL_PROPERTY(L"name", VePropName )
+DECL_PROPERTY(L"propertyPropagation", VePropPropertyPropagationEnabled )
+DECL_PROPERTY(L"implicitAnimation", VePropImplicitAnimationEnabled )
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
-const wchar_t* VePropActionDetach = L"detach";
-const wchar_t* VePropActionAttach = L"attach";
+DECL_PROPERTY(L"detach", VePropActionDetach )
+DECL_PROPERTY(L"attach", VePropActionAttach )
#endif
-const wchar_t* VeSubPropBounds = L"bounds.";
-const wchar_t* VeSubPropBoundsPosition = L"bounds.position";
-const wchar_t* VeSubPropBoundsSize = L"bounds.size";
-
-const wchar_t* VeSubPropTransform = L"transform.";
-const wchar_t* VeSubPropTransformRotationX = L"transform.rotation.x";
-const wchar_t* VeSubPropTransformRotationY = L"transform.rotation.y";
-const wchar_t* VeSubPropTransformRotationZ = L"transform.rotation.z";
-const wchar_t* VeSubPropTransformScaleX = L"transform.scale.x";
-const wchar_t* VeSubPropTransformScaleY = L"transform.scale.y";
-const wchar_t* VeSubPropTransformScaleZ = L"transform.scale.z";
-const wchar_t* VeSubPropTransformTranslationX = L"transform.translation.x";
-const wchar_t* VeSubPropTransformTranslationY = L"transform.translation.y";
-const wchar_t* VeSubPropTransformTranslationZ = L"transform.translation.z";
-const wchar_t* VeSubPropTransformRotationAnchorX = L"transform.rotation.anchor.x";
-const wchar_t* VeSubPropTransformRotationAnchorY = L"transform.rotation.anchor.y";
-const wchar_t* VeSubPropTransformRotationAnchorZ = L"transform.rotation.anchor.z";
-const wchar_t* VeSubPropTransformScaleAnchorX = L"transform.scale.anchor.x";
-const wchar_t* VeSubPropTransformScaleAnchorY = L"transform.scale.anchor.y";
-const wchar_t* VeSubPropTransformScaleAnchorZ = L"transform.scale.anchor.z";
-
-const wchar_t* VeSubPropTransformRotationXY = L"transform.rotation.xy";
-const wchar_t* VeSubPropTransformScaleXY = L"transform.scale.xy";
-const wchar_t* VeSubPropTransformTranslationXY = L"transform.translation.xy";
-const wchar_t* VeSubPropTransformRotationAnchorXY = L"transform.rotation.anchor.xy";
-const wchar_t* VeSubPropTransformScaleAnchorXY = L"transform.scale.anchor.xy";
-
-
-const wchar_t* VeSubPropChildrenTransform = L"childrenTransform.";
-const wchar_t* VeSubPropChildrenTransformRotationX = L"childrenTransform.rotation.x";
-const wchar_t* VeSubPropChildrenTransformRotationY = L"childrenTransform.rotation.y";
-const wchar_t* VeSubPropChildrenTransformRotationZ = L"childrenTransform.rotation.z";
-const wchar_t* VeSubPropChildrenTransformScaleX = L"childrenTransform.scale.x";
-const wchar_t* VeSubPropChildrenTransformScaleY = L"childrenTransform.scale.y";
-const wchar_t* VeSubPropChildrenTransformScaleZ = L"childrenTransform.scale.z";
-const wchar_t* VeSubPropChildrenTransformTranslationX = L"childrenTransform.translation.x";
-const wchar_t* VeSubPropChildrenTransformTranslationY = L"childrenTransform.translation.y";
-const wchar_t* VeSubPropChildrenTransformTranslationZ = L"childrenTransform.translation.z";
-const wchar_t* VeSubPropChildrenTransformRotationAnchorX = L"childrenTransform.rotation.anchor.x";
-const wchar_t* VeSubPropChildrenTransformRotationAnchorY = L"childrenTransform.rotation.anchor.y";
-const wchar_t* VeSubPropChildrenTransformRotationAnchorZ = L"childrenTransform.rotation.anchor.z";
-const wchar_t* VeSubPropChildrenTransformScaleAnchorX = L"childrenTransform.scale.anchor.x";
-const wchar_t* VeSubPropChildrenTransformScaleAnchorY = L"childrenTransform.scale.anchor.y";
-const wchar_t* VeSubPropChildrenTransformScaleAnchorZ = L"childrenTransform.scale.anchor.z";
-
-const wchar_t* VeSubPropChildrenTransformRotationXY = L"childrenTransform.rotation.xy";
-const wchar_t* VeSubPropChildrenTransformScaleXY = L"childrenTransform.scale.xy";
-const wchar_t* VeSubPropChildrenTransformTranslationXY = L"childrenTransform.translation.xy";
-const wchar_t* VeSubPropChildrenTransformRotationAnchorXY = L"childrenTransform.rotation.anchor.xy";
-const wchar_t* VeSubPropChildrenTransformScaleAnchorXY = L"childrenTransform.scale.anchor.xy";
-
-const wchar_t* VePrivPropShowOpacity = L"__showOpacity";
+
+DECL_PROPERTY(L"bounds.", VeSubPropBounds )
+DECL_PROPERTY(L"bounds.position", VeSubPropBoundsPosition )
+DECL_PROPERTY(L"bounds.size", VeSubPropBoundsSize )
+
+DECL_PROPERTY(L"transform.", VeSubPropTransform )
+DECL_PROPERTY(L"transform.rotation.x", VeSubPropTransformRotationX )
+DECL_PROPERTY(L"transform.rotation.y", VeSubPropTransformRotationY )
+DECL_PROPERTY(L"transform.rotation.z", VeSubPropTransformRotationZ )
+DECL_PROPERTY(L"transform.scale.x", VeSubPropTransformScaleX )
+DECL_PROPERTY(L"transform.scale.y", VeSubPropTransformScaleY )
+DECL_PROPERTY(L"transform.scale.z", VeSubPropTransformScaleZ )
+DECL_PROPERTY(L"transform.translation.x", VeSubPropTransformTranslationX )
+DECL_PROPERTY(L"transform.translation.y", VeSubPropTransformTranslationY )
+DECL_PROPERTY(L"transform.translation.z", VeSubPropTransformTranslationZ )
+DECL_PROPERTY(L"transform.rotation.anchor.x", VeSubPropTransformRotationAnchorX )
+DECL_PROPERTY(L"transform.rotation.anchor.y", VeSubPropTransformRotationAnchorY )
+DECL_PROPERTY(L"transform.rotation.anchor.z", VeSubPropTransformRotationAnchorZ )
+DECL_PROPERTY(L"transform.scale.anchor.x", VeSubPropTransformScaleAnchorX )
+DECL_PROPERTY(L"transform.scale.anchor.y", VeSubPropTransformScaleAnchorY )
+DECL_PROPERTY(L"transform.scale.anchor.z", VeSubPropTransformScaleAnchorZ )
+
+DECL_PROPERTY(L"transform.rotation.xy", VeSubPropTransformRotationXY )
+DECL_PROPERTY(L"transform.scale.xy", VeSubPropTransformScaleXY )
+DECL_PROPERTY(L"transform.translation.xy", VeSubPropTransformTranslationXY )
+DECL_PROPERTY(L"transform.rotation.anchor.xy", VeSubPropTransformRotationAnchorXY )
+DECL_PROPERTY(L"transform.scale.anchor.xy", VeSubPropTransformScaleAnchorXY )
+
+
+DECL_PROPERTY(L"childrenTransform.", VeSubPropChildrenTransform )
+DECL_PROPERTY(L"childrenTransform.rotation.x", VeSubPropChildrenTransformRotationX )
+DECL_PROPERTY(L"childrenTransform.rotation.y", VeSubPropChildrenTransformRotationY )
+DECL_PROPERTY(L"childrenTransform.rotation.z", VeSubPropChildrenTransformRotationZ )
+DECL_PROPERTY(L"childrenTransform.scale.x", VeSubPropChildrenTransformScaleX )
+DECL_PROPERTY(L"childrenTransform.scale.y", VeSubPropChildrenTransformScaleY )
+DECL_PROPERTY(L"childrenTransform.scale.z", VeSubPropChildrenTransformScaleZ )
+DECL_PROPERTY(L"childrenTransform.translation.x", VeSubPropChildrenTransformTranslationX )
+DECL_PROPERTY(L"childrenTransform.translation.y", VeSubPropChildrenTransformTranslationY )
+DECL_PROPERTY(L"childrenTransform.translation.z", VeSubPropChildrenTransformTranslationZ )
+DECL_PROPERTY(L"childrenTransform.rotation.anchor.x", VeSubPropChildrenTransformRotationAnchorX )
+DECL_PROPERTY(L"childrenTransform.rotation.anchor.y", VeSubPropChildrenTransformRotationAnchorY )
+DECL_PROPERTY(L"childrenTransform.rotation.anchor.z", VeSubPropChildrenTransformRotationAnchorZ )
+DECL_PROPERTY(L"childrenTransform.scale.anchor.x", VeSubPropChildrenTransformScaleAnchorX )
+DECL_PROPERTY(L"childrenTransform.scale.anchor.y", VeSubPropChildrenTransformScaleAnchorY )
+DECL_PROPERTY(L"childrenTransform.scale.anchor.z", VeSubPropChildrenTransformScaleAnchorZ )
+
+DECL_PROPERTY(L"childrenTransform.rotation.xy", VeSubPropChildrenTransformRotationXY )
+DECL_PROPERTY(L"childrenTransform.scale.xy", VeSubPropChildrenTransformScaleXY )
+DECL_PROPERTY(L"childrenTransform.translation.xy", VeSubPropChildrenTransformTranslationXY )
+DECL_PROPERTY(L"childrenTransform.rotation.anchor.xy", VeSubPropChildrenTransformRotationAnchorXY )
+DECL_PROPERTY(L"childrenTransform.scale.anchor.xy", VeSubPropChildrenTransformScaleAnchorXY )
+
+DECL_PROPERTY(L"__showOpacity", VePrivPropShowOpacity )
+
// 3.0 properties
-const wchar_t* VeMeshPropVertexCount = L"mesh.vertex.count"; //int
-const wchar_t* VeMeshPropVertex = L"mesh.vertex.#index"; //FloatPoint3
-const wchar_t* VeMeshPropColor = L"mesh.color.#index"; //Color ( FloatColor will be needed )
-const wchar_t* VeMeshPropTextureCoord = L"mesh.textureCoordinates.#index"; //FloatDimension
-const wchar_t* VeMeshPropNormal = L"mesh.normal.#index"; //FloatPoint3
-const wchar_t* VeMeshPropVertexIndex = L"mesh.index.#index"; //int
-const wchar_t* VeMeshPropBoneCount = L"mesh.bone.count"; //int
-const wchar_t* VeMeshPropBone = L"mesh.bone.#index"; //FloatMatrix4
-const wchar_t* VeMeshPropBoneIndex = L"mesh.bone.index.#index"; //int
-const wchar_t* VeMeshPropBoneWeight = L"mesh.bone.weight.#index"; //float
-
-const wchar_t* VeMaterialDiffuse = L"material.diffuse"; //FloatVector4
-const wchar_t* VeMaterialSpecular = L"material.specular"; //FloatVector4
-const wchar_t* VeMaterialAmbient = L"material.ambient"; //FloatVector4
-const wchar_t* VeMaterialEmissive = L"material.emissive"; //FloatVector4
-const wchar_t* VeMaterialShiness = L"material.shiness"; //float
-
-// is it needed ?
-const wchar_t* VeShadowColor = L"shadow.color"; //FloatVector4
-
-const wchar_t* VeLightCount = L"light.count"; //int
-const wchar_t* VeLightType = L"light.#name.type"; //int : LightType
-const wchar_t* VeLightDiffuse = L"light.#name.diffuse"; //FloatVector4
-const wchar_t* VeLightSpecular = L"light.#name.specular"; //FloatVector4
-const wchar_t* VeLightAmbient = L"light.#name.ambient"; //FloatVector4
-const wchar_t* VeLightPosition = L"light.#name.position"; //FloatPoint3
-const wchar_t* VeLightDirection = L"light.#name.direction"; //FloatVector4
-const wchar_t* VeLightExponent = L"light.#name.exponent"; //float
-const wchar_t* VeLightCutOff = L"light.#name.cutOff"; //float
-const wchar_t* VeLightConstantAttenuation = L"light.#name.constantAttenuation"; //float
-const wchar_t* VeLightLinearAttenuation = L"light.#name.linearAttenuation"; //float
-const wchar_t* VeLightQuadraticAttenuation = L"light.#name.quadraticAttenuation"; //float
-
-// need to design
-//const wchar_t* VeShaderUniform = L"Shader#.uniform#."; //...
-
-
-
-String* pVePropBounds = null;
-String* pVePropContentBounds = null;
-String* pVePropContentOpacity = null;
-String* pVePropRenderOperation = null;
-String* pVePropOpacity = null;
-String* pVePropShowState = null;
-String* pVePropAnchor = null;
-String* pVePropAnchorZ = null;
-String* pVePropTransform = null;
-String* pVePropChildrenTransform = null;
-String* pVePropZPosition = null;
-String* pVePropZOrderGroup = null;
-String* pVePropClipToParent = null;
-String* pVePropClipChildren = null;
-String* pVePropSurfaceOpaque = null;
-String* pVePropName = null;
-String* pVePropPropertyPropagationEnabled = null;
-String* pVePropImplicitAnimationEnabled = null;
-#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
-String* pVePropActionDetach = null;
-String* pVePropActionAttach = null;
-#endif
-String* pVeSubPropBounds = null;
-String* pVeSubPropBoundsPosition = null;
-String* pVeSubPropBoundsSize = null;
-
-String* pVeSubPropTransform = null;
-String* pVeSubPropTransformRotationX = null;
-String* pVeSubPropTransformRotationY = null;
-String* pVeSubPropTransformRotationZ = null;
-String* pVeSubPropTransformScaleX = null;
-String* pVeSubPropTransformScaleY = null;
-String* pVeSubPropTransformScaleZ = null;
-String* pVeSubPropTransformTranslationX = null;
-String* pVeSubPropTransformTranslationY = null;
-String* pVeSubPropTransformTranslationZ = null;
-String* pVeSubPropTransformRotationAnchorX = null;
-String* pVeSubPropTransformRotationAnchorY = null;
-String* pVeSubPropTransformRotationAnchorZ = null;
-String* pVeSubPropTransformScaleAnchorX = null;
-String* pVeSubPropTransformScaleAnchorY = null;
-String* pVeSubPropTransformScaleAnchorZ = null;
-
-String* pVeSubPropTransformRotationXY = null;
-String* pVeSubPropTransformScaleXY = null;
-String* pVeSubPropTransformTranslationXY = null;
-String* pVeSubPropTransformRotationAnchorXY = null;
-String* pVeSubPropTransformScaleAnchorXY = null;
-
-
-String* pVeSubPropChildrenTransform = null;
-String* pVeSubPropChildrenTransformRotationX = null;
-String* pVeSubPropChildrenTransformRotationY = null;
-String* pVeSubPropChildrenTransformRotationZ = null;
-String* pVeSubPropChildrenTransformScaleX = null;
-String* pVeSubPropChildrenTransformScaleY = null;
-String* pVeSubPropChildrenTransformScaleZ = null;
-String* pVeSubPropChildrenTransformTranslationX = null;
-String* pVeSubPropChildrenTransformTranslationY = null;
-String* pVeSubPropChildrenTransformTranslationZ = null;
-String* pVeSubPropChildrenTransformRotationAnchorX = null;
-String* pVeSubPropChildrenTransformRotationAnchorY = null;
-String* pVeSubPropChildrenTransformRotationAnchorZ = null;
-String* pVeSubPropChildrenTransformScaleAnchorX = null;
-String* pVeSubPropChildrenTransformScaleAnchorY = null;
-String* pVeSubPropChildrenTransformScaleAnchorZ = null;
-
-String* pVeSubPropChildrenTransformRotationXY = null;
-String* pVeSubPropChildrenTransformScaleXY = null;
-String* pVeSubPropChildrenTransformTranslationXY = null;
-String* pVeSubPropChildrenTransformRotationAnchorXY = null;
-String* pVeSubPropChildrenTransformScaleAnchorXY = null;
-
-String* pVePrivPropShowOpacity = null;
-
-
-
-//// 3.0 properties
-//String* pVeMeshPropVertexCount = null;
-//String* pVeMeshPropVertex = null;
-//String* pVeMeshPropColor = null;
-//String* pVeMeshPropTextureCoord = null;
-//String* pVeMeshPropNormal = null;
-//String* pVeMeshPropVertexIndex = null;
-//String* pVeMeshPropBoneCount = null;
-//String* pVeMeshPropBone = null;
-//String* pVeMeshPropBoneIndex = null;
-//String* pVeMeshPropBoneWeight = null;
-
-//String* pVeMaterialDiffuse = null;
-//String* pVeMaterialSpecular = null;
-//String* pVeMaterialAmbient = null;
-//String* pVeMaterialEmissive = null;
-//String* pVeMaterialShiness = null;
-
-//// is it needed ?
-//String* pVeShadowColor = null;
-
-//String* pVeLightCount = null;
-//String* pVeLightType = null;
-//String* pVeLightDiffuse = null;
-//String* pVeLightSpecular = null;
-//String* pVeLightAmbient = null;
-//String* pVeLightPosition = null;
-//String* pVeLightDirection = null;
-//String* pVeLightExponent = null;
-//String* pVeLightCutOff = null;
-//String* pVeLightConstantAttenuation = null;
-//String* pVeLightLinearAttenuation = null;
-//String* pVeLightQuadraticAttenuation = null;
+DECL_DYNAMIC_PROPERTY(L"mesh.vertex.count", VeMeshPropVertexCount ) //int
+DECL_DYNAMIC_PROPERTY(L"mesh.vertex.#index", VeMeshPropVertex ) //FloatPoint3
+DECL_DYNAMIC_PROPERTY(L"mesh.color.#index", VeMeshPropColor ) //Color ( FloatColor will be needed )
+DECL_DYNAMIC_PROPERTY(L"mesh.textureCoordinates.#index", VeMeshPropTextureCoord ) //FloatDimension
+DECL_DYNAMIC_PROPERTY(L"mesh.normal.#index", VeMeshPropNormal ) //FloatPoint3
+DECL_DYNAMIC_PROPERTY(L"mesh.index.#index", VeMeshPropVertexIndex ) //int
+DECL_DYNAMIC_PROPERTY(L"mesh.bone.count", VeMeshPropBoneCount ) //int
+DECL_DYNAMIC_PROPERTY(L"mesh.bone.#index", VeMeshPropBone ) //FloatMatrix4
+DECL_DYNAMIC_PROPERTY(L"mesh.bone.index.#index", VeMeshPropBoneIndex ) //int
+DECL_DYNAMIC_PROPERTY(L"mesh.bone.weight.#index", VeMeshPropBoneWeight ) //float
-// 3.0 properties
-_DynamicKeyString* pVeMeshPropVertexCount = null;
-_DynamicKeyString* pVeMeshPropVertex = null;
-_DynamicKeyString* pVeMeshPropColor = null;
-_DynamicKeyString* pVeMeshPropTextureCoord = null;
-_DynamicKeyString* pVeMeshPropNormal = null;
-_DynamicKeyString* pVeMeshPropVertexIndex = null;
-_DynamicKeyString* pVeMeshPropBoneCount = null;
-_DynamicKeyString* pVeMeshPropBone = null;
-_DynamicKeyString* pVeMeshPropBoneIndex = null;
-_DynamicKeyString* pVeMeshPropBoneWeight = null;
-
-_DynamicKeyString* pVeMaterialDiffuse = null;
-_DynamicKeyString* pVeMaterialSpecular = null;
-_DynamicKeyString* pVeMaterialAmbient = null;
-_DynamicKeyString* pVeMaterialEmissive = null;
-_DynamicKeyString* pVeMaterialShiness = null;
-
-// is it needed ?
-_DynamicKeyString* pVeShadowColor = null;
-
-_DynamicKeyString* pVeLightCount = null;
-_DynamicKeyString* pVeLightType = null;
-_DynamicKeyString* pVeLightDiffuse = null;
-_DynamicKeyString* pVeLightSpecular = null;
-_DynamicKeyString* pVeLightAmbient = null;
-_DynamicKeyString* pVeLightPosition = null;
-_DynamicKeyString* pVeLightDirection = null;
-_DynamicKeyString* pVeLightExponent = null;
-_DynamicKeyString* pVeLightCutOff = null;
-_DynamicKeyString* pVeLightConstantAttenuation = null;
-_DynamicKeyString* pVeLightLinearAttenuation = null;
-_DynamicKeyString* pVeLightQuadraticAttenuation = null;
-// need to design
-//_DynamicKeyString* pVeShaderUniform = null;
+DECL_DYNAMIC_PROPERTY(L"material.diffuse", VeMaterialDiffuse ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"material.specular", VeMaterialSpecular ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"material.ambient", VeMaterialAmbient ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"material.emissive", VeMaterialEmissive ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"material.shiness", VeMaterialShiness ) //float
+
+DECL_DYNAMIC_PROPERTY(L"shadow.color", VeShadowColor ) //FloatVector4
+
+DECL_DYNAMIC_PROPERTY(L"light.count", VeLightCount ) //int
+DECL_DYNAMIC_PROPERTY(L"light.#name.type", VeLightType ) //int : LightType
+DECL_DYNAMIC_PROPERTY(L"light.#name.diffuse", VeLightDiffuse ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"light.#name.specular", VeLightSpecular ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"light.#name.ambient", VeLightAmbient ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"light.#name.position", VeLightPosition ) //FloatPoint3
+DECL_DYNAMIC_PROPERTY(L"light.#name.direction", VeLightDirection ) //FloatVector4
+DECL_DYNAMIC_PROPERTY(L"light.#name.exponent", VeLightExponent ) //float
+DECL_DYNAMIC_PROPERTY(L"light.#name.cutOff", VeLightCutOff ) //float
+DECL_DYNAMIC_PROPERTY(L"light.#name.constantAttenuation", VeLightConstantAttenuation ) //float
+DECL_DYNAMIC_PROPERTY(L"light.#name.linearAttenuation", VeLightLinearAttenuation ) //float
+DECL_DYNAMIC_PROPERTY(L"light.#name.quadraticAttenuation", VeLightQuadraticAttenuation ) //float
+
+//DECL_DYNAMIC_PROPERTY(L"Shader#.uniform#.", VeShaderUniform )
void
_VisualElementEnvironment::InitializeEnvironment(void)
{
- pVePropBounds = new (std::nothrow) String(VePropBounds);
- pVePropContentBounds = new (std::nothrow) String(VePropContentBounds);
- pVePropContentOpacity = new (std::nothrow) String(VePropContentOpacity);
- pVePropRenderOperation = new (std::nothrow) String(VePropRenderOperation);
- pVePropOpacity = new (std::nothrow) String(VePropOpacity);
- pVePropShowState = new (std::nothrow) String(VePropShowState);
- pVePropAnchor = new (std::nothrow) String(VePropAnchor);
- pVePropAnchorZ = new (std::nothrow) String(VePropAnchorZ);
- pVePropTransform = new (std::nothrow) String(VePropTransform);
- pVePropChildrenTransform = new (std::nothrow) String(VePropChildrenTransform);
- pVePropZPosition = new (std::nothrow) String(VePropZPosition);
- pVePropZOrderGroup = new (std::nothrow) String(VePropZOrderGroup);
- pVePropClipToParent = new (std::nothrow) String(VePropClipToParent);
- pVePropClipChildren = new (std::nothrow) String(VePropClipChildren);
- pVePropSurfaceOpaque = new (std::nothrow) String(VePropSurfaceOpaque);
- pVePropName = new (std::nothrow) String(VePropName);
- pVePropPropertyPropagationEnabled = new (std::nothrow) String(VePropPropertyPropagationEnabled);
- pVePropImplicitAnimationEnabled = new (std::nothrow) String(VePropImplicitAnimationEnabled);
+ STRING_INIT(VePropBounds);
+ STRING_INIT(VePropBounds);
+ STRING_INIT(VePropContentBounds);
+ STRING_INIT(VePropContentOpacity);
+ STRING_INIT(VePropRenderOperation);
+ STRING_INIT(VePropOpacity);
+ STRING_INIT(VePropShowState);
+ STRING_INIT(VePropAnchor);
+ STRING_INIT(VePropAnchorZ);
+ STRING_INIT(VePropTransform);
+ STRING_INIT(VePropChildrenTransform);
+ STRING_INIT(VePropZPosition);
+ STRING_INIT(VePropZOrderGroup);
+ STRING_INIT(VePropClipToParent);
+ STRING_INIT(VePropClipChildren);
+ STRING_INIT(VePropSurfaceOpaque);
+ STRING_INIT(VePropName);
+ STRING_INIT(VePropPropertyPropagationEnabled);
+ STRING_INIT(VePropImplicitAnimationEnabled);
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- pVePropActionDetach = new (std::nothrow) String(VePropActionDetach);
- pVePropActionAttach = new (std::nothrow) String(VePropActionAttach);
+ STRING_INIT(VePropActionDetach);
+ STRING_INIT(VePropActionAttach);
#endif
- pVeSubPropBounds = new (std::nothrow) String(VeSubPropBounds);
- pVeSubPropBoundsPosition = new (std::nothrow) String(VeSubPropBoundsPosition);
- pVeSubPropBoundsSize = new (std::nothrow) String(VeSubPropBoundsSize);
-
- pVeSubPropTransform = new (std::nothrow) String(VeSubPropTransform);
- pVeSubPropTransformRotationX = new (std::nothrow) String(VeSubPropTransformRotationX);
- pVeSubPropTransformRotationY = new (std::nothrow) String(VeSubPropTransformRotationY);
- pVeSubPropTransformRotationZ = new (std::nothrow) String(VeSubPropTransformRotationZ);
- pVeSubPropTransformScaleX = new (std::nothrow) String(VeSubPropTransformScaleX);
- pVeSubPropTransformScaleY = new (std::nothrow) String(VeSubPropTransformScaleY);
- pVeSubPropTransformScaleZ = new (std::nothrow) String(VeSubPropTransformScaleZ);
- pVeSubPropTransformTranslationX = new (std::nothrow) String(VeSubPropTransformTranslationX);
- pVeSubPropTransformTranslationY = new (std::nothrow) String(VeSubPropTransformTranslationY);
- pVeSubPropTransformTranslationZ = new (std::nothrow) String(VeSubPropTransformTranslationZ);
- pVeSubPropTransformRotationAnchorX = new (std::nothrow) String(VeSubPropTransformRotationAnchorX);
- pVeSubPropTransformRotationAnchorY = new (std::nothrow) String(VeSubPropTransformRotationAnchorY);
- pVeSubPropTransformRotationAnchorZ = new (std::nothrow) String(VeSubPropTransformRotationAnchorZ);
- pVeSubPropTransformScaleAnchorX = new (std::nothrow) String(VeSubPropTransformScaleAnchorX);
- pVeSubPropTransformScaleAnchorY = new (std::nothrow) String(VeSubPropTransformScaleAnchorY);
- pVeSubPropTransformScaleAnchorZ = new (std::nothrow) String(VeSubPropTransformScaleAnchorZ);
-
- pVeSubPropTransformRotationXY = new (std::nothrow) String(VeSubPropTransformRotationXY);
- pVeSubPropTransformScaleXY = new (std::nothrow) String(VeSubPropTransformScaleXY);
- pVeSubPropTransformTranslationXY = new (std::nothrow) String(VeSubPropTransformTranslationXY);
- pVeSubPropTransformRotationAnchorXY = new (std::nothrow) String(VeSubPropTransformRotationAnchorXY);
- pVeSubPropTransformScaleAnchorXY = new (std::nothrow) String(VeSubPropTransformScaleAnchorXY);
-
-
- pVeSubPropChildrenTransform = new (std::nothrow) String(VeSubPropChildrenTransform);
- pVeSubPropChildrenTransformRotationX = new (std::nothrow) String(VeSubPropChildrenTransformRotationX);
- pVeSubPropChildrenTransformRotationY = new (std::nothrow) String(VeSubPropChildrenTransformRotationY);
- pVeSubPropChildrenTransformRotationZ = new (std::nothrow) String(VeSubPropChildrenTransformRotationZ);
- pVeSubPropChildrenTransformScaleX = new (std::nothrow) String(VeSubPropChildrenTransformScaleX);
- pVeSubPropChildrenTransformScaleY = new (std::nothrow) String(VeSubPropChildrenTransformScaleY);
- pVeSubPropChildrenTransformScaleZ = new (std::nothrow) String(VeSubPropChildrenTransformScaleZ);
- pVeSubPropChildrenTransformTranslationX = new (std::nothrow) String(VeSubPropChildrenTransformTranslationX);
- pVeSubPropChildrenTransformTranslationY = new (std::nothrow) String(VeSubPropChildrenTransformTranslationY);
- pVeSubPropChildrenTransformTranslationZ = new (std::nothrow) String(VeSubPropChildrenTransformTranslationZ);
- pVeSubPropChildrenTransformRotationAnchorX = new (std::nothrow) String(VeSubPropChildrenTransformRotationAnchorX);
- pVeSubPropChildrenTransformRotationAnchorY = new (std::nothrow) String(VeSubPropChildrenTransformRotationAnchorY);
- pVeSubPropChildrenTransformRotationAnchorZ = new (std::nothrow) String(VeSubPropChildrenTransformRotationAnchorZ);
- pVeSubPropChildrenTransformScaleAnchorX = new (std::nothrow) String(VeSubPropChildrenTransformScaleAnchorX);
- pVeSubPropChildrenTransformScaleAnchorY = new (std::nothrow) String(VeSubPropChildrenTransformScaleAnchorY);
- pVeSubPropChildrenTransformScaleAnchorZ = new (std::nothrow) String(VeSubPropChildrenTransformScaleAnchorZ);
-
- pVeSubPropChildrenTransformRotationXY = new (std::nothrow) String(VeSubPropChildrenTransformRotationXY);
- pVeSubPropChildrenTransformScaleXY = new (std::nothrow) String(VeSubPropChildrenTransformScaleXY);
- pVeSubPropChildrenTransformTranslationXY = new (std::nothrow) String(VeSubPropChildrenTransformTranslationXY);
- pVeSubPropChildrenTransformRotationAnchorXY = new (std::nothrow) String(VeSubPropChildrenTransformRotationAnchorXY);
- pVeSubPropChildrenTransformScaleAnchorXY = new (std::nothrow) String(VeSubPropChildrenTransformScaleAnchorXY);
-
- pVePrivPropShowOpacity = new (std::nothrow) String(VePrivPropShowOpacity);
-
-// // 3.0 properties
-// pVeMeshPropVertexCount = new (std::nothrow) String(VeMeshPropVertexCount);
-// pVeMeshPropVertex = new (std::nothrow) String(VeMeshPropVertex);
-// pVeMeshPropColor = new (std::nothrow) String(VeMeshPropColor);
-// pVeMeshPropTextureCoord = new (std::nothrow) String(VeMeshPropTextureCoord);
-// pVeMeshPropNormal = new (std::nothrow) String(VeMeshPropNormal);
-// pVeMeshPropVertexIndex = new (std::nothrow) String(VeMeshPropVertexIndex);
-// pVeMeshPropBoneCount = new (std::nothrow) String(VeMeshPropBoneCount);
-// pVeMeshPropBone = new (std::nothrow) String(VeMeshPropBone);
-// pVeMeshPropBoneIndex = new (std::nothrow) String(VeMeshPropBoneIndex);
-// pVeMeshPropBoneWeight = new (std::nothrow) String(VeMeshPropBoneWeight);
-
-// pVeMaterialDiffuse = new (std::nothrow) String(VeMaterialDiffuse);
-// pVeMaterialSpecular = new (std::nothrow) String(VeMaterialSpecular);
-// pVeMaterialAmbient = new (std::nothrow) String(VeMaterialAmbient);
-// pVeMaterialEmissive = new (std::nothrow) String(VeMaterialEmissive);
-// pVeMaterialShiness = new (std::nothrow) String(VeMaterialShiness);
-
-// // is it needed ? / is it needed ?
-// pVeShadowColor = new (std::nothrow) String(VeShadowColor);
-
-// pVeLightCount = new (std::nothrow) String(VeLightCount);
-// pVeLightType = new (std::nothrow) String(VeLightType);
-// pVeLightDiffuse = new (std::nothrow) String(VeLightDiffuse);
-// pVeLightSpecular = new (std::nothrow) String(VeLightSpecular);
-// pVeLightAmbient = new (std::nothrow) String(VeLightAmbient);
-// pVeLightPosition = new (std::nothrow) String(VeLightPosition);
-// pVeLightDirection = new (std::nothrow) String(VeLightDirection);
-// pVeLightExponent = new (std::nothrow) String(VeLightExponent);
-// pVeLightCutOff = new (std::nothrow) String(VeLightCutOff);
-// pVeLightConstantAttenuation = new (std::nothrow) String(VeLightConstantAttenuation);
-// pVeLightLinearAttenuation = new (std::nothrow) String(VeLightLinearAttenuation);
-// pVeLightQuadraticAttenuation = new (std::nothrow) String(VeLightQuadraticAttenuation);
-
+ STRING_INIT(VeSubPropBounds);
+ STRING_INIT(VeSubPropBoundsPosition);
+ STRING_INIT(VeSubPropBoundsSize);
+
+ STRING_INIT(VeSubPropTransform);
+ STRING_INIT(VeSubPropTransformRotationX);
+ STRING_INIT(VeSubPropTransformRotationY);
+ STRING_INIT(VeSubPropTransformRotationZ);
+ STRING_INIT(VeSubPropTransformScaleX);
+ STRING_INIT(VeSubPropTransformScaleY);
+ STRING_INIT(VeSubPropTransformScaleZ);
+ STRING_INIT(VeSubPropTransformTranslationX);
+ STRING_INIT(VeSubPropTransformTranslationY);
+ STRING_INIT(VeSubPropTransformTranslationZ);
+ STRING_INIT(VeSubPropTransformRotationAnchorX);
+ STRING_INIT(VeSubPropTransformRotationAnchorY);
+ STRING_INIT(VeSubPropTransformRotationAnchorZ);
+ STRING_INIT(VeSubPropTransformScaleAnchorX);
+ STRING_INIT(VeSubPropTransformScaleAnchorY);
+ STRING_INIT(VeSubPropTransformScaleAnchorZ);
+
+ STRING_INIT(VeSubPropTransformRotationXY);
+ STRING_INIT(VeSubPropTransformScaleXY);
+ STRING_INIT(VeSubPropTransformTranslationXY);
+ STRING_INIT(VeSubPropTransformRotationAnchorXY);
+ STRING_INIT(VeSubPropTransformScaleAnchorXY);
+
+
+ STRING_INIT(VeSubPropChildrenTransform);
+ STRING_INIT(VeSubPropChildrenTransformRotationX);
+ STRING_INIT(VeSubPropChildrenTransformRotationY);
+ STRING_INIT(VeSubPropChildrenTransformRotationZ);
+ STRING_INIT(VeSubPropChildrenTransformScaleX);
+ STRING_INIT(VeSubPropChildrenTransformScaleY);
+ STRING_INIT(VeSubPropChildrenTransformScaleZ);
+ STRING_INIT(VeSubPropChildrenTransformTranslationX);
+ STRING_INIT(VeSubPropChildrenTransformTranslationY);
+ STRING_INIT(VeSubPropChildrenTransformTranslationZ);
+ STRING_INIT(VeSubPropChildrenTransformRotationAnchorX);
+ STRING_INIT(VeSubPropChildrenTransformRotationAnchorY);
+ STRING_INIT(VeSubPropChildrenTransformRotationAnchorZ);
+ STRING_INIT(VeSubPropChildrenTransformScaleAnchorX);
+ STRING_INIT(VeSubPropChildrenTransformScaleAnchorY);
+ STRING_INIT(VeSubPropChildrenTransformScaleAnchorZ);
+
+ STRING_INIT(VeSubPropChildrenTransformRotationXY);
+ STRING_INIT(VeSubPropChildrenTransformScaleXY);
+ STRING_INIT(VeSubPropChildrenTransformTranslationXY);
+ STRING_INIT(VeSubPropChildrenTransformRotationAnchorXY);
+ STRING_INIT(VeSubPropChildrenTransformScaleAnchorXY);
+
+ STRING_INIT(VePrivPropShowOpacity);
// 3.0 properties
- pVeMeshPropVertexCount = new (std::nothrow) _DynamicKeyString(VeMeshPropVertexCount);
- pVeMeshPropVertex = new (std::nothrow) _DynamicKeyString(VeMeshPropVertex);
- pVeMeshPropColor = new (std::nothrow) _DynamicKeyString(VeMeshPropColor);
- pVeMeshPropTextureCoord = new (std::nothrow) _DynamicKeyString(VeMeshPropTextureCoord);
- pVeMeshPropNormal = new (std::nothrow) _DynamicKeyString(VeMeshPropNormal);
- pVeMeshPropVertexIndex = new (std::nothrow) _DynamicKeyString(VeMeshPropVertexIndex);
- pVeMeshPropBoneCount = new (std::nothrow) _DynamicKeyString(VeMeshPropBoneCount);
- pVeMeshPropBone = new (std::nothrow) _DynamicKeyString(VeMeshPropBone);
- pVeMeshPropBoneIndex = new (std::nothrow) _DynamicKeyString(VeMeshPropBoneIndex);
- pVeMeshPropBoneWeight = new (std::nothrow) _DynamicKeyString(VeMeshPropBoneWeight);
-
- pVeMaterialDiffuse = new (std::nothrow) _DynamicKeyString(VeMaterialDiffuse);
- pVeMaterialSpecular = new (std::nothrow) _DynamicKeyString(VeMaterialSpecular);
- pVeMaterialAmbient = new (std::nothrow) _DynamicKeyString(VeMaterialAmbient);
- pVeMaterialEmissive = new (std::nothrow) _DynamicKeyString(VeMaterialEmissive);
- pVeMaterialShiness = new (std::nothrow) _DynamicKeyString(VeMaterialShiness);
+ DYNAMIC_STRING_INIT(VeMeshPropVertexCount);
+ DYNAMIC_STRING_INIT(VeMeshPropVertex);
+ DYNAMIC_STRING_INIT(VeMeshPropColor);
+ DYNAMIC_STRING_INIT(VeMeshPropTextureCoord);
+ DYNAMIC_STRING_INIT(VeMeshPropNormal);
+ DYNAMIC_STRING_INIT(VeMeshPropVertexIndex);
+ DYNAMIC_STRING_INIT(VeMeshPropBoneCount);
+ DYNAMIC_STRING_INIT(VeMeshPropBone);
+ DYNAMIC_STRING_INIT(VeMeshPropBoneIndex);
+ DYNAMIC_STRING_INIT(VeMeshPropBoneWeight);
+
+ DYNAMIC_STRING_INIT(VeMaterialDiffuse);
+ DYNAMIC_STRING_INIT(VeMaterialSpecular);
+ DYNAMIC_STRING_INIT(VeMaterialAmbient);
+ DYNAMIC_STRING_INIT(VeMaterialEmissive);
+ DYNAMIC_STRING_INIT(VeMaterialShiness);
// is it needed ? / is it needed ?
- pVeShadowColor = new (std::nothrow) _DynamicKeyString(VeShadowColor);
-
- pVeLightCount = new (std::nothrow) _DynamicKeyString(VeLightCount);
- pVeLightType = new (std::nothrow) _DynamicKeyString(VeLightType);
- pVeLightDiffuse = new (std::nothrow) _DynamicKeyString(VeLightDiffuse);
- pVeLightSpecular = new (std::nothrow) _DynamicKeyString(VeLightSpecular);
- pVeLightAmbient = new (std::nothrow) _DynamicKeyString(VeLightAmbient);
- pVeLightPosition = new (std::nothrow) _DynamicKeyString(VeLightPosition);
- pVeLightDirection = new (std::nothrow) _DynamicKeyString(VeLightDirection);
- pVeLightExponent = new (std::nothrow) _DynamicKeyString(VeLightExponent);
- pVeLightCutOff = new (std::nothrow) _DynamicKeyString(VeLightCutOff);
- pVeLightConstantAttenuation = new (std::nothrow) _DynamicKeyString(VeLightConstantAttenuation);
- pVeLightLinearAttenuation = new (std::nothrow) _DynamicKeyString(VeLightLinearAttenuation);
- pVeLightQuadraticAttenuation = new (std::nothrow) _DynamicKeyString(VeLightQuadraticAttenuation);
+ DYNAMIC_STRING_INIT(VeShadowColor);
+
+ DYNAMIC_STRING_INIT(VeLightCount);
+ DYNAMIC_STRING_INIT(VeLightType);
+ DYNAMIC_STRING_INIT(VeLightDiffuse);
+ DYNAMIC_STRING_INIT(VeLightSpecular);
+ DYNAMIC_STRING_INIT(VeLightAmbient);
+ DYNAMIC_STRING_INIT(VeLightPosition);
+ DYNAMIC_STRING_INIT(VeLightDirection);
+ DYNAMIC_STRING_INIT(VeLightExponent);
+ DYNAMIC_STRING_INIT(VeLightCutOff);
+ DYNAMIC_STRING_INIT(VeLightConstantAttenuation);
+ DYNAMIC_STRING_INIT(VeLightLinearAttenuation);
+ DYNAMIC_STRING_INIT(VeLightQuadraticAttenuation);
// need to design / need to design
//pVeShaderUniform = /pVeShaderUniform ;
__pMethodLock = new _Mutex(true);
_VisualElementEnvironment::~_VisualElementEnvironment(void)
{
- delete pVePropBounds;
- delete pVePropContentBounds;
- delete pVePropContentOpacity;
- delete pVePropRenderOperation;
- delete pVePropOpacity;
- delete pVePropShowState;
- delete pVePropAnchor;
- delete pVePropAnchorZ;
- delete pVePropTransform;
- delete pVePropChildrenTransform;
- delete pVePropZPosition;
- delete pVePropZOrderGroup;
- delete pVePropClipToParent;
- delete pVePropClipChildren;
- delete pVePropSurfaceOpaque;
- delete pVePropName;
- delete pVePropPropertyPropagationEnabled;
- delete pVePropImplicitAnimationEnabled;
+ delete PROP_STRING(VePropBounds);
+ delete PROP_STRING(VePropContentBounds);
+ delete PROP_STRING(VePropContentOpacity);
+ delete PROP_STRING(VePropRenderOperation);
+ delete PROP_STRING(VePropOpacity);
+ delete PROP_STRING(VePropShowState);
+ delete PROP_STRING(VePropAnchor);
+ delete PROP_STRING(VePropAnchorZ);
+ delete PROP_STRING(VePropTransform);
+ delete PROP_STRING(VePropChildrenTransform);
+ delete PROP_STRING(VePropZPosition);
+ delete PROP_STRING(VePropZOrderGroup);
+ delete PROP_STRING(VePropClipToParent);
+ delete PROP_STRING(VePropClipChildren);
+ delete PROP_STRING(VePropSurfaceOpaque);
+ delete PROP_STRING(VePropName);
+ delete PROP_STRING(VePropPropertyPropagationEnabled);
+ delete PROP_STRING(VePropImplicitAnimationEnabled);
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- delete pVePropActionDetach;
- delete pVePropActionAttach;
+ delete PROP_STRING(VePropActionDetach);
+ delete PROP_STRING(VePropActionAttach);
#endif
- delete pVeSubPropBounds;
- delete pVeSubPropBoundsPosition;
- delete pVeSubPropBoundsSize;
-
- delete pVeSubPropTransform;
- delete pVeSubPropTransformRotationX;
- delete pVeSubPropTransformRotationY;
- delete pVeSubPropTransformRotationZ;
- delete pVeSubPropTransformScaleX;
- delete pVeSubPropTransformScaleY;
- delete pVeSubPropTransformScaleZ;
- delete pVeSubPropTransformTranslationX;
- delete pVeSubPropTransformTranslationY;
- delete pVeSubPropTransformTranslationZ;
- delete pVeSubPropTransformRotationAnchorX;
- delete pVeSubPropTransformRotationAnchorY;
- delete pVeSubPropTransformRotationAnchorZ;
- delete pVeSubPropTransformScaleAnchorX;
- delete pVeSubPropTransformScaleAnchorY;
- delete pVeSubPropTransformScaleAnchorZ;
-
- delete pVeSubPropTransformRotationXY;
- delete pVeSubPropTransformScaleXY;
- delete pVeSubPropTransformTranslationXY;
- delete pVeSubPropTransformRotationAnchorXY;
- delete pVeSubPropTransformScaleAnchorXY;
-
- delete pVeSubPropChildrenTransform;
- delete pVeSubPropChildrenTransformRotationX;
- delete pVeSubPropChildrenTransformRotationY;
- delete pVeSubPropChildrenTransformRotationZ;
- delete pVeSubPropChildrenTransformScaleX;
- delete pVeSubPropChildrenTransformScaleY;
- delete pVeSubPropChildrenTransformScaleZ;
- delete pVeSubPropChildrenTransformTranslationX;
- delete pVeSubPropChildrenTransformTranslationY;
- delete pVeSubPropChildrenTransformTranslationZ;
- delete pVeSubPropChildrenTransformRotationAnchorX;
- delete pVeSubPropChildrenTransformRotationAnchorY;
- delete pVeSubPropChildrenTransformRotationAnchorZ;
- delete pVeSubPropChildrenTransformScaleAnchorX;
- delete pVeSubPropChildrenTransformScaleAnchorY;
- delete pVeSubPropChildrenTransformScaleAnchorZ;
-
- delete pVeSubPropChildrenTransformRotationXY;
- delete pVeSubPropChildrenTransformScaleXY;
- delete pVeSubPropChildrenTransformTranslationXY;
- delete pVeSubPropChildrenTransformRotationAnchorXY;
- delete pVeSubPropChildrenTransformScaleAnchorXY;
-
- delete pVePrivPropShowOpacity;
+ delete PROP_STRING(VeSubPropBounds);
+ delete PROP_STRING(VeSubPropBoundsPosition);
+ delete PROP_STRING(VeSubPropBoundsSize);
+
+ delete PROP_STRING(VeSubPropTransform);
+ delete PROP_STRING(VeSubPropTransformRotationX);
+ delete PROP_STRING(VeSubPropTransformRotationY);
+ delete PROP_STRING(VeSubPropTransformRotationZ);
+ delete PROP_STRING(VeSubPropTransformScaleX);
+ delete PROP_STRING(VeSubPropTransformScaleY);
+ delete PROP_STRING(VeSubPropTransformScaleZ);
+ delete PROP_STRING(VeSubPropTransformTranslationX);
+ delete PROP_STRING(VeSubPropTransformTranslationY);
+ delete PROP_STRING(VeSubPropTransformTranslationZ);
+ delete PROP_STRING(VeSubPropTransformRotationAnchorX);
+ delete PROP_STRING(VeSubPropTransformRotationAnchorY);
+ delete PROP_STRING(VeSubPropTransformRotationAnchorZ);
+ delete PROP_STRING(VeSubPropTransformScaleAnchorX);
+ delete PROP_STRING(VeSubPropTransformScaleAnchorY);
+ delete PROP_STRING(VeSubPropTransformScaleAnchorZ);
+
+ delete PROP_STRING(VeSubPropTransformRotationXY);
+ delete PROP_STRING(VeSubPropTransformScaleXY);
+ delete PROP_STRING(VeSubPropTransformTranslationXY);
+ delete PROP_STRING(VeSubPropTransformRotationAnchorXY);
+ delete PROP_STRING(VeSubPropTransformScaleAnchorXY);
+
+ delete PROP_STRING(VeSubPropChildrenTransform);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationX);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationY);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationZ);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleX);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleY);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleZ);
+ delete PROP_STRING(VeSubPropChildrenTransformTranslationX);
+ delete PROP_STRING(VeSubPropChildrenTransformTranslationY);
+ delete PROP_STRING(VeSubPropChildrenTransformTranslationZ);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationAnchorX);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationAnchorY);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationAnchorZ);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleAnchorX);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleAnchorY);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleAnchorZ);
+
+ delete PROP_STRING(VeSubPropChildrenTransformRotationXY);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleXY);
+ delete PROP_STRING(VeSubPropChildrenTransformTranslationXY);
+ delete PROP_STRING(VeSubPropChildrenTransformRotationAnchorXY);
+ delete PROP_STRING(VeSubPropChildrenTransformScaleAnchorXY);
+
+ delete PROP_STRING(VePrivPropShowOpacity);
// 3.0 properties
- delete pVeMeshPropVertexCount;
- delete pVeMeshPropVertex;
- delete pVeMeshPropColor;
- delete pVeMeshPropTextureCoord;
- delete pVeMeshPropNormal;
- delete pVeMeshPropVertexIndex;
- delete pVeMeshPropBoneCount;
- delete pVeMeshPropBone;
- delete pVeMeshPropBoneIndex;
- delete pVeMeshPropBoneWeight;
-
- delete pVeMaterialDiffuse;
- delete pVeMaterialSpecular;
- delete pVeMaterialAmbient;
- delete pVeMaterialEmissive;
- delete pVeMaterialShiness;
+ delete PROP_STRING(VeMeshPropVertexCount);
+ delete PROP_STRING(VeMeshPropVertex);
+ delete PROP_STRING(VeMeshPropColor);
+ delete PROP_STRING(VeMeshPropTextureCoord);
+ delete PROP_STRING(VeMeshPropNormal);
+ delete PROP_STRING(VeMeshPropVertexIndex);
+ delete PROP_STRING(VeMeshPropBoneCount);
+ delete PROP_STRING(VeMeshPropBone);
+ delete PROP_STRING(VeMeshPropBoneIndex);
+ delete PROP_STRING(VeMeshPropBoneWeight);
+
+ delete PROP_STRING(VeMaterialDiffuse);
+ delete PROP_STRING(VeMaterialSpecular);
+ delete PROP_STRING(VeMaterialAmbient);
+ delete PROP_STRING(VeMaterialEmissive);
+ delete PROP_STRING(VeMaterialShiness);
// is it needed ?
- delete pVeShadowColor;
-
- delete pVeLightCount;
- delete pVeLightType;
- delete pVeLightDiffuse;
- delete pVeLightSpecular;
- delete pVeLightAmbient;
- delete pVeLightPosition;
- delete pVeLightDirection;
- delete pVeLightExponent;
- delete pVeLightCutOff;
- delete pVeLightConstantAttenuation;
- delete pVeLightLinearAttenuation;
- delete pVeLightQuadraticAttenuation;
+ delete PROP_STRING(VeShadowColor);
+
+ delete PROP_STRING(VeLightCount);
+ delete PROP_STRING(VeLightType);
+ delete PROP_STRING(VeLightDiffuse);
+ delete PROP_STRING(VeLightSpecular);
+ delete PROP_STRING(VeLightAmbient);
+ delete PROP_STRING(VeLightPosition);
+ delete PROP_STRING(VeLightDirection);
+ delete PROP_STRING(VeLightExponent);
+ delete PROP_STRING(VeLightCutOff);
+ delete PROP_STRING(VeLightConstantAttenuation);
+ delete PROP_STRING(VeLightLinearAttenuation);
+ delete PROP_STRING(VeLightQuadraticAttenuation);
// need to design
//pVeShaderUniform;
#define IS_INTERNAL_CLASS(_IMPL) (likely((_IMPL)->__isInternal))
#define IS_NEEDED_UPDATE_RENDER_OBJECT(__MODEL) (((__MODEL)->__isPropertyPropagationEnabled) && ((__MODEL)->__pRenderObject))
+
+#define UPDATE_PROP_FOR_RENDER(FLAGS, _PROP) \
+ {\
+ __pSharedData->toUpdatePropertiesForRenderObject._PROP = _PROP;\
+ __pSharedData->toUpdatePropertiesForRenderObject.__updatedProperties|=FLAGS;\
+ }
namespace {
static const char* STR_ERROR_INVALID_VARIANT_ARG_TYPE = "[E_INVALID_ARG] Invalid argument(s) is used. Variant type is invalid.";
, __childrenNeedsUpdateProps(UPDATED_PROP_MASK & ~(UPDATED_PROP_CONTENT_MASK|UPDATED_PROP_CHANGE_ZORDER))
, __invalidatedProps(UPDATED_PROP_MASK & ~(UPDATED_PROP_CONTENT_MASK|UPDATED_PROP_CHANGE_ZORDER))
// , __updatedProperties(0)
-// , __toUpdatePropImmediately(this)
+// , __toUpdatePropertiesForRenderObject(this)
, __matrixFromTopValid(false)
, __matrixFromTopInvertible(true)
, __matrixToSuperValid(false)
, __childrenNeedsUpdateProps(UPDATED_PROP_MASK & ~(UPDATED_PROP_CONTENT_MASK|UPDATED_PROP_CHANGE_ZORDER))
, __invalidatedProps(UPDATED_PROP_MASK & ~(UPDATED_PROP_CONTENT_MASK|UPDATED_PROP_CHANGE_ZORDER))
// , __updatedProperties(modelImpl.__updatedProperties)
-// , __toUpdatePropImmediately(null)
+// , __toUpdatePropertiesForRenderObject(null)
, __matrixFromTopValid(false)
, __matrixFromTopInvertible(true)
, __matrixToSuperValid(false)
bool
-_VisualElementImpl::CreateImplicitAnimationForShowState(float newState, float currentState, bool bImplicitAnimation)
+_VisualElementImpl::CreateImplicitAnimationForShowState(float newState, float currentState)
{
bool retValue = true;
- const String& property = *pVePropShowState;
+ const String& property = *PROP_STRING(VePropShowState);
_AnimationManager* pAnimationManager = _AnimationManager::GetInstance();
// bool bImplicitAnimation = GET_IMPLICIT_FLAGS(UPDATED_PROP_SHOW_STATE);
- if (bImplicitAnimation)
+ if (unlikely(pAnimationManager->IsImplicitAnimationEnabled() && __isImplicitAnimationEnabled))
{
// WARNING:
// For performance, following must be done only when oldValue != newValue.
if (!__pSharedData)
return E_INVALID_STATE;
-// if(__updatedProperties != 0)
- if (__pSharedData->toUpdatePropImmediately.__updatedProperties != 0)
- {
-
-
-//#define GET_CURRENT_VAL(_FLAG,__DATA) ((__pSharedData->__toUpdatePropImmediately.__updatedProperties & (_FLAG)) != 0)? __pSharedData->__toUpdatePropImmediately.__DATA : __pRenderObject->__DATA
-#define GET_CURRENT_VAL(_FLAG,__DATA) __pSharedData->toUpdatePropImmediately.__DATA
-#define GET_IMPLICIT_FLAGS(_FLAG) ((__pSharedData->toUpdatePropImmediately.__implicitAnimation & (_FLAG)) != 0)? true : false
-
- RENDER_LOCK();
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_BOUNDS)
- {
- FloatRectangle currentValue = GET_CURRENT_VAL(UPDATED_PROP_BOUNDS, __bounds);
-
- __pRenderObject->SetBoundsProperty(currentValue);
-
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_RENDER_OPERATION)
- {
- __pRenderObject->SetRenderOperationProperty(__renderOperation);
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_CONTENT_BOUNDS)
- {
- FloatRectangle currentValue = GET_CURRENT_VAL(UPDATED_PROP_CONTENT_BOUNDS, __contentBounds);
- __pRenderObject->SetContentBoundsProperty(currentValue);
-
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_CONTENT_OPACITY)
- {
- float currentValue = GET_CURRENT_VAL(UPDATED_PROP_CONTENT_OPACITY, __contentOpacity);
- __pRenderObject->SetContentOpacityProperty(currentValue);
-
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_SHOW_STATE)
- {
- float currentValue = GET_CURRENT_VAL(UPDATED_PROP_SHOW_STATE, __showOpacity);
- __pRenderObject->SetShowStateProperty(SHOWOPACITY_VISIBLE(currentValue));
-
- }
-
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_OPACITY)
- {
-
- float currentValue = GET_CURRENT_VAL(UPDATED_PROP_OPACITY, __opacity);
-// bool bImplicitAnimation = GET_IMPLICIT_FLAGS(UPDATED_PROP_OPACITY);
- __pRenderObject->SetOpacityProperty(currentValue);
- }
-
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_ANCHOR)
- {
- FloatPoint currentValue = GET_CURRENT_VAL(UPDATED_PROP_ANCHOR, __anchor);
- __pRenderObject->SetAnchorProperty(currentValue);
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_ANCHOR_Z)
- {
- float currentValue = GET_CURRENT_VAL(UPDATED_PROP_ANCHOR_Z, __anchorZ);
- __pRenderObject->SetAnchorZProperty(currentValue);
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_TRANSFORM)
- {
- FloatMatrix4 currentValue = GET_CURRENT_VAL(UPDATED_PROP_TRANSFORM, __decomposedTransform.GetTransformMatrix());
-// bool bImplicitAnimation = GET_IMPLICIT_FLAGS(UPDATED_PROP_TRANSFORM);
-// PRINT("UPDATED_PROP_TRANSFORM : implicit(%d) updated(%d)\n", bImplicitAnimation,
-// (__pSharedData->__toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_TRANSFORM)?1:0 );
-
- __pRenderObject->__decomposedTransform = __pSharedData->toUpdatePropImmediately.__decomposedTransform;
- __pRenderObject->SetTransformMatrixProperty(currentValue);// 현재 값을 반영한 후에 new 값을 반영.
- //__pRenderObject->SetTransformMatrixProperty(__transform);
-
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_CHILDREN_TRANSFORM)
- {
- FloatMatrix4 currentValue = GET_CURRENT_VAL(UPDATED_PROP_CHILDREN_TRANSFORM, __childrenTransform);
-
-// __pRenderObject->__decomposedChildrenTransform = __pSharedData->__toUpdatePropImmediately.__decomposedChildrenTransform;
- __pRenderObject->SetChildrenTransformMatrixProperty(currentValue);// 현재 값을 반영한 후에 new 값을 반영.
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_Z_POSITION)
- {
- float currentValue = GET_CURRENT_VAL(UPDATED_PROP_Z_POSITION, __zPosition);
- //bool bImplicitAnimation = GET_IMPLICIT_FLAGS(UPDATED_PROP_Z_POSITION);
-
- __pRenderObject->SetZPositionProperty(currentValue);
- //__pRenderObject->SetZPositionProperty(__zPosition);
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_CLIP_CHILDREN)
- {
- __pRenderObject->SetClipChildrenProperty(__isClipChildren);
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_SURFACE_OPAQUE)
- {
- __pRenderObject->SetSurfaceOpaqueProperty(GetSharedData().isSurfaceOpaque);
- //TODO: isSurfaceOpaque should be changed into VE's member variable.
- }
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_SURFACE)
- {
- __pRenderObject->SetSurfaceChanged();
- }
-
- if(__pSharedData->toUpdatePropImmediately.__updatedProperties & UPDATED_PROP_CHANGE_ZORDER)
- {
- if(__pParent)
- {
- _VisualElementImpl* pRef = null;
- int count = __pParent->__children.GetCount();
- for(int i=0 ; i < count; i++)
- {
-
- if(__pParent->__children.GetChildAt(i) == this)
- {
- if(i < count - 2)
- {
- pRef = __pParent->__children.GetChildAt(i+1);
- }
- break;
- }
- }
-
- if(pRef && pRef->__pRenderObject) // next 가 있음.
- {
- __pParent->__pRenderObject->ChangeZOrder(*__pRenderObject, pRef->__pRenderObject, false, pRef->_zOrderGroup);
- }
- else
- {
- __pParent->__pRenderObject->ChangeZOrder(*__pRenderObject, null, false, _zOrderGroup);
- }
- }
-// else
-// {
-// __pRenderObject->RemoveFromParent();
-// }
-
- }
- }
+ RENDER_LOCK();
+ __pSharedData->toUpdatePropertiesForRenderObject.Apply();
-// __updatedProperties = 0;
- __pSharedData->toUpdatePropImmediately.Clear();
int count = __children.GetCount();
for (int i = 0 ; i < count ; i++)
}
bool
-_VisualElementImpl::CreateImplicitAnimation( const String& property,
- const Variant& newValue, const String** pSubProperties, bool implicitAnimation, bool isCustomProperty)
+_VisualElementImpl::CreateImplicitAnimation( const String& property, const Variant& newValue)
{
bool r = true;
VisualElement* pTarget = null;
if (likely(GetRoot())
&& likely(GetSharedData().needSurface)
- && (unlikely(implicitAnimation)) )
+ && (unlikely(pAnimationManager->IsImplicitAnimationEnabled() && __isImplicitAnimationEnabled)))
{
// WARNING:
// For performance, following must be done only when oldValue != newValue.
pPropertyAnimation->SetStartValue(Variant());
}
- if(isCustomProperty)
- pTarget = __pPresentation->__pPublicInstance;
- else
+// if(isCustomProperty)
+// pTarget = __pPresentation->__pPublicInstance;
+// else
pTarget = __pRenderObject->__pPublicInstance;
- if(pSubProperties)
- { // remove sub property
- for(int i = 0 ; pSubProperties[i] != NULL ; i++)
- {
- pAnimationManager->RemoveAnimationByProperty(*pTarget, *pSubProperties[i]);
- }
- }
+
if (unlikely(pAnimation))
{
/// WARNING:
return r;
}
+bool
+_VisualElementImpl::RemoveAnimationByPropertyList(const Tizen::Base::String** pSubProperties)
+{
+ _AnimationManager* pAnimationManager = _AnimationManager::GetInstance();
+
+ if(pSubProperties)
+ { // remove sub property
+ for(int i = 0 ; pSubProperties[i] != NULL ; i++)
+ {
+ pAnimationManager->RemoveAnimationByProperty(*__pRenderObject->__pPublicInstance, *pSubProperties[i]);
+ }
+ return true;
+ }
+ return true;
+}
bool
-_VisualElementImpl::CreateImplicitAnimationIfNeeded( const String& property,
- const Variant& newValue, const Variant& currentPresentationValue, const String** pSubProperties, bool isCustomProperty)
+_VisualElementImpl::CreateImplicitAnimationForCustomProperty( const String& property,
+ const Variant& newValue, const Variant& currentPresentationValue)
{
bool r = true;
VisualElement* pTarget = null;
pPropertyAnimation->SetEndValue(newValue);
}
- if (pPropertyAnimation->GetStartValue().IsEmpty())
+ if (pPropertyAnimation->GetStartValue().IsEmpty() && !currentPresentationValue.IsEmpty())
{
pPropertyAnimation->SetStartValue(currentPresentationValue);
}
}
- if(isCustomProperty)
- pTarget = __pPresentation->__pPublicInstance;
- else
- pTarget = __pRenderObject->__pPublicInstance;
+ // if not custom property it should be __pRenderObject
+ pTarget = __pPresentation->__pPublicInstance;
- if(pSubProperties)
- { // remove sub property
- for(int i = 0 ; pSubProperties[i] != NULL ; i++)
- {
- pAnimationManager->RemoveAnimationByProperty(*pTarget, *pSubProperties[i]);
- }
- }
if (unlikely(pAnimation))
{
/// WARNING:
// WARNING:
// Remove previous animation even when trying to change the property without animation.
pAnimationManager->RemoveAnimationByProperty(*pTarget, property);
- if(pSubProperties)
- { // remove sub property
- for(int i = 0 ; pSubProperties[i] != NULL ; i++)
- {
- pAnimationManager->RemoveAnimationByProperty(*pTarget, *pSubProperties[i]);
- }
- }
r = false;
}
}
else
{
pAnimationManager->RemoveAnimationByProperty(*pTarget, property);
- if(pSubProperties)
- { // remove sub property
- for(int i = 0 ; pSubProperties[i] != NULL ; i++)
- {
- pAnimationManager->RemoveAnimationByProperty(*pTarget, *pSubProperties[i]);
- }
- }
r = false;
}
return r;
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
- result r = InvokeOnSetPropertyRequested(*pVePropRenderOperation, Variant(static_cast< int >(renderOperation)));
+ result r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropRenderOperation), Variant(static_cast< int >(renderOperation)));
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
return r;
ClearLastResult();
#if 0
- int renderOperation = InvokeOnGetPropertyRequested(*pVePropRenderOperation).ToInt();
+ int renderOperation = InvokeOnGetPropertyRequested(*PROP_STRING(VePropRenderOperation)).ToInt();
if (GetLastResult() != E_SUCCESS)
{
return VisualElement::RENDER_OPERATION_BLEND;
//InvalidateHierarchyProps(HIERARCHY_PROPERTY_OPACITY, false, false);
InvalidateHierarchyProps(UPDATED_PROP_RENDER_OPERATION, false, false);
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_RENDER_OPERATION);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_RENDER_OPERATION, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_RENDER_OPERATION,__renderOperation);
}
return E_SUCCESS;
if (enable == __isPropertyPropagationEnabled)
return E_SUCCESS;
- result r = InvokeOnSetPropertyRequested(*pVePropPropertyPropagationEnabled, Variant(enable));
+ result r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropPropertyPropagationEnabled), Variant(enable));
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
return r;
}
void
+_VisualElementImpl::SetGeometryChanged(void)
+{
+ // karzia R01:
+ //InvalidateHierarchyProps(HIERARCHY_PROPERTY_SURFACE, false, false);
+ InvalidateHierarchyProps(UPDATED_PROP_GEOMETRY, false, false);
+
+ if(IS_MODEL(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_GEOMETRY);
+ }
+}
+
+void
_VisualElementImpl::SetSurfaceChanged(void)
{
GetSharedData().surfaceChanged = true;
//InvalidateHierarchyProps(HIERARCHY_PROPERTY_SURFACE, false, false);
InvalidateHierarchyProps(UPDATED_PROP_SURFACE, false, false);
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_SURFACE);
+ if(IS_MODEL(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_SURFACE);
+ }
}
//InvalidateHierarchyProps(HIERARCHY_PROPERTY_CONTENTBOUNDS, false, false);
InvalidateHierarchyProps(UPDATED_PROP_CONTENT_BOUNDS, false, false);
- // observer
- if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_BOUNDS);
- }
- else if( IS_PRESENTATION(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_BOUNDS);
- }
-
return E_SUCCESS;
}
_VisualElementImpl::SetContentBounds(const FloatRectangle& contentBounds)
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
-#if 0
- return SetContentBoundsI(contentBounds);
-#else
- result r = InvokeOnSetPropertyRequested(*pVePropContentBounds, Variant(contentBounds));
+
+ result r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropContentBounds), Variant(contentBounds));
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
return r;
-#endif
+
}
FloatRectangle
{
SysTryReturn(NID_UI_ANIM, v.GetType() == VARIANT_TYPE_FLOAT_RECTANGLE, E_INVALID_ARG, E_INVALID_ARG, STR_ERROR_INVALID_VARIANT_ARG_TYPE);
- return SetContentBoundsI(v.ToFloatRectangle());
+ result r = SetContentBoundsI(v.ToFloatRectangle());
+
+ // observer
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+
+
+ if(CreateImplicitAnimation(*PROP_STRING(VePropContentBounds), Variant(__contentBounds)) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CONTENT_BOUNDS, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CONTENT_BOUNDS,__contentBounds);
+ }
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CONTENT_BOUNDS, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CONTENT_BOUNDS,__contentBounds);
+ }
+
+ return r;
}
// TBD: forward using property or direct return ?
#if 0
- bool isImplicitAnimationEnabled = InvokeOnGetPropertyRequested(*pVePropImplicitAnimationEnabled).ToBool();
+ bool isImplicitAnimationEnabled = InvokeOnGetPropertyRequested(*PROP_STRING(VePropImplicitAnimationEnabled)).ToBool();
if (GetLastResult() != E_SUCCESS)
return false;
_VisualElementImpl::SetImplicitAnimationEnabled(bool enable)
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
- result r = InvokeOnSetPropertyRequested(*pVePropImplicitAnimationEnabled, Variant(enable));
+ result r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropImplicitAnimationEnabled), Variant(enable));
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
return r;
// TBD: forward using property or direct return ?
#if 0
- FloatRectangle bounds = InvokeOnGetPropertyRequested(*pVePropBounds).ToFloatRectangle();
+ FloatRectangle bounds = InvokeOnGetPropertyRequested(*PROP_STRING(VePropBounds)).ToFloatRectangle();
if (GetLastResult() != E_SUCCESS)
{
return FloatRectangle();
}
result
-_VisualElementImpl::SetBoundsI(const FloatRectangle& bounds)
+_VisualElementImpl::SetBoundsI(const FloatRectangle& bounds, bool& sizeChanged)
{
_Rectanglef boundsAdjusted(bounds);
- FloatRectangle oldValue(__bounds);
result r = E_SUCCESS;
- bool sizeChanged = false;
if (unlikely(GetSharedData().pEventListener != null))
{
}
}
- // observer
- if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_BOUNDS);
-
-
- VE_DELEGATE(this, InvokeOnBoundsChanged, oldValue);
-
- if(__pBoundsChangedCallback && sizeChanged == true)
- {
- (*__pBoundsChangedCallback)(__pBoundsChangedCallbackData);
- }
-
- }
- else if( IS_PRESENTATION(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_BOUNDS);
- }
-
return r;
}
if (IS_KNOWN_CLASS(__pPublicInstance))
{
- r = SetBoundsI(bounds);
+ FloatRectangle oldValue(__bounds);
+ bool sizeChanged = false;
+
+ r = SetBoundsI(bounds, sizeChanged);
+
+ // observer
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = { PROP_STRING(VeSubPropBoundsSize), PROP_STRING(VeSubPropBoundsPosition), NULL };
+ RemoveAnimationByPropertyList(subProperties);
+
+ if(CreateImplicitAnimation(*PROP_STRING(VePropBounds), Variant(__bounds)) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_BOUNDS, this);
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_BOUNDS,__bounds);
+ }
+
+ VE_DELEGATE(this, InvokeOnBoundsChanged, oldValue);
+
+ if(__pBoundsChangedCallback && sizeChanged == true)
+ {
+ (*__pBoundsChangedCallback)(__pBoundsChangedCallbackData);
+ }
+
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_BOUNDS, this);
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_BOUNDS,__bounds);
+ }
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropBounds, Variant(bounds));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropBounds), Variant(bounds));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
{
SysTryReturn(NID_UI_ANIM, v.GetType() == VARIANT_TYPE_FLOAT_RECTANGLE, E_INVALID_ARG, E_INVALID_ARG, STR_ERROR_INVALID_VARIANT_ARG_TYPE);
- return SetBoundsI(v.ToFloatRectangle());
+ FloatRectangle oldValue(__bounds);
+ bool sizeChanged = false;
+
+ result r = SetBoundsI(v.ToFloatRectangle(), sizeChanged);
+
+ // observer
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = { PROP_STRING(VeSubPropBoundsSize), PROP_STRING(VeSubPropBoundsPosition), NULL };
+ RemoveAnimationByPropertyList(subProperties);
+
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(this,UPDATED_PROP_CONTENT_BOUNDS);
+ if(CreateImplicitAnimation(*PROP_STRING(VePropBounds), Variant(__bounds)) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_BOUNDS, this);
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_BOUNDS,__bounds);
+ }
+
+
+ VE_DELEGATE(this, InvokeOnBoundsChanged, oldValue);
+
+ if(__pBoundsChangedCallback && sizeChanged == true)
+ {
+ (*__pBoundsChangedCallback)(__pBoundsChangedCallbackData);
+ }
+
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_BOUNDS, this);
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_BOUNDS,__bounds);
+ }
+
+ return r;
}
Variant
{
SysTryReturn(NID_UI_ANIM, v.GetType() == VARIANT_TYPE_FLOAT_POINT, E_INVALID_ARG, E_INVALID_ARG, STR_ERROR_INVALID_VARIANT_ARG_TYPE);
+ FloatRectangle oldValue(__bounds);
+
const FloatPoint& position = v.ToFloatPoint();
- return SetBoundsProperty(Variant(FloatRectangle(position.x, position.y, __bounds.width, __bounds.height)));
+// return SetBoundsProperty(Variant(FloatRectangle(position.x, position.y, __bounds.width, __bounds.height)));
+
+ bool sizeChanged = false;
+
+ result r = SetBoundsI(FloatRectangle(position.x, position.y, __bounds.width, __bounds.height), sizeChanged);
+
+ // observer
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = { PROP_STRING(VePropBounds), NULL };
+ RemoveAnimationByPropertyList(subProperties);
+
+ if(CreateImplicitAnimation(*PROP_STRING(VeSubPropBoundsPosition), Variant(FloatPoint(__bounds.x, __bounds.y))) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(PROP_ID(VeSubPropBoundsPosition), this);
+ }
+
+ VE_DELEGATE(this, InvokeOnBoundsChanged, oldValue);
+
+ if(__pBoundsChangedCallback && sizeChanged == true)
+ {
+ (*__pBoundsChangedCallback)(__pBoundsChangedCallbackData);
+ }
+
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(PROP_ID(VeSubPropBoundsPosition), this);
+ }
+ return r;
}
Variant
{
SysTryReturn(NID_UI_ANIM, v.GetType() == VARIANT_TYPE_FLOAT_DIMENSION, E_INVALID_ARG, E_INVALID_ARG, STR_ERROR_INVALID_VARIANT_ARG_TYPE);
+ FloatRectangle oldValue(__bounds);
const FloatDimension& size = v.ToFloatDimension();
- return SetBoundsProperty(Variant(FloatRectangle(__bounds.x, __bounds.y, size.width, size.height)));
+
+ bool sizeChanged = false;
+
+ result r = SetBoundsI(FloatRectangle(__bounds.x, __bounds.y, size.width, size.height), sizeChanged);
+
+ // observer
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = { PROP_STRING(VePropBounds), NULL };
+ RemoveAnimationByPropertyList(subProperties);
+
+ if(CreateImplicitAnimation(*PROP_STRING(VeSubPropBoundsSize), Variant(FloatDimension(__bounds.width, __bounds.height))) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(PROP_ID(VeSubPropBoundsSize), this);
+ }
+
+ VE_DELEGATE(this, InvokeOnBoundsChanged, oldValue);
+
+ if(__pBoundsChangedCallback && sizeChanged == true)
+ {
+ (*__pBoundsChangedCallback)(__pBoundsChangedCallbackData);
+ }
+
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(PROP_ID(VeSubPropBoundsSize), this);
+ }
+
+ return r;
+
}
float
// TBD: forward using property or direct return ?
#if 0
- float zPosition = (const_cast< _VisualElementImpl* >(this))->InvokeOnGetPropertyRequested(*pVePropZPosition).ToFloat();
+ float zPosition = (const_cast< _VisualElementImpl* >(this))->InvokeOnGetPropertyRequested(*PROP_STRING(VePropZPosition)).ToFloat();
if (GetLastResult() != E_SUCCESS)
{
return 0.0f;
//karzia R01:
// InvalidateHierarchyProps(HIERARCHY_PROPERTY_COORDINATES, true, false); // lazy evaluation: property changed flag
InvalidateHierarchyProps(UPDATED_PROP_Z_POSITION, true, false); // lazy evaluation: property changed flag
- if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_Z_POSITION);
- }
- else if( IS_PRESENTATION(this))
+ }
+
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ if(CreateImplicitAnimation(*PROP_STRING(VePropZPosition), Variant(__zPosition)) == false)
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_Z_POSITION);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_Z_POSITION, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_Z_POSITION,__zPosition);
}
}
+ else if( IS_PRESENTATION(this))
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_Z_POSITION, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_Z_POSITION,__zPosition);
+ }
+
+
return E_SUCCESS;
}
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropZPosition, Variant(zPosition));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropZPosition), Variant(zPosition));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
__pPresentation->_zOrderGroup = zOrderGroup;
RENDER_LOCK();
__pRenderObject->_zOrderGroup = zOrderGroup;
-
}
-// if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
-// {
-// __updatedProperties |= UPDATED_PROP_CHANGE_ZORDER;
-// GetSharedData().__toUpdatePropImmediately.Update(UPDATED_PROP_CHANGE_ZORDER);
-
-//// RENDER_LOCK();
-//// __pRenderObject->SetZOrderGroupProperty(_zOrderGroup);
-// }
return r;
}
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropZOrderGroup, Variant(zOrderGroup));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropZOrderGroup), Variant(zOrderGroup));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropShowState).ToBool();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropShowState)).ToBool();
#else
return VE_VISIBLE(this);
#endif
}
}
}
- //Observer
+
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_SHOW_STATE);
-
- InvokeOnShowStateChanged(oldShowState);
-
+ if(CreateImplicitAnimationForShowState(__showOpacity, 0.0f) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_SHOW_STATE, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_SHOW_STATE, __showOpacity);
+ }
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_SHOW_STATE);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_SHOW_STATE, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_SHOW_STATE, __showOpacity);
}
return E_SUCCESS;
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropShowState, Variant(show));
+ r = InvokeOnSetPropertyRequested(*pVePrivPropShowOpacity, Variant(show ? 1.0f : 0.0f));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropContentOpacity).ToFloat();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropContentOpacity)).ToFloat();
#else
return __contentOpacity;
#endif
InvalidateHierarchyProps(UPDATED_PROP_CONTENT_OPACITY, false, false); //don't have to apply the changed opacity to children.
-#ifndef LAZY_EVALUATION
- if (IS_RENDER_OBJECT(this) && likely(__pSharedData) && likely(GetSharedData().pNativeNode))
- {
- GetSharedData().NodeReconfigure(*this);
- }
-#endif
-
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_OPACITY);
+ if (CreateImplicitAnimation(*PROP_STRING(VePropContentOpacity), Variant(__contentOpacity)) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CONTENT_OPACITY, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CONTENT_OPACITY, __contentOpacity);
+ }
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_OPACITY);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CONTENT_OPACITY, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CONTENT_OPACITY, __contentOpacity);
}
return E_SUCCESS;
}
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
-// PROPERTY_PROCESS(SetContentOpacityI, GetContentOpacityProperty, SetContentOpacityProperty, pVePropContentOpacity, __contentOpacity, contentOpacity);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
r = SetContentOpacityI(contentOpacity);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropContentOpacity, Variant(contentOpacity));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropContentOpacity), Variant(contentOpacity));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropOpacity).ToFloat();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropOpacity)).ToFloat();
#else
return __opacity;
#endif
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
-
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_OPACITY);
+ if (CreateImplicitAnimation(*PROP_STRING(VePropOpacity), Variant(__opacity)) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_OPACITY, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_OPACITY, __opacity);
+ }
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_OPACITY);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_OPACITY, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_OPACITY, __opacity);
}
return E_SUCCESS;
}
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
-// PROPERTY_PROCESS(SetOpacityI, GetOpacityProperty, SetOpacityProperty, pVePropOpacity, __opacity, opacity);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
r = SetOpacityI(opacity);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropOpacity, Variant(opacity));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropOpacity), Variant(opacity));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropAnchor).ToFloatPoint();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropAnchor)).ToFloatPoint();
#else
return __anchor;
#endif
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_ANCHOR);
+ if (CreateImplicitAnimation(*PROP_STRING(VePropAnchor), Variant(__anchor)) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_ANCHOR, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_ANCHOR, __anchor);
+ }
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_ANCHOR);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_ANCHOR, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_ANCHOR, __anchor);
}
return E_SUCCESS;
}
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
-// PROPERTY_PROCESS(SetAnchorI, GetAnchorProperty, SetAnchorProperty, pVePropAnchor, __anchor, anchor);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
r = SetAnchorI(anchor);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropAnchor, Variant(anchor));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropAnchor), Variant(anchor));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropAnchorZ).ToFloat();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropAnchorZ).ToFloat();
#else
return __anchorZ;
#endif
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_ANCHOR_Z);
+ if (CreateImplicitAnimation(*PROP_STRING(VePropAnchorZ), Variant(__anchorZ)) == false)
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_ANCHOR_Z, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_ANCHOR_Z, __anchorZ);
+ }
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_ANCHOR_Z);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_ANCHOR_Z, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_ANCHOR_Z, __anchorZ);
}
return E_SUCCESS;
}
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
-// PROPERTY_PROCESS(SetAnchorZI, GetAnchorZProperty, SetAnchorZProperty, pVePropAnchorZ, __anchorZ, anchorZ);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
r = SetAnchorZI(anchorZ);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropAnchorZ, Variant(anchorZ));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropAnchorZ), Variant(anchorZ));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropTransform).ToFloatMatrix4();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropTransform)).ToFloatMatrix4();
#else
return __transform;
#endif
result r = E_SUCCESS;
- FloatMatrix4 oldValue(__transform);
-
FloatMatrix4 matrixAdjusted(xform);
+ FloatMatrix4 oldValue(__transform);
if (unlikely(GetSharedData().pEventListener != null))
{
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_TRANSFORM);
+ static const String* subProperties[] = {
+ PROP_STRING(VeSubPropTransformRotationX),
+ PROP_STRING(VeSubPropTransformRotationY),
+ PROP_STRING(VeSubPropTransformRotationZ),
+ PROP_STRING(VeSubPropTransformRotationXY),
+ PROP_STRING(VeSubPropTransformScaleX),
+ PROP_STRING(VeSubPropTransformScaleY),
+ PROP_STRING(VeSubPropTransformScaleZ),
+ PROP_STRING(VeSubPropTransformScaleXY),
+ PROP_STRING(VeSubPropTransformTranslationX),
+ PROP_STRING(VeSubPropTransformTranslationY),
+ PROP_STRING(VeSubPropTransformTranslationZ),
+ PROP_STRING(VeSubPropTransformTranslationXY),
+ PROP_STRING(VeSubPropTransformRotationAnchorX),
+ PROP_STRING(VeSubPropTransformRotationAnchorY),
+ PROP_STRING(VeSubPropTransformRotationAnchorZ),
+ PROP_STRING(VeSubPropTransformRotationAnchorXY),
+ PROP_STRING(VeSubPropTransformScaleAnchorX),
+ PROP_STRING(VeSubPropTransformScaleAnchorY),
+ PROP_STRING(VeSubPropTransformScaleAnchorZ),
+ PROP_STRING(VeSubPropTransformScaleAnchorXY),
+ NULL};
+ RemoveAnimationByPropertyList(subProperties);
+
+ if (CreateImplicitAnimation(*PROP_STRING(VePropTransform), Variant(__transform)) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_TRANSFORM, this);
+// UPDATE_PROP_FOR_RENDER(UPDATED_PROP_TRANSFORM, __transform);
+ }
VE_DELEGATE(this, InvokeOnTransformMatrixChanged, oldValue);
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_TRANSFORM);
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_TRANSFORM, this);
+// UPDATE_PROP_FOR_RENDER(UPDATED_PROP_TRANSFORM, __transform);
}
+
return E_SUCCESS;
}
result
+_VisualElementImpl::SetTransformDecomposedFactorI(const String* pProperty, int propertyId, const FloatMatrix4& xform, const Variant& v)
+{
+
+ result r = E_SUCCESS;
+
+ FloatMatrix4 matrixAdjusted(xform);
+ FloatMatrix4 oldValue(__transform);
+
+ if (unlikely(GetSharedData().pEventListener != null))
+ {
+ if (IS_MODEL(this)) // CHECKME: checking need??
+ {
+ r = VE_DELEGATE(this, InvokeOnTransformMatrixChanging, matrixAdjusted);
+ }
+ }
+
+ if (r == E_SUCCESS && likely(matrixAdjusted != __transform)) // check again because delegate may change the transform matrix
+ {
+ // render target updates for previous bounds
+ if (unlikely(!NEED_SURFACE(this)))
+ {
+ InvalidateVisibleRectToRenderTarget(null);
+ }
+
+ MatrixUtilCopy(__transform, matrixAdjusted);
+
+// __decomposedTransform.SetTransformMatrix(__transform);
+
+ //karzia R01:
+ //InvalidateHierarchyProps(HIERARCHY_PROPERTY_COORDINATES, true, false);
+ InvalidateHierarchyProps(UPDATED_PROP_TRANSFORM, true, false);
+
+ // VE with surface will be exposed automatically on rebuilding coordinates...
+ if (unlikely(!NEED_SURFACE(this)))
+ {
+ ExposeRectangle(null, true); // CHECKME: needed ???
+ }
+ }
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = {
+ PROP_STRING(VePropTransform),
+ NULL};
+ RemoveAnimationByPropertyList(subProperties);
+ if (CreateImplicitAnimation(*pProperty, v) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(propertyId, this);
+ }
+
+ VE_DELEGATE(this, InvokeOnTransformMatrixChanged, oldValue);
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(propertyId, this);
+ }
+ return r;
+}
+
+result
_VisualElementImpl::SetTransformMatrix(const FloatMatrix4& xform)
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
-// PROPERTY_PROCESS(SetTransformMatrixI, GetTransformMatrixProperty, SetTransformMatrixProperty, pVePropTransform, __transform, xform);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
- r = SetTransformMatrixI(xform);
+ r = SetTransformMatrixI(xform, true);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropTransform, Variant(xform));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropTransform), Variant(xform));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedTransform.UpdateRotationFromEulerAngles(v.ToFloat(), angleY, angleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationX),
+ PROP_ID(VeSubPropTransformRotationX),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedTransform.UpdateRotationFromEulerAngles(angleX, v.ToFloat(), angleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationY),
+ PROP_ID(VeSubPropTransformRotationY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
+
}
Variant
__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedTransform.UpdateRotationFromEulerAngles(angleX, angleY, v.ToFloat());
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationZ),
+ PROP_ID(VeSubPropTransformRotationZ),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedTransform.UpdateRotationFromEulerAngles(point.x, point.y, angleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationXY),
+ PROP_ID(VeSubPropTransformRotationXY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetRotationAnchor(v.ToFloat(), anchorY, anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationAnchorX),
+ PROP_ID(VeSubPropTransformRotationAnchorX),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetRotationAnchor(anchorX, v.ToFloat(), anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationAnchorY),
+ PROP_ID(VeSubPropTransformRotationAnchorY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetRotationAnchor(anchorX, anchorY, v.ToFloat());
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationAnchorZ),
+ PROP_ID(VeSubPropTransformRotationAnchorZ),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetRotationAnchor(point.x, point.y, anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformRotationAnchorXY),
+ PROP_ID(VeSubPropTransformRotationAnchorXY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedTransform.SetScaleFactors(v.ToFloat(), scaleY, scaleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleX),
+ PROP_ID(VeSubPropTransformScaleX),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedTransform.SetScaleFactors(scaleX, v.ToFloat(), scaleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleY),
+ PROP_ID(VeSubPropTransformScaleY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
+
}
Variant
__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedTransform.SetScaleFactors(scaleX, scaleY, v.ToFloat());
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleZ),
+ PROP_ID(VeSubPropTransformScaleZ),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.SetScaleFactors(point.x, point.y, scaleZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleXY),
+ PROP_ID(VeSubPropTransformScaleXY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetScaleAnchor(v.ToFloat(), anchorY, anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleAnchorX),
+ PROP_ID(VeSubPropTransformScaleAnchorX),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetScaleAnchor(anchorX, v.ToFloat(), anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleAnchorY),
+ PROP_ID(VeSubPropTransformScaleAnchorY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetScaleAnchor(anchorX, anchorY, v.ToFloat());
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleAnchorZ),
+ PROP_ID(VeSubPropTransformScaleAnchorZ),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedTransform.SetScaleAnchor(point.x, point.y, anchorZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformScaleAnchorXY),
+ PROP_ID(VeSubPropTransformScaleAnchorXY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedTransform.SetTranslationFactors(v.ToFloat(), translateY, translateZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformTranslationX),
+ PROP_ID(VeSubPropTransformTranslationX),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedTransform.SetTranslationFactors(translateX, v.ToFloat(), translateZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformTranslationY),
+ PROP_ID(VeSubPropTransformTranslationY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedTransform.SetTranslationFactors(translateX, translateY, v.ToFloat());
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformTranslationZ),
+ PROP_ID(VeSubPropTransformTranslationZ),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedTransform.SetTranslationFactors(point.x, point.y, translateZ);
- return SetTransformMatrixI(__decomposedTransform.GetTransformMatrix(), false);
+ return SetTransformDecomposedFactorI(PROP_STRING(VeSubPropTransformTranslationXY),
+ PROP_ID(VeSubPropTransformTranslationXY),
+ __decomposedTransform.GetTransformMatrix(),
+ v);
}
FloatMatrix4
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropChildrenTransform).ToFloatMatrix4();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropChildrenTransform)).ToFloatMatrix4();
#else
return __childrenTransform;
#endif
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
+ static const String* subProperties[] = {
+ PROP_STRING(VeSubPropChildrenTransformRotationX),
+ PROP_STRING(VeSubPropChildrenTransformRotationY),
+ PROP_STRING(VeSubPropChildrenTransformRotationZ),
+ PROP_STRING(VeSubPropChildrenTransformRotationXY),
+ PROP_STRING(VeSubPropChildrenTransformScaleX),
+ PROP_STRING(VeSubPropChildrenTransformScaleY),
+ PROP_STRING(VeSubPropChildrenTransformScaleZ),
+ PROP_STRING(VeSubPropChildrenTransformScaleXY),
+ PROP_STRING(VeSubPropChildrenTransformTranslationX),
+ PROP_STRING(VeSubPropChildrenTransformTranslationY),
+ PROP_STRING(VeSubPropChildrenTransformTranslationZ),
+ PROP_STRING(VeSubPropChildrenTransformTranslationXY),
+ PROP_STRING(VeSubPropChildrenTransformRotationAnchorX),
+ PROP_STRING(VeSubPropChildrenTransformRotationAnchorY),
+ PROP_STRING(VeSubPropChildrenTransformRotationAnchorZ),
+ PROP_STRING(VeSubPropChildrenTransformRotationAnchorXY),
+ PROP_STRING(VeSubPropChildrenTransformScaleAnchorX),
+ PROP_STRING(VeSubPropChildrenTransformScaleAnchorY),
+ PROP_STRING(VeSubPropChildrenTransformScaleAnchorZ),
+ PROP_STRING(VeSubPropChildrenTransformScaleAnchorXY),
+ NULL};
+ RemoveAnimationByPropertyList(subProperties);
+ if (CreateImplicitAnimation(*PROP_STRING(VePropChildrenTransform), Variant(__childrenTransform)) == false)
+ {
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CHILDREN_TRANSFORM, __childrenTransform);
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CHILDREN_TRANSFORM, this);
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CHILDREN_TRANSFORM);
+ }
VE_DELEGATE(this, InvokeOnChildrenTransformMatrixChanged, oldValue);
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CHILDREN_TRANSFORM);
+ //UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CHILDREN_TRANSFORM, __childrenTransform);
+ GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CHILDREN_TRANSFORM, this);
}
return E_SUCCESS;
}
result
+_VisualElementImpl::SetChildrenTransformDecomposedFactorI(const String* pProperty, int propertyId, const FloatMatrix4& xform, const Variant& v)
+{
+ FloatMatrix4 matrixAdjusted(xform);
+ FloatMatrix4 oldValue(__childrenTransform);
+ result r = E_SUCCESS;
+
+ if (unlikely(GetSharedData().pEventListener != null))
+ {
+ if (IS_MODEL(this)) // CHECKME: checking need??
+ {
+ r = VE_DELEGATE(this, InvokeOnChildrenTransformMatrixChanging, matrixAdjusted);
+ }
+ }
+
+
+ if (r == E_SUCCESS && likely(matrixAdjusted != __childrenTransform)) // check again because delegate may change the transform matrix
+ {
+
+ // May be un-needed from now...... (no support for VE without surface or shared-canvas)
+ if (IS_MODEL(this))
+ {
+ int count = __children.GetCount();
+ for (int i = 0; i < count; i++)
+ {
+ // VE with surface will be exposed automatically on rebuilding coordinates...
+ _VisualElementImpl* pVe = __children.GetChildAt(i);
+ if (pVe && !NEED_SURFACE(pVe))
+ {
+ pVe->ExposeRectangle(null, true);
+
+ // render target update for previous bounds
+ pVe->InvalidateVisibleRectToRenderTarget(null);
+ }
+ }
+ }
+
+ MatrixUtilCopy(__childrenTransform, matrixAdjusted);
+
+ //karzia R01:
+ //InvalidateHierarchyProps(HIERARCHY_PROPERTY_COORDINATES, true, false);
+ InvalidateHierarchyProps(UPDATED_PROP_CHILDREN_TRANSFORM, true, false);
+ }
+
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ static const String* subProperties[] = {
+ PROP_STRING(VePropChildrenTransform),
+ NULL};
+ RemoveAnimationByPropertyList(subProperties);
+ if (CreateImplicitAnimation(*pProperty, v) == false)
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(propertyId, this);
+ }
+
+ VE_DELEGATE(this, InvokeOnChildrenTransformMatrixChanged, oldValue);
+ }
+ else if( IS_PRESENTATION(this))
+ {
+ GetSharedData().toUpdatePropertiesForRenderObject.UpdateSubProperty(propertyId, this);
+ }
+ return E_SUCCESS;
+}
+
+result
_VisualElementImpl::SetChildrenTransformMatrix(const FloatMatrix4& xform)
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
result r = E_SUCCESS;
- //PROPERTY_PROCESS(SetChildrenTransformMatrixI, GetChildrenTransformMatrixProperty, SetChildrenTransformMatrixProperty, pVePropChildrenTransform, __childrenTransform, xform);
if (IS_KNOWN_CLASS(__pPublicInstance))
{
- r = SetChildrenTransformMatrixI(xform);
+ r = SetChildrenTransformMatrixI(xform, true);
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropChildrenTransform, Variant(xform));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropChildrenTransform), Variant(xform));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedChildrenTransform.UpdateRotationFromEulerAngles(v.ToFloat(), angleY, angleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationX),
+ PROP_ID(VeSubPropChildrenTransformRotationX),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedChildrenTransform.UpdateRotationFromEulerAngles(angleX, v.ToFloat(), angleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationY),
+ PROP_ID(VeSubPropChildrenTransformRotationY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedChildrenTransform.UpdateRotationFromEulerAngles(angleX, angleY, v.ToFloat());
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationZ),
+ PROP_ID(VeSubPropChildrenTransformRotationZ),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
__decomposedChildrenTransform.UpdateRotationFromEulerAngles(point.x, point.y, angleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationXY),
+ PROP_ID(VeSubPropChildrenTransformRotationXY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetRotationAnchor(v.ToFloat(), anchorY, anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationAnchorX),
+ PROP_ID(VeSubPropChildrenTransformRotationAnchorX),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
+
}
Variant
__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetRotationAnchor(anchorX, v.ToFloat(), anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationAnchorY),
+ PROP_ID(VeSubPropChildrenTransformRotationAnchorY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetRotationAnchor(anchorX, anchorY, v.ToFloat());
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationAnchorZ),
+ PROP_ID(VeSubPropChildrenTransformRotationAnchorZ),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetRotationAnchor(point.x, point.y, anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformRotationAnchorXY),
+ PROP_ID(VeSubPropChildrenTransformRotationAnchorXY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedChildrenTransform.SetScaleFactors(v.ToFloat(), scaleY, scaleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleX),
+ PROP_ID(VeSubPropChildrenTransformScaleX),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedChildrenTransform.SetScaleFactors(scaleX, v.ToFloat(), scaleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleY),
+ PROP_ID(VeSubPropChildrenTransformScaleY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedChildrenTransform.SetScaleFactors(scaleX, scaleY, v.ToFloat());
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleZ),
+ PROP_ID(VeSubPropChildrenTransformScaleZ),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
__decomposedChildrenTransform.SetScaleFactors(point.x, point.y, scaleZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleXY),
+ PROP_ID(VeSubPropChildrenTransformScaleXY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetScaleAnchor(v.ToFloat(), anchorY, anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleAnchorX),
+ PROP_ID(VeSubPropChildrenTransformScaleAnchorX),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetScaleAnchor(anchorX, v.ToFloat(), anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleAnchorY),
+ PROP_ID(VeSubPropChildrenTransformScaleAnchorY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetScaleAnchor(anchorX, anchorY, v.ToFloat());
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleAnchorZ),
+ PROP_ID(VeSubPropChildrenTransformScaleAnchorZ),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
__decomposedChildrenTransform.SetScaleAnchor(point.x, point.y, anchorZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformScaleAnchorXY),
+ PROP_ID(VeSubPropChildrenTransformScaleAnchorXY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedChildrenTransform.SetTranslationFactors(v.ToFloat(), translateY, translateZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformTranslationX),
+ PROP_ID(VeSubPropChildrenTransformTranslationX),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedChildrenTransform.SetTranslationFactors(translateX, v.ToFloat(), translateZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformTranslationY),
+ PROP_ID(VeSubPropChildrenTransformTranslationY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedChildrenTransform.SetTranslationFactors(translateX, translateY, v.ToFloat());
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformTranslationZ),
+ PROP_ID(VeSubPropChildrenTransformTranslationZ),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
Variant
__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
__decomposedChildrenTransform.SetTranslationFactors(point.x, point.y, translateZ);
- return SetChildrenTransformMatrixI(__decomposedChildrenTransform.GetTransformMatrix(), false);
+ return SetChildrenTransformDecomposedFactorI(PROP_STRING(VeSubPropChildrenTransformTranslationXY),
+ PROP_ID(VeSubPropChildrenTransformTranslationXY),
+ __decomposedChildrenTransform.GetTransformMatrix(),
+ v);
}
bool
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropClipToParent).ToBool();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropClipToParent)).ToBool();
#else
return false;
#endif
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
- return InvokeOnSetPropertyRequested(*pVePropClipToParent, Variant(clipToParent));
+ return InvokeOnSetPropertyRequested(*PROP_STRING(VePropClipToParent), Variant(clipToParent));
}
Variant
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropClipChildren, Variant(clipChildren));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropClipChildren), Variant(clipChildren));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CLIP_CHILDREN);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CLIP_CHILDREN, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CLIP_CHILDREN, __isClipChildren);
+
}
else if( IS_PRESENTATION(this))
{
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CLIP_CHILDREN);
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_CLIP_CHILDREN, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_CLIP_CHILDREN, __isClipChildren);
}
return E_SUCCESS;
// TBD: forward using property or direct return ?
#if 0
- return InvokeOnGetPropertyRequested(*pVePropSurfaceOpaque).ToBool();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropSurfaceOpaque)).ToBool();
#else
- return GetSharedData().isSurfaceOpaque;
+ return __isSurfaceOpaque;
#endif
}
}
else
{
- r = InvokeOnSetPropertyRequested(*pVePropSurfaceOpaque, Variant(isSurfaceOpaque));
+ r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropSurfaceOpaque), Variant(isSurfaceOpaque));
}
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
{
ClearLastResult();
- return Variant(GetSharedData().isSurfaceOpaque);
+ return Variant(__isSurfaceOpaque);
}
result
SysTryReturn(NID_UI_ANIM, v.GetType() == VARIANT_TYPE_BOOL, E_INVALID_ARG, E_INVALID_ARG, STR_ERROR_INVALID_VARIANT_ARG_TYPE);
bool isSurfaceOpaque = v.ToBool();
- if (isSurfaceOpaque == GetSharedData().isSurfaceOpaque)
+ if (isSurfaceOpaque == __isSurfaceOpaque)
return E_SUCCESS;
//karzia R01:
//InvalidateHierarchyProps(HIERARCHY_PROPERTY_CONTENTOPACITY, false, false); //don't have to apply the changed opacity to children.
InvalidateHierarchyProps(UPDATED_PROP_CONTENT_OPACITY, false, false); //don't have to apply the changed opacity to children.
- if (IS_RENDER_OBJECT(this))
- {
- GetSharedData().isSurfaceOpaque = isSurfaceOpaque;
+ __isSurfaceOpaque = isSurfaceOpaque;
-#ifndef LAZY_EVALUATION
- // not needed when no surface
- if (HAVE_SURFACE(this))
- GetSharedData().NodeReconfigure(*this);
-#endif
+ if(IS_MODEL(this) && IS_NEEDED_UPDATE_RENDER_OBJECT(this))
+ {
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_SURFACE_OPAQUE, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_SURFACE_OPAQUE, __isSurfaceOpaque);
}
- else
+ else if( IS_PRESENTATION(this))
{
- if(IS_NEEDED_UPDATE_RENDER_OBJECT(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_OPACITY);
- }
- else if( IS_PRESENTATION(this))
- {
- GetSharedData().toUpdatePropImmediately.Update(this,UPDATED_PROP_CONTENT_OPACITY);
- }
+ //GetSharedData().toUpdatePropertiesForRenderObject.Update(UPDATED_PROP_SURFACE_OPAQUE, this);
+ UPDATE_PROP_FOR_RENDER(UPDATED_PROP_SURFACE_OPAQUE, __isSurfaceOpaque);
}
return E_SUCCESS;
if (IS_MODEL(this) && _AnimationManager::GetInstance()
&& _AnimationManager::GetInstance()->IsImplicitAnimationEnabled() && child.__isImplicitAnimationEnabled)
{
- RemoveAnimation(*pVePropActionAttach);
+ RemoveAnimation(*PROP_STRING(VePropActionAttach));
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- VisualElementAnimation* pAnimation = child.InvokeCreateAnimationForProperty(*pVePropActionAttach);
+ VisualElementAnimation* pAnimation = child.InvokeCreateAnimationForProperty(*PROP_STRING(VePropActionAttach));
#else
VisualElementPropertyAnimation* pAnimation = new (std::nothrow) VisualElementPropertyAnimation();
SysTryReturn(NID_UI_ANIM, pAnimation != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
- pAnimation->SetPropertyName(*pVePropOpacity);
+ pAnimation->SetPropertyName(*PROP_STRING(VePropOpacity));
pAnimation->SetStartValue(Variant(0.0f));
#endif
if (pAnimation != null)
{
pAnimation->SetVisualElementAnimationStatusEventListener(null);
- (child.GetPublic())->AddAnimation(*pVePropActionAttach, *pAnimation);
+ (child.GetPublic())->AddAnimation(*PROP_STRING(VePropActionAttach), *pAnimation);
}
delete pAnimation;
}
{
Variant oldV = __pPresentation->InvokeOnGetPropertyRequested(property);
- if(CreateImplicitAnimationIfNeeded(property,value,oldV, NULL, true) == false)
+ if(CreateImplicitAnimationForCustomProperty(property,value,oldV) == false)
{
r = __pPresentation->InvokeOnSetPropertyRequested(property, value);
}
pRoot->_pVisualElementImpl->SetInternal(true);
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- VisualElementAnimation* pAnimation = child.InvokeCreateAnimationForProperty(*pVePropActionDetach);
+ VisualElementAnimation* pAnimation = child.InvokeCreateAnimationForProperty(*PROP_STRING(VePropActionDetach));
#else
VisualElementPropertyAnimation* pAnimation = new (std::nothrow) VisualElementPropertyAnimation();
- pAnimation->SetPropertyName(*pVePropOpacity);
+ pAnimation->SetPropertyName(*PROP_STRING(VePropOpacity));
pAnimation->SetEndValue(Variant(0.0f));
#endif
if (pAnimation)
{
pAnimation->SetVisualElementAnimationStatusEventListener(pListener);
- r = pRoot->AddAnimation(*pVePropActionDetach, *pAnimation);
+ r = pRoot->AddAnimation(*PROP_STRING(VePropActionDetach), *pAnimation);
if (r == E_SUCCESS)
{
if (!GetPublic())
ClearLastResult();
#if 0
- return InvokeOnGetPropertyRequested(*pVePropName).ToString();
+ return InvokeOnGetPropertyRequested(*PROP_STRING(VePropName)).ToString();
#else
return GetSharedData().name;
#endif
_VisualElementImpl::SetName(const Tizen::Base::String& name)
{
SysTryReturnResult(NID_UI_ANIM, IS_MODEL(this), E_INVALID_OPERATION, "VisualElement is not Model object.");
- result r = InvokeOnSetPropertyRequested(*pVePropName, Variant(name));
+ result r = InvokeOnSetPropertyRequested(*PROP_STRING(VePropName), Variant(name));
SysTryLog(NID_UI_ANIM, r == E_SUCCESS, "[%s] Propagating.", GetErrorMessage(r));
return r;
Variant
_VisualElementImpl::GetRenderObjectProperty(const Tizen::Base::String& property)
{
+#if 0
if(!IS_MODEL(this) || !__pRenderObject)
{
return Variant();
}
- if(GetSharedData().toUpdatePropImmediately.__updatedProperties == 0)
+ if(GetSharedData().toUpdatePropertiesForRenderObject.__updatedProperties == 0)
{
return __pRenderObject->GetProperty(property);
}
else
{
- return GetSharedData().toUpdatePropImmediately.GetProperty(property);
+ return GetSharedData().toUpdatePropertiesForRenderObject.GetProperty(property);
}
+#endif
+ return Variant();
}
}
if (//NEED_SURFACE(&target) &&
- !GetSharedData().isSurfaceOpaque &&
+ !__isSurfaceOpaque &&
_FloatHardCompare(GetOpacityFromRoot(), 0.0f))
{
return HITTEST_NOWHERE;
};
#else
static String* const* supportedProperties[] = {
- &pVePropBounds,
- &pVePropContentOpacity,
- &pVePropOpacity,
- &pVePropTransform,
- &pVePropChildrenTransform,
- &pVePropZPosition, // TBD:
- &pVeSubPropBoundsPosition,
- &pVeSubPropBoundsSize,
-
- &pVePropContentBounds,
+ &PROP_STRING(VePropBounds),
+ &PROP_STRING(VePropContentOpacity),
+ &PROP_STRING(VePropOpacity),
+ &PROP_STRING(VePropTransform),
+ &PROP_STRING(VePropChildrenTransform),
+ &PROP_STRING(VePropZPosition), // TBD:
+ &PROP_STRING(VeSubPropBoundsPosition),
+ &PROP_STRING(VeSubPropBoundsSize),
+
+ &PROP_STRING(VePropContentBounds),
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- &pVePropActionDetach,
- &pVePropActionAttach,
+ &PROP_STRING(VePropActionDetach),
+ &PROP_STRING(VePropActionAttach),
#endif
- &pVeSubPropTransformRotationX,
- &pVeSubPropTransformRotationY,
- &pVeSubPropTransformRotationZ,
- &pVeSubPropTransformRotationXY,
- &pVeSubPropTransformScaleX,
- &pVeSubPropTransformScaleY,
- &pVeSubPropTransformScaleZ,
- &pVeSubPropTransformScaleXY,
- &pVeSubPropTransformTranslationX,
- &pVeSubPropTransformTranslationY,
- &pVeSubPropTransformTranslationZ,
- &pVeSubPropTransformTranslationXY,
- &pVeSubPropChildrenTransformRotationX,
- &pVeSubPropChildrenTransformRotationY,
- &pVeSubPropChildrenTransformRotationZ,
- &pVeSubPropChildrenTransformRotationXY,
- &pVeSubPropChildrenTransformScaleX,
- &pVeSubPropChildrenTransformScaleY,
- &pVeSubPropChildrenTransformScaleZ,
- &pVeSubPropChildrenTransformScaleXY,
- &pVeSubPropChildrenTransformTranslationX,
- &pVeSubPropChildrenTransformTranslationY,
- &pVeSubPropChildrenTransformTranslationZ,
- &pVeSubPropChildrenTransformTranslationXY
+ &PROP_STRING(VeSubPropTransformRotationX),
+ &PROP_STRING(VeSubPropTransformRotationY),
+ &PROP_STRING(VeSubPropTransformRotationZ),
+ &PROP_STRING(VeSubPropTransformRotationXY),
+ &PROP_STRING(VeSubPropTransformScaleX),
+ &PROP_STRING(VeSubPropTransformScaleY),
+ &PROP_STRING(VeSubPropTransformScaleZ),
+ &PROP_STRING(VeSubPropTransformScaleXY),
+ &PROP_STRING(VeSubPropTransformTranslationX),
+ &PROP_STRING(VeSubPropTransformTranslationY),
+ &PROP_STRING(VeSubPropTransformTranslationZ),
+ &PROP_STRING(VeSubPropTransformTranslationXY),
+ &PROP_STRING(VeSubPropChildrenTransformRotationX),
+ &PROP_STRING(VeSubPropChildrenTransformRotationY),
+ &PROP_STRING(VeSubPropChildrenTransformRotationZ),
+ &PROP_STRING(VeSubPropChildrenTransformRotationXY),
+ &PROP_STRING(VeSubPropChildrenTransformScaleX),
+ &PROP_STRING(VeSubPropChildrenTransformScaleY),
+ &PROP_STRING(VeSubPropChildrenTransformScaleZ),
+ &PROP_STRING(VeSubPropChildrenTransformScaleXY),
+ &PROP_STRING(VeSubPropChildrenTransformTranslationX),
+ &PROP_STRING(VeSubPropChildrenTransformTranslationY),
+ &PROP_STRING(VeSubPropChildrenTransformTranslationZ),
+ &PROP_STRING(VeSubPropChildrenTransformTranslationXY)
};
#endif
SysTryReturn(NID_UI_ANIM, pAnimation != null, null, E_OUT_OF_MEMORY, "[E_OUT_OF_MEMORY] Memory allocation failed.");
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
- if (unlikely(property == *pVePropActionAttach))
+ if (unlikely(property == *PROP_STRING(VePropActionAttach)))
{
- pAnimation->SetPropertyName(*pVePropOpacity);
+ pAnimation->SetPropertyName(*PROP_STRING(VePropOpacity));
pAnimation->SetStartValue(Variant(0.0f));
}
- else if (unlikely(property == *pVePropActionDetach))
+ else if (unlikely(property == *PROP_STRING(VePropActionDetach)))
{
- pAnimation->SetPropertyName(*pVePropOpacity);
+ pAnimation->SetPropertyName(*PROP_STRING(VePropOpacity));
pAnimation->SetEndValue(Variant(0.0f));
}
else
__MergeParentsBV();
}
}
-
+ SetGeometryChanged();
return E_SUCCESS;
}
_VisualElementSharedData::UpdatePropertiesForRender::UpdatePropertiesForRender(_VisualElementImpl* pSource)
: __pSource(pSource)
, __updatedProperties(0)
- , __implicitAnimation(0)
, __bounds()
, __renderOperation(false)
, __contentBounds()
,__decomposedChildrenTransform()
,__zPosition(0)
,__isClipChildren(false)
- ,isSurfaceOpaque(false)
+ ,__isSurfaceOpaque(false)
{
-
+ memset(&subPropFlags, 0x00, sizeof(subPropFlags));
}
_VisualElementSharedData::UpdatePropertiesForRender::~UpdatePropertiesForRender()
{
__updatedProperties = 0;
-__implicitAnimation = 0;
+
}
void
_VisualElementSharedData::UpdatePropertiesForRender::Clear()
{
__updatedProperties = 0;
- __implicitAnimation = 0;
+ memset(&subPropFlags, 0x00, sizeof(subPropFlags));
}
-Variant
-_VisualElementSharedData::UpdatePropertiesForRender::GetProperty(const Base::String& name) const
-{
-
- // need optimizing
- if(name.CompareTo(*pVePropBounds) == 0
- && __updatedProperties & _VisualElementImpl::UPDATED_PROP_BOUNDS)
- {
- return Variant(__bounds);
- }
- else if(name.CompareTo(*pVeSubPropBoundsPosition) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_BOUNDS)
- {
- return Variant(__bounds.GetTopLeft());
- }
- else if(name.CompareTo(*pVeSubPropBoundsSize) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_BOUNDS)
- {
- return Variant(FloatDimension(__bounds.width, __bounds.height));
- }
- else if(name.CompareTo(*pVePropRenderOperation) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_RENDER_OPERATION)
- {
- return Variant(static_cast< int >(__renderOperation));
- }
- else if(name.CompareTo(*pVePropContentBounds) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CONTENT_BOUNDS)
- {
- return Variant(__contentBounds);
- }
- else if(name.CompareTo(*pVePropContentOpacity) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CONTENT_OPACITY)
- {
- return Variant(__contentOpacity);
- }
- else if(name.CompareTo(*pVePropOpacity) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_OPACITY)
- {
- return Variant(__opacity);
- }
- else if(name.CompareTo(*pVePropShowState) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_SHOW_STATE)
- {
- return Variant((__showOpacity!=0));
+void
+_VisualElementSharedData::UpdatePropertiesForRender::Update(PropertyFlags UpdatedProperty)
+{
+ __updatedProperties |= UpdatedProperty;
+}
- }
- else if(name.CompareTo(*pVePropAnchor) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_ANCHOR)
- {
- return Variant(__anchor);
- }
- else if(name.CompareTo(*pVePropAnchorZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_ANCHOR_Z)
+void
+_VisualElementSharedData::UpdatePropertiesForRender::UpdateSubProperty(int propertyId, _VisualElementImpl* pSource)
+{
+ switch(propertyId)
{
- return Variant(__anchorZ);
- }
- else if(name.CompareTo(*pVePropTransform) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropBoundsSize):
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_BOUNDS;
+ subPropFlags.VeSubPropBoundsSize = 1;
+ __bounds.SetSize(FloatDimension(pSource->__bounds.width, pSource->__bounds.height));
+ break;
+ case PROP_ID(VeSubPropBoundsPosition):
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_BOUNDS;
+ subPropFlags.VeSubPropBoundsPosition = 1;
+ __bounds.SetPosition(FloatPoint(pSource->__bounds.x, pSource->__bounds.y));
+ break;
+ case PROP_ID(VeSubPropTransformRotationX):
{
- return Variant(__transform);
- }
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationX = 1;
- else if(name.CompareTo(*pVeSubPropTransformRotationX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
- {
float angleX = 0.0f;
float angleY = 0.0f;
float angleZ = 0.0f;
- __decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(angleX);
+ pSource->__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedTransform.__rotX = angleX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformRotationY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
- {
- float angleX = 0.0f;
- float angleY = 0.0f;
- float angleZ = 0.0f;
- __decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
- return Variant(angleY);
- }
- else if(name.CompareTo(*pVeSubPropTransformRotationZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationY = 1;
+
float angleX = 0.0f;
float angleY = 0.0f;
float angleZ = 0.0f;
- __decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(angleZ);
+ pSource->__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedTransform.__rotY = angleY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformRotationAnchorXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
- {
- float anchorX = 0.0f;
- float anchorY = 0.0f;
- float anchorZ = 0.0f;
- __decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
-
- return Variant(FloatPoint(anchorX, anchorY));
- }
- else if(name.CompareTo(*pVeSubPropTransformRotationXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationZ = 1;
float angleX = 0.0f;
float angleY = 0.0f;
float angleZ = 0.0f;
- __decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(FloatPoint(angleX, angleY));
+ pSource->__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedTransform.__rotZ = angleZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformScaleX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleX):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleX = 1;
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(scaleX);
+ pSource->__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedTransform.__scaleX = scaleX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformScaleY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleY = 1;
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(scaleY);
+ pSource->__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedTransform.__scaleY = scaleY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformScaleZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleZ = 1;
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(scaleZ);
- }
- else if(name.CompareTo(*pVeSubPropTransformScaleAnchorXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
- {
- float anchorX = 0.0f;
- float anchorY = 0.0f;
- float anchorZ = 0.0f;
- __decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
-
- return Variant(FloatPoint(anchorX, anchorY));
+ pSource->__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedTransform.__scaleZ = scaleZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformTranslationX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformTranslationX):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformTranslationX = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateX);
- }
- else if(name.CompareTo(*pVeSubPropTransformScaleXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
- {
- float scaleX = 1.0f;
- float scaleY = 1.0f;
- float scaleZ = 1.0f;
- __decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(FloatPoint(scaleX, scaleY));
+ pSource->__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedTransform.__translationX = translateX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformTranslationY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformTranslationY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformTranslationY = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateY);
+ pSource->__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedTransform.__translationY = translateY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropTransformTranslationZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformTranslationZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformTranslationZ = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateZ);
+ pSource->__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedTransform.__translationZ = translateZ;
+ break;
}
-
- else if(name.CompareTo(*pVeSubPropTransformTranslationXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationAnchorX):
{
- float translateX = 0.0f;
- float translateY = 0.0f;
- float translateZ = 0.0f;
- __decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(FloatPoint(translateX, translateY));
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationAnchorX = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__rotAnchorX = anchorX;
+ break;
}
- else if(name.CompareTo(*pVePropChildrenTransform) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationAnchorY):
{
- return Variant(__childrenTransform);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationAnchorY = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__rotAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformRotationX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationAnchorZ):
{
- float angleX = 0.0f;
- float angleY = 0.0f;
- float angleZ = 0.0f;
- __decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(angleX);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationAnchorZ = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__rotAnchorZ = anchorZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformRotationY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleAnchorX):
{
- float angleX = 0.0f;
- float angleY = 0.0f;
- float angleZ = 0.0f;
- __decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(angleY);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleAnchorX = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__scaleAnchorX = anchorX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformRotationZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleAnchorY):
{
- float angleX = 0.0f;
- float angleY = 0.0f;
- float angleZ = 0.0f;
- __decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
-
- return Variant(angleZ);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleAnchorY = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__scaleAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformRotationAnchorXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleAnchorZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleAnchorZ = 1;
float anchorX = 0.0f;
float anchorY = 0.0f;
float anchorZ = 0.0f;
- __decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
-
- return Variant(FloatPoint(anchorX, anchorY));
+ pSource->__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__scaleAnchorZ = anchorZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformRotationXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationXY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationX = 1;
+ subPropFlags.VeSubPropTransformRotationY = 1;
+
float angleX = 0.0f;
float angleY = 0.0f;
float angleZ = 0.0f;
- __decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+ pSource->__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedTransform.__rotX = angleX;
+ __decomposedTransform.__rotY = angleY;
- return Variant(FloatPoint(angleX, angleY));
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleXY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleX = 1;
+ subPropFlags.VeSubPropTransformScaleY = 1;
+
+
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
- return Variant(scaleX);
+ pSource->__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedTransform.__scaleX = scaleX;
+ __decomposedTransform.__scaleY = scaleY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformTranslationXY):
{
- float scaleX = 1.0f;
- float scaleY = 1.0f;
- float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformTranslationX = 1;
+ subPropFlags.VeSubPropTransformTranslationY = 1;
+
+ float translateX = 0.0f;
+ float translateY = 0.0f;
+ float translateZ = 0.0f;
- return Variant(scaleY);
+ pSource->__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedTransform.__translationX = translateX;
+ __decomposedTransform.__translationY = translateY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformRotationAnchorXY):
{
- float scaleX = 1.0f;
- float scaleY = 1.0f;
- float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformRotationAnchorX = 1;
+ subPropFlags.VeSubPropTransformRotationAnchorY = 1;
- return Variant(scaleZ);
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__rotAnchorX = anchorX;
+ __decomposedTransform.__rotAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropTransformScaleAnchorXY):
{
- float scaleX = 1.0f;
- float scaleY = 1.0f;
- float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_TRANSFORM;
+ subPropFlags.VeSubPropTransformScaleAnchorX = 1;
+ subPropFlags.VeSubPropTransformScaleAnchorY = 1;
- return Variant(scaleX);
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedTransform.__scaleAnchorX = anchorX;
+ __decomposedTransform.__scaleAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ // childrenTransform
+ case PROP_ID(VeSubPropChildrenTransformRotationX):
{
- float scaleX = 1.0f;
- float scaleY = 1.0f;
- float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationX = 1;
+
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedChildrenTransform.__rotX = angleX;
+ break;
+ }
+
+ case PROP_ID(VeSubPropChildrenTransformRotationY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationY = 1;
+
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedChildrenTransform.__rotY = angleY;
+ break;
+ }
- return Variant(scaleY);
+ case PROP_ID(VeSubPropChildrenTransformRotationZ):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationZ = 1;
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedChildrenTransform.__rotZ = angleZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformScaleX):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleX = 1;
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(scaleZ);
+ pSource->__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedChildrenTransform.__scaleX = scaleX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleAnchorXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformScaleY):
{
- float anchorX = 0.0f;
- float anchorY = 0.0f;
- float anchorZ = 0.0f;
- __decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
-
- return Variant(FloatPoint(anchorX, anchorY));
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleY = 1;
+ float scaleX = 1.0f;
+ float scaleY = 1.0f;
+ float scaleZ = 1.0f;
+ pSource->__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedChildrenTransform.__scaleY = scaleY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformScaleXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformScaleZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleZ = 1;
float scaleX = 1.0f;
float scaleY = 1.0f;
float scaleZ = 1.0f;
- __decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
-
- return Variant(FloatPoint(scaleX, scaleY));
-
+ pSource->__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedChildrenTransform.__scaleZ = scaleZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformTranslationX) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformTranslationX):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformTranslationX = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateX);
+ pSource->__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedChildrenTransform.__translationX = translateX;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformTranslationY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformTranslationY):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformTranslationY = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateY);
+ pSource->__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedChildrenTransform.__translationY = translateY;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformTranslationZ) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformTranslationZ):
{
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformTranslationZ = 1;
float translateX = 0.0f;
float translateY = 0.0f;
float translateZ = 0.0f;
- __decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(translateZ);
+ pSource->__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedChildrenTransform.__translationZ = translateZ;
+ break;
}
- else if(name.CompareTo(*pVeSubPropChildrenTransformTranslationXY) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ case PROP_ID(VeSubPropChildrenTransformRotationAnchorX):
{
- float translateX = 0.0f;
- float translateY = 0.0f;
- float translateZ = 0.0f;
- __decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
-
- return Variant(FloatPoint(translateX, translateY));
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationAnchorX = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__rotAnchorX = anchorX;
+ break;
+ }
+ case PROP_ID(VeSubPropChildrenTransformRotationAnchorY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationAnchorY = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__rotAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVePropZPosition) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_Z_POSITION)
+ case PROP_ID(VeSubPropChildrenTransformRotationAnchorZ):
{
- return Variant(__zPosition);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationAnchorZ = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__rotAnchorZ = anchorZ;
+ break;
}
- else if(name.CompareTo(*pVePropClipChildren) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_CLIP_CHILDREN)
+ case PROP_ID(VeSubPropChildrenTransformScaleAnchorX):
{
- return Variant(__isClipChildren);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleAnchorX = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__scaleAnchorX = anchorX;
+ break;
}
- else if(name.CompareTo(*pVePropSurfaceOpaque) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_SURFACE_OPAQUE)
+ case PROP_ID(VeSubPropChildrenTransformScaleAnchorY):
{
- // need to check
- return Variant(isSurfaceOpaque);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleAnchorY = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__scaleAnchorY = anchorY;
+ break;
}
- else if(name.CompareTo(*pVePrivPropShowOpacity) == 0
- &&__updatedProperties & _VisualElementImpl::UPDATED_PROP_SHOW_STATE)
+ case PROP_ID(VeSubPropChildrenTransformScaleAnchorZ):
{
- return Variant(__showOpacity);
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleAnchorZ = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__scaleAnchorZ = anchorZ;
+ break;
}
+ case PROP_ID(VeSubPropChildrenTransformRotationXY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationX = 1;
+ subPropFlags.VeSubPropChildrenTransformRotationY = 1;
- return __pSource->__pRenderObject->GetProperty(name);
-}
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+ __decomposedChildrenTransform.__rotX = angleX;
+ __decomposedChildrenTransform.__rotY = angleY;
+ break;
+ }
+ case PROP_ID(VeSubPropChildrenTransformScaleXY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleX = 1;
+ subPropFlags.VeSubPropChildrenTransformScaleY = 1;
-void
-_VisualElementSharedData::UpdatePropertiesForRender::Update(_VisualElementImpl* pSource, PropertyFlags updateFlags)
-{
- _AnimationManager* pAnimationManager = _AnimationManager::GetInstance();
- if(!pSource || !pAnimationManager)
- return;
- bool isPresentation = false;
+ float scaleX = 1.0f;
+ float scaleY = 1.0f;
+ float scaleZ = 1.0f;
- if(pSource->__pPresentation == pSource)
- {
- isPresentation = true;
+ pSource->__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ __decomposedChildrenTransform.__scaleX = scaleX;
+ __decomposedChildrenTransform.__scaleY = scaleY;
+ break;
}
+ case PROP_ID(VeSubPropChildrenTransformTranslationXY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformTranslationX = 1;
+ subPropFlags.VeSubPropChildrenTransformTranslationY = 1;
- bool bImplicitAnimation = false;
+ float translateX = 0.0f;
+ float translateY = 0.0f;
+ float translateZ = 0.0f;
- if(!isPresentation && pSource->__isImplicitAnimationEnabled && IS_ATTACHED(pSource) && pAnimationManager->IsImplicitAnimationEnabled())
- {
- bImplicitAnimation = true;
+ pSource->__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ __decomposedChildrenTransform.__translationX = translateX;
+ __decomposedChildrenTransform.__translationY = translateY;
+ break;
}
-
- switch(updateFlags)
+ case PROP_ID(VeSubPropChildrenTransformRotationAnchorXY):
{
- case _VisualElementImpl::UPDATED_PROP_BOUNDS:
- {
- static const String* subProperties[] = { pVeSubPropBoundsSize, pVeSubPropBoundsPosition, NULL };
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropBounds, pSource->__bounds, subProperties, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformRotationAnchorX = 1;
+ subPropFlags.VeSubPropChildrenTransformRotationAnchorY = 1;
- __bounds = pSource->__bounds;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__rotAnchorX = anchorX;
+ __decomposedChildrenTransform.__rotAnchorY = anchorY;
+ break;
}
+ case PROP_ID(VeSubPropChildrenTransformScaleAnchorXY):
+ {
+ __updatedProperties |= _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM;
+ subPropFlags.VeSubPropChildrenTransformScaleAnchorX = 1;
+ subPropFlags.VeSubPropChildrenTransformScaleAnchorY = 1;
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pSource->__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ __decomposedChildrenTransform.__scaleAnchorX = anchorX;
+ __decomposedChildrenTransform.__scaleAnchorY = anchorY;
break;
- case _VisualElementImpl::UPDATED_PROP_Z_POSITION:
+ }
+ default:
+ PRINT("error property(%d)\n",propertyId);
+ }
+}
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropZPosition, pSource->__zPosition, NULL, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
- __zPosition = pSource->__zPosition;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
- break;
-
- case _VisualElementImpl::UPDATED_PROP_ANCHOR:
+void
+_VisualElementSharedData::UpdatePropertiesForRender::Apply(void)
+{
+ if(__pSource == null || __pSource->__pRenderObject == null)
+ {
+ return;
+ }
+ _VisualElementImpl* pRenderObject = __pSource->__pRenderObject;
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropAnchor, pSource->__anchor, NULL, bImplicitAnimation ) == false)
+ if (__updatedProperties != 0)
{
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_BOUNDS)
+ {
- __anchor = pSource->__anchor;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
- break;
- case _VisualElementImpl::UPDATED_PROP_ANCHOR_Z:
+ if(subPropFlags.VeSubPropBoundsPosition && subPropFlags.VeSubPropBoundsSize)
+ {
+ pRenderObject->SetBoundsProperty(__bounds);
+ }
+ else if(subPropFlags.VeSubPropBoundsPosition)
+ {
+ pRenderObject->SetBoundsPositionSubProperty(Variant(FloatPoint(__bounds.x, __bounds.y)));
+ }
+ else if(subPropFlags.VeSubPropBoundsSize)
+ {
+ pRenderObject->SetBoundsSizeSubProperty(Variant(FloatDimension(__bounds.width, __bounds.width)));
+ }
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_RENDER_OPERATION)
+ {
+ pRenderObject->SetRenderOperationProperty(__renderOperation);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_CONTENT_BOUNDS)
+ {
+ pRenderObject->SetContentBoundsProperty(__contentBounds);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_CONTENT_OPACITY)
+ {
+ pRenderObject->SetContentOpacityProperty(__contentOpacity);
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropAnchorZ, pSource->__anchorZ, NULL, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_SHOW_STATE)
+ {
+ //pRenderObject->SetShowStateProperty(SHOWOPACITY_VISIBLE(__showOpacity));
+ pRenderObject->SetShowOpacityI(__showOpacity);
+ }
- __anchorZ = pSource->__anchorZ;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
- break;
- case _VisualElementImpl::UPDATED_PROP_TRANSFORM:
- {
- static const String* subProperties[] = {
- pVeSubPropTransformRotationX,
- pVeSubPropTransformRotationY,
- pVeSubPropTransformRotationZ,
- pVeSubPropTransformScaleX,
- pVeSubPropTransformScaleY,
- pVeSubPropTransformScaleZ,
- pVeSubPropTransformTranslationX,
- pVeSubPropTransformTranslationY,
- pVeSubPropTransformTranslationZ,
- pVeSubPropTransformRotationAnchorX,
- pVeSubPropTransformRotationAnchorY,
- pVeSubPropTransformRotationAnchorZ,
- pVeSubPropTransformScaleAnchorX,
- pVeSubPropTransformScaleAnchorY,
- pVeSubPropTransformScaleAnchorZ,
- NULL};
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropTransform, pSource->__transform, subProperties, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_OPACITY)
+ {
+ pRenderObject->SetOpacityProperty(__opacity);
+ }
- __transform = pSource->__transform;
- __decomposedTransform = pSource->__decomposedTransform;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
- }
- break;
- case _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM:
- {
- static const String* subProperties[] = {
- pVeSubPropChildrenTransformRotationX,
- pVeSubPropChildrenTransformRotationY,
- pVeSubPropChildrenTransformRotationZ,
- pVeSubPropChildrenTransformScaleX,
- pVeSubPropChildrenTransformScaleY,
- pVeSubPropChildrenTransformScaleZ,
- pVeSubPropChildrenTransformTranslationX,
- pVeSubPropChildrenTransformTranslationY,
- pVeSubPropChildrenTransformTranslationZ,
- pVeSubPropChildrenTransformRotationAnchorX,
- pVeSubPropChildrenTransformRotationAnchorY,
- pVeSubPropChildrenTransformRotationAnchorZ,
- pVeSubPropChildrenTransformScaleAnchorX,
- pVeSubPropChildrenTransformScaleAnchorY,
- pVeSubPropChildrenTransformScaleAnchorZ,
- NULL};
-
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropChildrenTransform, pSource->__childrenTransform, subProperties, bImplicitAnimation ) == false)
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_ANCHOR)
+ {
+ pRenderObject->SetAnchorProperty(__anchor);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_ANCHOR_Z)
+ {
+ pRenderObject->SetAnchorZProperty(__anchorZ);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_TRANSFORM)
{
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ if(subPropFlags.VePropTransform)
+ {
+ pRenderObject->SetTransformMatrixI(__transform, true);
+ }
+ else
+ {
+ if(subPropFlags.VeSubPropTransformRotationX || subPropFlags.VeSubPropTransformRotationY || subPropFlags.VeSubPropTransformRotationZ)
+ {
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pRenderObject->__decomposedTransform.GetEulerAngles(angleX, angleY, angleZ);
+
+ if(subPropFlags.VeSubPropTransformRotationX)
+ {
+ angleX = __decomposedTransform.__rotX;
+ }
+ if(subPropFlags.VeSubPropTransformRotationY)
+ {
+ angleY = __decomposedTransform.__rotY;
+ }
+ if(subPropFlags.VeSubPropTransformRotationZ)
+ {
+ angleZ = __decomposedTransform.__rotZ;
+ }
+ pRenderObject->__decomposedTransform.UpdateRotationFromEulerAngles(angleX,angleY,angleZ);
+
+ }
+
+ if(subPropFlags.VeSubPropTransformScaleX || subPropFlags.VeSubPropTransformScaleY ||subPropFlags.VeSubPropTransformScaleZ)
+ {
+ float scaleX = 0.0f;
+ float scaleY = 0.0f;
+ float scaleZ = 0.0f;
+ pRenderObject->__decomposedTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ if(subPropFlags.VeSubPropTransformScaleX)
+ {
+ scaleX = __decomposedTransform.__scaleX;
+ }
+ if(subPropFlags.VeSubPropTransformScaleY)
+ {
+ scaleY = __decomposedTransform.__scaleY;
+ }
+ if(subPropFlags.VeSubPropTransformScaleZ)
+ {
+ scaleZ = __decomposedTransform.__scaleZ;
+ }
+ pRenderObject->__decomposedTransform.SetScaleFactors(scaleX, scaleY, scaleZ);
+ }
+ if(subPropFlags.VeSubPropTransformTranslationX || subPropFlags.VeSubPropTransformTranslationY || subPropFlags.VeSubPropTransformTranslationZ)
+ {
+ float translateX = 0.0f;
+ float translateY = 0.0f;
+ float translateZ = 0.0f;
+ pRenderObject->__decomposedTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ if(subPropFlags.VeSubPropTransformTranslationX)
+ {
+ translateX = __decomposedTransform.__translationX;
+ }
+ if(subPropFlags.VeSubPropTransformTranslationY)
+ {
+ translateY = __decomposedTransform.__translationY;
+ }
+ if(subPropFlags.VeSubPropTransformTranslationZ)
+ {
+ translateZ = __decomposedTransform.__translationZ;
+ }
+ pRenderObject->__decomposedTransform.SetTranslationFactors(translateX, translateY, translateZ);
+ }
+
+ if(subPropFlags.VeSubPropTransformRotationAnchorX || subPropFlags.VeSubPropTransformRotationAnchorY || subPropFlags.VeSubPropTransformRotationAnchorZ)
+ {
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pRenderObject->__decomposedTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ if(subPropFlags.VeSubPropTransformRotationAnchorX)
+ {
+ anchorX = __decomposedTransform.__rotAnchorX;
+ }
+ if(subPropFlags.VeSubPropTransformRotationAnchorY)
+ {
+ anchorY = __decomposedTransform.__rotAnchorY;
+ }
+ if(subPropFlags.VeSubPropTransformRotationAnchorZ)
+ {
+ anchorZ = __decomposedTransform.__rotAnchorZ;
+ }
+ pRenderObject->__decomposedTransform.SetRotationAnchor(anchorX, anchorY, anchorZ);
+ }
+ if(subPropFlags.VeSubPropTransformScaleAnchorX || subPropFlags.VeSubPropTransformScaleAnchorY || subPropFlags.VeSubPropTransformScaleAnchorZ)
+ {
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pRenderObject->__decomposedTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ if(subPropFlags.VeSubPropTransformScaleAnchorX)
+ {
+ anchorX = __decomposedTransform.__scaleAnchorX;
+ }
+ if(subPropFlags.VeSubPropTransformScaleAnchorY)
+ {
+ anchorY = __decomposedTransform.__scaleAnchorY;
+ }
+ if(subPropFlags.VeSubPropTransformScaleAnchorZ)
+ {
+ anchorZ = __decomposedTransform.__scaleAnchorZ;
+ }
+ pRenderObject->__decomposedTransform.SetScaleAnchor(anchorX, anchorY, anchorZ);
+ }
+ pRenderObject->SetTransformMatrixI(pRenderObject->__decomposedTransform.GetTransformMatrix(), false);
+ }
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM)
+ {
+ if(subPropFlags.VePropChildrenTransform)
+ {
+ pRenderObject->SetChildrenTransformMatrixI(__childrenTransform, true);
+ }
+ else
+ {
+ if(subPropFlags.VeSubPropChildrenTransformRotationX || subPropFlags.VeSubPropChildrenTransformRotationY || subPropFlags.VeSubPropChildrenTransformRotationZ)
+ {
+ float angleX = 0.0f;
+ float angleY = 0.0f;
+ float angleZ = 0.0f;
+ pRenderObject->__decomposedChildrenTransform.GetEulerAngles(angleX, angleY, angleZ);
+
+ if(subPropFlags.VeSubPropChildrenTransformRotationX)
+ {
+ angleX = __decomposedChildrenTransform.__rotX;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformRotationY)
+ {
+ angleY = __decomposedChildrenTransform.__rotY;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformRotationZ)
+ {
+ angleZ = __decomposedChildrenTransform.__rotZ;
+ }
+ pRenderObject->__decomposedChildrenTransform.UpdateRotationFromEulerAngles(angleX,angleY,angleZ);
+
+ }
+
+ if(subPropFlags.VeSubPropChildrenTransformScaleX || subPropFlags.VeSubPropChildrenTransformScaleY ||subPropFlags.VeSubPropChildrenTransformScaleZ)
+ {
+ float scaleX = 0.0f;
+ float scaleY = 0.0f;
+ float scaleZ = 0.0f;
+ pRenderObject->__decomposedChildrenTransform.GetScaleFactors(scaleX, scaleY, scaleZ);
+ if(subPropFlags.VeSubPropChildrenTransformScaleX)
+ {
+ scaleX = __decomposedChildrenTransform.__scaleX;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformScaleY)
+ {
+ scaleY = __decomposedChildrenTransform.__scaleY;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformScaleZ)
+ {
+ scaleZ = __decomposedChildrenTransform.__scaleZ;
+ }
+ pRenderObject->__decomposedChildrenTransform.SetScaleFactors(scaleX, scaleY, scaleZ);
+ }
+ if(subPropFlags.VeSubPropChildrenTransformTranslationX || subPropFlags.VeSubPropChildrenTransformTranslationY || subPropFlags.VeSubPropChildrenTransformTranslationZ)
+ {
+ float translateX = 0.0f;
+ float translateY = 0.0f;
+ float translateZ = 0.0f;
+ pRenderObject->__decomposedChildrenTransform.GetTranslationFactors(translateX, translateY, translateZ);
+ if(subPropFlags.VeSubPropChildrenTransformTranslationX)
+ {
+ translateX = __decomposedChildrenTransform.__translationX;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformTranslationY)
+ {
+ translateY = __decomposedChildrenTransform.__translationY;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformTranslationZ)
+ {
+ translateZ = __decomposedChildrenTransform.__translationZ;
+ }
+ pRenderObject->__decomposedChildrenTransform.SetTranslationFactors(translateX, translateY, translateZ);
+ }
+
+ if(subPropFlags.VeSubPropChildrenTransformRotationAnchorX || subPropFlags.VeSubPropChildrenTransformRotationAnchorY || subPropFlags.VeSubPropChildrenTransformRotationAnchorZ)
+ {
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pRenderObject->__decomposedChildrenTransform.GetRotationAnchor(anchorX, anchorY, anchorZ);
+ if(subPropFlags.VeSubPropChildrenTransformRotationAnchorX)
+ {
+ anchorX = __decomposedChildrenTransform.__rotAnchorX;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformRotationAnchorY)
+ {
+ anchorY = __decomposedChildrenTransform.__rotAnchorY;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformRotationAnchorZ)
+ {
+ anchorZ = __decomposedChildrenTransform.__rotAnchorZ;
+ }
+ pRenderObject->__decomposedChildrenTransform.SetRotationAnchor(anchorX, anchorY, anchorZ);
+ }
+ if(subPropFlags.VeSubPropChildrenTransformScaleAnchorX || subPropFlags.VeSubPropChildrenTransformScaleAnchorY || subPropFlags.VeSubPropChildrenTransformScaleAnchorZ)
+ {
+ float anchorX = 0.0f;
+ float anchorY = 0.0f;
+ float anchorZ = 0.0f;
+ pRenderObject->__decomposedChildrenTransform.GetScaleAnchor(anchorX, anchorY, anchorZ);
+ if(subPropFlags.VeSubPropChildrenTransformScaleAnchorX)
+ {
+ anchorX = __decomposedChildrenTransform.__scaleAnchorX;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformScaleAnchorY)
+ {
+ anchorY = __decomposedChildrenTransform.__scaleAnchorY;
+ }
+ if(subPropFlags.VeSubPropChildrenTransformScaleAnchorZ)
+ {
+ anchorZ = __decomposedChildrenTransform.__scaleAnchorZ;
+ }
+ pRenderObject->__decomposedChildrenTransform.SetScaleAnchor(anchorX, anchorY, anchorZ);
+ }
+ pRenderObject->SetChildrenTransformMatrixI(pRenderObject->__decomposedChildrenTransform.GetTransformMatrix(), false);
+ }
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_Z_POSITION)
+ {
+ pRenderObject->SetZPositionProperty(__zPosition);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_CLIP_CHILDREN)
+ {
+ pRenderObject->SetClipChildrenProperty(__isClipChildren);
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_SURFACE_OPAQUE)
+ {
+ pRenderObject->SetSurfaceOpaqueProperty(__isSurfaceOpaque);
+ //TODO: isSurfaceOpaque should be changed into VE's member variable.
+ }
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_SURFACE)
+ {
+ pRenderObject->SetSurfaceChanged();
+ }
- __childrenTransform = pSource->__childrenTransform;
- __decomposedChildrenTransform = pSource->__decomposedChildrenTransform;
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_GEOMETRY)
+ {
+ pRenderObject->SetGeometryChanged();
}
- else
+
+ if(__updatedProperties & _VisualElementImpl::UPDATED_PROP_CHANGE_ZORDER)
{
- __implicitAnimation |= updateFlags;
+#if 0
+ if(__pParent)
+ {
+ _VisualElementImpl* pRef = null;
+ int count = __pParent->__children.GetCount();
+ for(int i=0 ; i < count; i++)
+ {
+
+ if(__pParent->__children.GetChildAt(i) == this)
+ {
+ if(i < count - 2)
+ {
+ pRef = __pParent->__children.GetChildAt(i+1);
+ }
+ break;
+ }
+ }
+
+ if(pRef && pRef->pRenderObject) // next 가 있음.
+ {
+ __pParent->__pRenderObject->ChangeZOrder(*__pRenderObject, pRef->__pRenderObject, false, pRef->_zOrderGroup);
+ }
+ else
+ {
+ __pParent->__pRenderObject->ChangeZOrder(*__pRenderObject, null, false, _zOrderGroup);
+ }
+ }
+ // else
+ // {
+ // __pRenderObject->RemoveFromParent();
+ // }
+#endif
+
}
}
+
+ // __updatedProperties = 0;
+ Clear();
+}
+
+
+void
+_VisualElementSharedData::UpdatePropertiesForRender::Update(PropertyFlags updateFlags, _VisualElementImpl* pSource)
+{
+// _VisualElementImpl* pSource = (pPresentation == null)?__pSource:pPresentation;
+
+// static unsigned int VePrivPropShowOpacity;
+
+ __updatedProperties |= updateFlags;
+
+ switch(updateFlags)
+ {
+ case _VisualElementImpl::UPDATED_PROP_BOUNDS:
+ __bounds = pSource->__bounds;
+ subPropFlags.VeSubPropBoundsPosition = 1;
+ subPropFlags.VeSubPropBoundsSize = 1;
+ break;
+ case _VisualElementImpl::UPDATED_PROP_Z_POSITION:
+ __zPosition = pSource->__zPosition;
+ break;
+ case _VisualElementImpl::UPDATED_PROP_ANCHOR:
+ __anchor = pSource->__anchor;
+ break;
+ case _VisualElementImpl::UPDATED_PROP_ANCHOR_Z:
+ __anchorZ = pSource->__anchorZ;
+ break;
+ case _VisualElementImpl::UPDATED_PROP_TRANSFORM:
+ subPropFlags.VePropTransform = 1;
+ __transform = pSource->__transform;
+ break;
+ case _VisualElementImpl::UPDATED_PROP_CHILDREN_TRANSFORM:
+ subPropFlags.VePropChildrenTransform = 1;
+ __childrenTransform = pSource->__childrenTransform;
break;
case _VisualElementImpl::UPDATED_PROP_CLIP_CHILDREN:
__isClipChildren = pSource->__isClipChildren;
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
break;
-
case _VisualElementImpl::UPDATED_PROP_CHANGE_ZORDER:
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
break;
-
case _VisualElementImpl::UPDATED_PROP_RENDER_OPERATION:
__renderOperation = pSource->__renderOperation;
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
-
break;
case _VisualElementImpl::UPDATED_PROP_SHOW_STATE:
- if(isPresentation || pSource->CreateImplicitAnimationForShowState(pSource->__showOpacity, 0.0f, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
-
- __showOpacity = pSource->__showOpacity;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
+ __showOpacity = pSource->__showOpacity;
break;
case _VisualElementImpl::UPDATED_PROP_OPACITY:
-
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropOpacity, pSource->__opacity, NULL, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
-
- __opacity = pSource->__opacity;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
+ __opacity = pSource->__opacity;
break;
-
case _VisualElementImpl::UPDATED_PROP_CONTENT_OPACITY:
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropContentOpacity, pSource->__contentOpacity, NULL, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
-
- __contentOpacity = pSource->__contentOpacity;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
+ __contentOpacity = pSource->__contentOpacity;
break;
case _VisualElementImpl::UPDATED_PROP_SURFACE_OPAQUE:
- if(isPresentation || pSource->__pSharedData)
- {
- isSurfaceOpaque = pSource->__pSharedData->isSurfaceOpaque;
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
- }
+ __isSurfaceOpaque = pSource->__isSurfaceOpaque;
break;
-
case _VisualElementImpl::UPDATED_PROP_CONTENT_BOUNDS:
- if(isPresentation || pSource->CreateImplicitAnimation(*pVePropContentBounds, pSource->__contentBounds, NULL, bImplicitAnimation ) == false)
- {
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
-
- __contentBounds = pSource->__contentBounds;
- }
- else
- {
- __implicitAnimation |= updateFlags;
- }
- break;
-
- case _VisualElementImpl::UPDATED_PROP_CONTENT:
-
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
- break;
- case _VisualElementImpl::UPDATED_PROP_SURFACE:
-
- __implicitAnimation &= ~updateFlags;
- __updatedProperties |= updateFlags;
+ __contentBounds = pSource->__contentBounds;
break;
default:
- //error
- PRINT("Undefined property(0x%x)\n", updateFlags);
- break;
+ PRINT("Undefined property(%0x#x)\n", updateFlags);
}
}
+
_VisualElementSharedData::_VisualElementSharedData(_VisualElementImpl* pModel)
: invalidatedNativeProps(-1)
, childrenInvalidated(false)
, invalidatedRegion(0.0f, 0.0f, 0.0f, 0.0f)
, needSurface(true)
, redrawOnResize(false)
- , isSurfaceOpaque(true)
, fixedSurfaceSize(false)
, invalidationLockCount(0)
, updateRegion(0.0f, 0.0f, 0.0f, 0.0f)
, pContentProvider(null)
, pEventListener(null)
, name(L"")
- , toUpdatePropImmediately(pModel)
+ , toUpdatePropertiesForRenderObject(pModel)
, pUserData(null)
, __refCount(1)
{
{
return __isShaderProgramUpdated;
}
+ bool IsUpdated() const
+ {
+ return (__isMeshUpdated||__isLightUpdated||__isMaterialUpdated)?true:false;
+ }
private:
Mesh* __pMesh;
Material* __pMaterial;
typedef std::vector<DistToPoint> Intersections;
typedef Intersections::iterator IntersectionsIt;
-
-extern const wchar_t* VePropBounds;
-extern const wchar_t* VePropContentBounds;
-extern const wchar_t* VePropContentOpacity;
-extern const wchar_t* VePropRenderOperation;
-extern const wchar_t* VePropOpacity;
-extern const wchar_t* VePropShowState;
-extern const wchar_t* VePropAnchor;
-extern const wchar_t* VePropAnchorZ;
-extern const wchar_t* VePropTransform;
-extern const wchar_t* VePropChildrenTransform;
-extern const wchar_t* VePropZPosition;
-extern const wchar_t* VePropZOrderGroup;
-extern const wchar_t* VePropClipToParent;
-extern const wchar_t* VePropClipChildren;
-extern const wchar_t* VePropName;
-extern const wchar_t* VePropSurfaceOpaque;
-extern const wchar_t* VePropPropertyPropagationEnabled;
-extern const wchar_t* VePropImplicitAnimationEnabled;
+#define EXTERN_PROPERTY(_STRING, _VAR, id) \
+ extern const wchar_t* _VAR; \
+ extern Tizen::Base::String* p##_VAR; \
+ const int i##_VAR =id;
+#define PROP_STRING(_VAR) p##_VAR
+#define PROP_ID(_VAR) i##_VAR
+
+#define EXTERN_DYNAMIC_PROPERTY(_STRING, _VAR, id) \
+ extern const wchar_t* _VAR; \
+ const int i##_VAR =id;
+
+
+
+EXTERN_PROPERTY(L"bounds", VePropBounds ,1)
+EXTERN_PROPERTY(L"contentBounds", VePropContentBounds ,2)
+EXTERN_PROPERTY(L"contentOpacity", VePropContentOpacity ,3)
+EXTERN_PROPERTY(L"renderOperation", VePropRenderOperation ,4)
+EXTERN_PROPERTY(L"opacity", VePropOpacity ,5)
+EXTERN_PROPERTY(L"showState", VePropShowState ,6)
+EXTERN_PROPERTY(L"anchor", VePropAnchor ,7)
+EXTERN_PROPERTY(L"anchorZ", VePropAnchorZ ,8)
+EXTERN_PROPERTY(L"transform", VePropTransform ,9)
+EXTERN_PROPERTY(L"childrenTransform", VePropChildrenTransform ,10)
+EXTERN_PROPERTY(L"zPosition", VePropZPosition ,11)
+EXTERN_PROPERTY(L"zOrderGroup", VePropZOrderGroup ,12)
+EXTERN_PROPERTY(L"clipToParent", VePropClipToParent ,13)
+EXTERN_PROPERTY(L"clipChildren", VePropClipChildren ,14)
+EXTERN_PROPERTY(L"surfaceOpaque", VePropSurfaceOpaque ,15)
+EXTERN_PROPERTY(L"name", VePropName ,16)
+EXTERN_PROPERTY(L"propertyPropagation", VePropPropertyPropagationEnabled ,17)
+EXTERN_PROPERTY(L"implicitAnimation", VePropImplicitAnimationEnabled ,18)
#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
-extern const wchar_t* VePropActionDetach;
-extern const wchar_t* VePropActionInsert;
+EXTERN_PROPERTY(L"detach", VePropActionDetach ,19)
+EXTERN_PROPERTY(L"attach", VePropActionAttach ,20)
#endif
-extern const wchar_t* VeSubPropBounds;
-extern const wchar_t* VeSubPropBoundsPosition;
-extern const wchar_t* VeSubPropBoundsSize;
-
-extern const wchar_t* VeSubPropTransform;
-extern const wchar_t* VeSubPropTransformRotationX;
-extern const wchar_t* VeSubPropTransformRotationY;
-extern const wchar_t* VeSubPropTransformRotationZ;
-extern const wchar_t* VeSubPropTransformScaleX;
-extern const wchar_t* VeSubPropTransformScaleY;
-extern const wchar_t* VeSubPropTransformScaleZ;
-extern const wchar_t* VeSubPropTransformTranslationX;
-extern const wchar_t* VeSubPropTransformTranslationY;
-extern const wchar_t* VeSubPropTransformTranslationZ;
-extern const wchar_t* VeSubPropTransformRotationAnchorX;
-extern const wchar_t* VeSubPropTransformRotationAnchorY;
-extern const wchar_t* VeSubPropTransformRotationAnchorZ;
-extern const wchar_t* VeSubPropTransformScaleAnchorX;
-extern const wchar_t* VeSubPropTransformScaleAnchorY;
-extern const wchar_t* VeSubPropTransformScaleAnchorZ;
-
-extern const wchar_t* VeSubPropTransformRotationXY;
-extern const wchar_t* VeSubPropTransformScaleXY;
-extern const wchar_t* VeSubPropTransformTranslationXY;
-extern const wchar_t* VeSubPropTransformRotationAnchorXY;
-extern const wchar_t* VeSubPropTransformScaleAnchorXY;
-
-extern const wchar_t* VeSubPropChildrenTransform;
-extern const wchar_t* VeSubPropChildrenTransformRotationX;
-extern const wchar_t* VeSubPropChildrenTransformRotationY;
-extern const wchar_t* VeSubPropChildrenTransformRotationZ;
-extern const wchar_t* VeSubPropChildrenTransformScaleX;
-extern const wchar_t* VeSubPropChildrenTransformScaleY;
-extern const wchar_t* VeSubPropChildrenTransformScaleZ;
-extern const wchar_t* VeSubPropChildrenTransformTranslationX;
-extern const wchar_t* VeSubPropChildrenTransformTranslationY;
-extern const wchar_t* VeSubPropChildrenTransformTranslationZ;
-extern const wchar_t* VeSubPropChildrenTransformRotationAnchorX;
-extern const wchar_t* VeSubPropChildrenTransformRotationAnchorY;
-extern const wchar_t* VeSubPropChildrenTransformRotationAnchorZ;
-extern const wchar_t* VeSubPropChildrenTransformScaleAnchorX;
-extern const wchar_t* VeSubPropChildrenTransformScaleAnchorY;
-extern const wchar_t* VeSubPropChildrenTransformScaleAnchorZ;
-
-extern const wchar_t* VeSubPropChildrenTransformRotationXY;
-extern const wchar_t* VeSubPropChildrenTransformScaleXY;
-extern const wchar_t* VeSubPropChildrenTransformTranslationXY;
-extern const wchar_t* VeSubPropChildrenTransformRotationAnchorXY;
-extern const wchar_t* VeSubPropChildrenTransformScaleAnchorXY;
-
-extern const wchar_t* VePrivPropShowOpacity;
+EXTERN_PROPERTY(L"bounds.", VeSubPropBounds ,21)
+EXTERN_PROPERTY(L"bounds.position", VeSubPropBoundsPosition ,22)
+EXTERN_PROPERTY(L"bounds.size", VeSubPropBoundsSize ,23)
+
+EXTERN_PROPERTY(L"transform.", VeSubPropTransform ,24)
+EXTERN_PROPERTY(L"transform.rotation.x", VeSubPropTransformRotationX ,25)
+EXTERN_PROPERTY(L"transform.rotation.y", VeSubPropTransformRotationY ,26)
+EXTERN_PROPERTY(L"transform.rotation.z", VeSubPropTransformRotationZ ,27)
+EXTERN_PROPERTY(L"transform.scale.x", VeSubPropTransformScaleX ,28)
+EXTERN_PROPERTY(L"transform.scale.y", VeSubPropTransformScaleY ,29)
+EXTERN_PROPERTY(L"transform.scale.z", VeSubPropTransformScaleZ ,30)
+EXTERN_PROPERTY(L"transform.translation.x", VeSubPropTransformTranslationX ,31)
+EXTERN_PROPERTY(L"transform.translation.y", VeSubPropTransformTranslationY ,32)
+EXTERN_PROPERTY(L"transform.translation.z", VeSubPropTransformTranslationZ ,33)
+EXTERN_PROPERTY(L"transform.rotation.anchor.x", VeSubPropTransformRotationAnchorX ,34)
+EXTERN_PROPERTY(L"transform.rotation.anchor.y", VeSubPropTransformRotationAnchorY ,35)
+EXTERN_PROPERTY(L"transform.rotation.anchor.z", VeSubPropTransformRotationAnchorZ ,36)
+EXTERN_PROPERTY(L"transform.scale.anchor.x", VeSubPropTransformScaleAnchorX ,37)
+EXTERN_PROPERTY(L"transform.scale.anchor.y", VeSubPropTransformScaleAnchorY ,38)
+EXTERN_PROPERTY(L"transform.scale.anchor.z", VeSubPropTransformScaleAnchorZ ,39)
+
+EXTERN_PROPERTY(L"transform.rotation.xy", VeSubPropTransformRotationXY ,40)
+EXTERN_PROPERTY(L"transform.scale.xy", VeSubPropTransformScaleXY ,41)
+EXTERN_PROPERTY(L"transform.translation.xy", VeSubPropTransformTranslationXY ,42)
+EXTERN_PROPERTY(L"transform.rotation.anchor.xy", VeSubPropTransformRotationAnchorXY ,43)
+EXTERN_PROPERTY(L"transform.scale.anchor.xy", VeSubPropTransformScaleAnchorXY ,44)
+
+
+EXTERN_PROPERTY(L"childrenTransform.", VeSubPropChildrenTransform ,45)
+EXTERN_PROPERTY(L"childrenTransform.rotation.x", VeSubPropChildrenTransformRotationX ,46)
+EXTERN_PROPERTY(L"childrenTransform.rotation.y", VeSubPropChildrenTransformRotationY ,47)
+EXTERN_PROPERTY(L"childrenTransform.rotation.z", VeSubPropChildrenTransformRotationZ ,48)
+EXTERN_PROPERTY(L"childrenTransform.scale.x", VeSubPropChildrenTransformScaleX ,49)
+EXTERN_PROPERTY(L"childrenTransform.scale.y", VeSubPropChildrenTransformScaleY ,50)
+EXTERN_PROPERTY(L"childrenTransform.scale.z", VeSubPropChildrenTransformScaleZ ,51)
+EXTERN_PROPERTY(L"childrenTransform.translation.x", VeSubPropChildrenTransformTranslationX ,52)
+EXTERN_PROPERTY(L"childrenTransform.translation.y", VeSubPropChildrenTransformTranslationY ,53)
+EXTERN_PROPERTY(L"childrenTransform.translation.z", VeSubPropChildrenTransformTranslationZ ,54)
+EXTERN_PROPERTY(L"childrenTransform.rotation.anchor.x", VeSubPropChildrenTransformRotationAnchorX ,55)
+EXTERN_PROPERTY(L"childrenTransform.rotation.anchor.y", VeSubPropChildrenTransformRotationAnchorY ,56)
+EXTERN_PROPERTY(L"childrenTransform.rotation.anchor.z", VeSubPropChildrenTransformRotationAnchorZ ,57)
+EXTERN_PROPERTY(L"childrenTransform.scale.anchor.x", VeSubPropChildrenTransformScaleAnchorX ,58)
+EXTERN_PROPERTY(L"childrenTransform.scale.anchor.y", VeSubPropChildrenTransformScaleAnchorY ,59)
+EXTERN_PROPERTY(L"childrenTransform.scale.anchor.z", VeSubPropChildrenTransformScaleAnchorZ ,60)
+
+EXTERN_PROPERTY(L"childrenTransform.rotation.xy", VeSubPropChildrenTransformRotationXY ,61)
+EXTERN_PROPERTY(L"childrenTransform.scale.xy", VeSubPropChildrenTransformScaleXY ,62)
+EXTERN_PROPERTY(L"childrenTransform.translation.xy", VeSubPropChildrenTransformTranslationXY ,63)
+EXTERN_PROPERTY(L"childrenTransform.rotation.anchor.xy", VeSubPropChildrenTransformRotationAnchorXY,64)
+EXTERN_PROPERTY(L"childrenTransform.scale.anchor.xy", VeSubPropChildrenTransformScaleAnchorXY ,65)
+
+EXTERN_PROPERTY(L"__showOpacity", VePrivPropShowOpacity ,66)
// 3.0 properties
-extern const wchar_t* VeMeshPropVertexCount; //L"mesh.vertex.count"; //int
-extern const wchar_t* VeMeshPropVertex; //L"mesh.vertex.#index"; //FloatPoint3
-extern const wchar_t* VeMeshPropColor; //L"mesh.color.#index"; //Color ( FloatColor will be needed )
-extern const wchar_t* VeMeshPropTextureCoord; //L"mesh.textureCoordinates.#index"; //FloatDimension
-extern const wchar_t* VeMeshPropNormal; //L"mesh.normal.#index"; //FloatPoint3
-extern const wchar_t* VeMeshPropVertexIndex; //L"mesh.index.#index"; //int
-extern const wchar_t* VeMeshPropBoneCount; //L"mesh.bone.count"; //int
-extern const wchar_t* VeMeshPropBone; //L"mesh.bone.#index"; //FloatMatrix4
-extern const wchar_t* VeMeshPropBoneIndex; //L"mesh.bone.index.#index"; //int
-extern const wchar_t* VeMeshPropBoneWeight; //L"mesh.bone.weight#index."; //float
-
-extern const wchar_t* VeMaterialDiffuse; //L"material.diffuse"; //FloatVector4
-extern const wchar_t* VeMaterialSpecular; //L"material.specular"; //FloatVector4
-extern const wchar_t* VeMaterialAmbient; //L"material.ambient"; //FloatVector4
-extern const wchar_t* VeMaterialEmissive; //L"material.emissive"; //FloatVector4
-extern const wchar_t* VeMaterialShiness; //L"material.shiness"; //float
-
-// is it needed ?
-extern const wchar_t* VeShadowColor; //L"shadow.color"; //FloatVector4
-
-extern const wchar_t* VeLightCount; //L"light.count"; //int
-extern const wchar_t* VeLightType; //L"light.#name.type"; //int : LightType
-extern const wchar_t* VeLightDiffuse; //L"light.#name.diffuse"; //FloatVector4
-extern const wchar_t* VeLightSpecular; //L"light.#name.specular"; //FloatVector4
-extern const wchar_t* VeLightAmbient; //L"light.#name.ambient"; //FloatVector4
-extern const wchar_t* VeLightPosition; //L"light.#name.position"; //FloatPoint3
-extern const wchar_t* VeLightDirection; //L"light.#name.direction"; //FloatVector4
-extern const wchar_t* VeLightExponent; //L"light.#name.exponent"; //float
-extern const wchar_t* VeLightCutOff; //L"light.#name.cutOff"; //float
-extern const wchar_t* VeLightConstantAttenuation; //L"light.#name.constantAttenuation"; //float
-extern const wchar_t* VeLightLinearAttenuation; //L"light.#name.linearAttenuation"; //float
-extern const wchar_t* VeLightQuadraticAttenuation; //L"light.#name.quadraticAttenuation"; //float
-
-
-extern Tizen::Base::String* pVePropBounds;
-extern Tizen::Base::String* pVePropContentBounds;
-extern Tizen::Base::String* pVePropContentOpacity;
-extern Tizen::Base::String* pVePropRenderOperation;
-extern Tizen::Base::String* pVePropOpacity;
-extern Tizen::Base::String* pVePropShowState;
-extern Tizen::Base::String* pVePropAnchor;
-extern Tizen::Base::String* pVePropAnchorZ;
-extern Tizen::Base::String* pVePropTransform;
-extern Tizen::Base::String* pVePropChildrenTransform;
-extern Tizen::Base::String* pVePropZPosition;
-extern Tizen::Base::String* pVePropZOrderGroup;
-extern Tizen::Base::String* pVePropClipToParent;
-extern Tizen::Base::String* pVePropClipChildren;
-extern Tizen::Base::String* pVePropName;
-extern Tizen::Base::String* pVePropSurfaceOpaque;
-extern Tizen::Base::String* pVePropPropertyPropagationEnabled;
-extern Tizen::Base::String* pVePropImplicitAnimationEnabled;
-#if defined(SUPPORT_CUSTOMIZING_ATTACH_DETACH_ANIMATION)
-extern Tizen::Base::String* pVePropActionDetach;
-extern Tizen::Base::String* pVePropActionAttach;
-#endif
-extern Tizen::Base::String* pVeSubPropBounds;
-extern Tizen::Base::String* pVeSubPropBoundsPosition;
-extern Tizen::Base::String* pVeSubPropBoundsSize;
-
-extern Tizen::Base::String* pVeSubPropTransform;
-extern Tizen::Base::String* pVeSubPropTransformRotationX;
-extern Tizen::Base::String* pVeSubPropTransformRotationY;
-extern Tizen::Base::String* pVeSubPropTransformRotationZ;
-extern Tizen::Base::String* pVeSubPropTransformScaleX;
-extern Tizen::Base::String* pVeSubPropTransformScaleY;
-extern Tizen::Base::String* pVeSubPropTransformScaleZ;
-extern Tizen::Base::String* pVeSubPropTransformTranslationX;
-extern Tizen::Base::String* pVeSubPropTransformTranslationY;
-extern Tizen::Base::String* pVeSubPropTransformTranslationZ;
-extern Tizen::Base::String* pVeSubPropTransformRotationAnchorX;
-extern Tizen::Base::String* pVeSubPropTransformRotationAnchorY;
-extern Tizen::Base::String* pVeSubPropTransformRotationAnchorZ;
-extern Tizen::Base::String* pVeSubPropTransformScaleAnchorX;
-extern Tizen::Base::String* pVeSubPropTransformScaleAnchorY;
-extern Tizen::Base::String* pVeSubPropTransformScaleAnchorZ;
-
-extern Tizen::Base::String* pVeSubPropTransformRotationXY;
-extern Tizen::Base::String* pVeSubPropTransformScaleXY;
-extern Tizen::Base::String* pVeSubPropTransformTranslationXY;
-extern Tizen::Base::String* pVeSubPropTransformRotationAnchorXY;
-extern Tizen::Base::String* pVeSubPropTransformScaleAnchorXY;
-
-extern Tizen::Base::String* pVeSubPropChildrenTransform;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationX;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationZ;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleX;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleZ;
-extern Tizen::Base::String* pVeSubPropChildrenTransformTranslationX;
-extern Tizen::Base::String* pVeSubPropChildrenTransformTranslationY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformTranslationZ;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationAnchorX;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationAnchorY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationAnchorZ;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleAnchorX;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleAnchorY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleAnchorZ;
-
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationXY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleXY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformTranslationXY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformRotationAnchorXY;
-extern Tizen::Base::String* pVeSubPropChildrenTransformScaleAnchorXY;
-
-extern Tizen::Base::String* pVePrivPropShowOpacity;
-
-//// 3.0 properties
-//extern Tizen::Base::String* pVeMeshPropVertexCount;
-//extern Tizen::Base::String* pVeMeshPropVertex;
-//extern Tizen::Base::String* pVeMeshPropColor;
-//extern Tizen::Base::String* pVeMeshPropTextureCoord;
-//extern Tizen::Base::String* pVeMeshPropNormal;
-//extern Tizen::Base::String* pVeMeshPropVertexIndex;
-//extern Tizen::Base::String* pVeMeshPropBoneCount;
-//extern Tizen::Base::String* pVeMeshPropBone;
-//extern Tizen::Base::String* pVeMeshPropBoneIndex;
-//extern Tizen::Base::String* pVeMeshPropBoneWeight;
-
-//extern Tizen::Base::String* pVeMaterialDiffuse;
-//extern Tizen::Base::String* pVeMaterialSpecular;
-//extern Tizen::Base::String* pVeMaterialAmbient;
-//extern Tizen::Base::String* pVeMaterialEmissive;
-//extern Tizen::Base::String* pVeMaterialShiness;
-
-//// is it needed ?
-//extern Tizen::Base::String* pVeShadowColor;
-
-//extern Tizen::Base::String* pVeLightCount;
-//extern Tizen::Base::String* pVeLightType;
-//extern Tizen::Base::String* pVeLightDiffuse;
-//extern Tizen::Base::String* pVeLightSpecular;
-//extern Tizen::Base::String* pVeLightAmbient;
-//extern Tizen::Base::String* pVeLightPosition;
-//extern Tizen::Base::String* pVeLightDirection;
-//extern Tizen::Base::String* pVeLightExponent;
-//extern Tizen::Base::String* pVeLightCutOff;
-//extern Tizen::Base::String* pVeLightConstantAttenuation;
-//extern Tizen::Base::String* pVeLightLinearAttenuation;
-//extern Tizen::Base::String* pVeLightQuadraticAttenuation;
+EXTERN_DYNAMIC_PROPERTY(L"mesh.vertex.count", VeMeshPropVertexCount ,67) //int
+EXTERN_DYNAMIC_PROPERTY(L"mesh.vertex.#index", VeMeshPropVertex ,68) //FloatPoint3
+EXTERN_DYNAMIC_PROPERTY(L"mesh.color.#index", VeMeshPropColor ,69) //Color ( FloatColor will be needed )
+EXTERN_DYNAMIC_PROPERTY(L"mesh.textureCoordinates.#index", VeMeshPropTextureCoord ,70) //FloatDimension
+EXTERN_DYNAMIC_PROPERTY(L"mesh.normal.#index", VeMeshPropNormal ,71) //FloatPoint3
+EXTERN_DYNAMIC_PROPERTY(L"mesh.index.#index", VeMeshPropVertexIndex ,72) //int
+EXTERN_DYNAMIC_PROPERTY(L"mesh.bone.count", VeMeshPropBoneCount ,73) //int
+EXTERN_DYNAMIC_PROPERTY(L"mesh.bone.#index", VeMeshPropBone ,74) //FloatMatrix4
+EXTERN_DYNAMIC_PROPERTY(L"mesh.bone.index.#index", VeMeshPropBoneIndex ,75) //int
+EXTERN_DYNAMIC_PROPERTY(L"mesh.bone.weight.#index", VeMeshPropBoneWeight ,76) //float
+
+EXTERN_DYNAMIC_PROPERTY(L"material.diffuse", VeMaterialDiffuse ,77) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"material.specular", VeMaterialSpecular ,78) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"material.ambient", VeMaterialAmbient ,79) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"material.emissive", VeMaterialEmissive ,80) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"material.shiness", VeMaterialShiness ,81) //float
+
+EXTERN_DYNAMIC_PROPERTY(L"shadow.color", VeShadowColor ,82) //FloatVector4
+
+EXTERN_DYNAMIC_PROPERTY(L"light.count", VeLightCount ,83) //int
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.type", VeLightType ,84) //int : LightType
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.diffuse", VeLightDiffuse ,85) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.specular", VeLightSpecular ,86) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.ambient", VeLightAmbient ,87) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.position", VeLightPosition ,88) //FloatPoint3
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.direction", VeLightDirection ,89) //FloatVector4
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.exponent", VeLightExponent ,90) //float
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.cutOff", VeLightCutOff ,91) //float
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.constantAttenuation", VeLightConstantAttenuation ,92) //float
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.linearAttenuation", VeLightLinearAttenuation ,93) //float
+EXTERN_DYNAMIC_PROPERTY(L"light.#name.quadraticAttenuation", VeLightQuadraticAttenuation ,94) //float
+
+//EXTERN_DYNAMIC_PROPERTY(L"Shader#.uniform#.", VeShaderUniform ,95)
/**
* @class _VisualElementImpl
* @brief This class provides methods to control VisualElement.
}
}
- result SetBoundsI(const Tizen::Graphics::FloatRectangle& bounds);
+ result SetBoundsI(const Tizen::Graphics::FloatRectangle& bounds, bool& sizeChanged);
result SetZPositionI(float zPosition);
result SetShowOpacityI(float showOpacity);
result SetShowStateI(bool show);
result SetAnchorI(const Tizen::Graphics::FloatPoint& anchor);
result SetAnchorZI(float anchorZ);
result SetPropertyPropagationEnabledI(bool enable);
- result SetTransformMatrixI(const Tizen::Graphics::FloatMatrix4& xform, bool updateDecomposed = true);
- result SetChildrenTransformMatrixI(const Tizen::Graphics::FloatMatrix4& xform, bool updateDecomposed = true);
+ result SetTransformMatrixI(const Tizen::Graphics::FloatMatrix4& xform, bool updateDecomposed);
+ result SetTransformDecomposedFactorI(const Tizen::Base::String* pProperty, int propertyId, const Tizen::Graphics::FloatMatrix4& xform, const Variant& v);
+
+ result SetChildrenTransformMatrixI(const Tizen::Graphics::FloatMatrix4& xform, bool updateDecomposed);
+ result SetChildrenTransformDecomposedFactorI(const Tizen::Base::String* pProperty, int propertyId, const Tizen::Graphics::FloatMatrix4& xform, const Variant& v);
result SetZOrderGroupI(int zOrderGroup);
+
bool CheckIfAnimatable(const Tizen::Base::String& property) const;
bool IsSurfaceNeeded(void) const;
void RebuildSurfaces(void);
void FlushNativeChanges(void);
void SetSurfaceChanged(void);
+ void SetGeometryChanged(void);
bool IsPropsInvalidated(PropertyFlags props) const
{
{
return *__pSharedData;
}
- bool CreateImplicitAnimation( const Tizen::Base::String& property, const Variant& newValue, const Tizen::Base::String** pSubProperties, bool implicitAnimation, bool isCustomProperty = false);
- bool CreateImplicitAnimationForShowState(float newState, float currentState, bool bImplicitAnimation);
- bool CreateImplicitAnimationIfNeeded(const Tizen::Base::String& property, const Variant& newValue, const Variant& currentPresntationValue, const Tizen::Base::String** pSubProperties, bool isCustomProperty = false);
+ bool CreateImplicitAnimation( const Tizen::Base::String& property,const Variant& newValue);
+ bool CreateImplicitAnimationForShowState(float newState, float currentState);
+ bool CreateImplicitAnimationForCustomProperty(const Tizen::Base::String& property, const Variant& newValue, const Variant& currentPresntationValue);
+ bool RemoveAnimationByPropertyList(const Tizen::Base::String** pSubProperties);
//Visual Element Bounding volume related
result AdjustBoundingVolume(void);
//PropertyFlags
enum UpdatedProperty
{
- UPDATED_PROP_BOUNDS = 0x0001,
- UPDATED_PROP_Z_POSITION = 0x0002,
- UPDATED_PROP_ANCHOR = 0x0004,
- UPDATED_PROP_ANCHOR_Z = 0x0008,
- UPDATED_PROP_TRANSFORM = 0x0010,
- UPDATED_PROP_CHILDREN_TRANSFORM = 0x0020,
- UPDATED_PROP_CLIP_CHILDREN = 0x0040,
- UPDATED_PROP_CHANGE_ZORDER = 0x0080,
+ UPDATED_PROP_BOUNDS = 0x00000001,
+ UPDATED_PROP_Z_POSITION = 0x00000002,
+ UPDATED_PROP_ANCHOR = 0x00000004,
+ UPDATED_PROP_ANCHOR_Z = 0x00000008,
+ UPDATED_PROP_TRANSFORM = 0x00000010,
+ UPDATED_PROP_CHILDREN_TRANSFORM = 0x00000020,
+ UPDATED_PROP_CLIP_CHILDREN = 0x00000040,
+ UPDATED_PROP_CHANGE_ZORDER = 0x00000080,
+ UPDATED_PROP_GEOMETRY = 0x10000000,
UPDATED_PROP_COORDINATES_MASK = UPDATED_PROP_BOUNDS |
UPDATED_PROP_Z_POSITION |
UPDATED_PROP_ANCHOR |
UPDATED_PROP_TRANSFORM |
UPDATED_PROP_CHILDREN_TRANSFORM |
UPDATED_PROP_CLIP_CHILDREN |
- UPDATED_PROP_CHANGE_ZORDER,
+ UPDATED_PROP_CHANGE_ZORDER |
+ UPDATED_PROP_GEOMETRY,
- UPDATED_PROP_RENDER_OPERATION = 0x0100,
- UPDATED_PROP_SHOW_STATE = 0x0200,
- UPDATED_PROP_OPACITY = 0x0400,
+ UPDATED_PROP_RENDER_OPERATION = 0x00000100,
+ UPDATED_PROP_SHOW_STATE = 0x00000200,
+ UPDATED_PROP_OPACITY = 0x00000400,
UPDATED_PROP_SHOWSTATE_MASK = UPDATED_PROP_RENDER_OPERATION |
UPDATED_PROP_SHOW_STATE |
UPDATED_PROP_OPACITY,
- UPDATED_PROP_CONTENT_OPACITY = 0x0800,
- UPDATED_PROP_SURFACE_OPAQUE = 0x1000,
+ UPDATED_PROP_CONTENT_OPACITY = 0x00000800,
+ UPDATED_PROP_SURFACE_OPAQUE = 0x00001000,
UPDATED_PROP_CONTENTOPACITY_MASK = UPDATED_PROP_CONTENT_OPACITY |
UPDATED_PROP_SURFACE_OPAQUE,
- UPDATED_PROP_CONTENT_BOUNDS = 0x2000,
+ UPDATED_PROP_CONTENT_BOUNDS = 0x00002000,
UPDATED_PROP_CONTENTBOUNDS_MASK = UPDATED_PROP_CONTENT_BOUNDS,
- UPDATED_PROP_CONTENT = 0x4000,
+ UPDATED_PROP_CONTENT = 0x00004000,
UPDATED_PROP_CONTENT_MASK = UPDATED_PROP_CONTENT,
- UPDATED_PROP_SURFACE = 0x8000,
+ UPDATED_PROP_SURFACE = 0x00008000,
- UPDATED_PROP_MASK = 0xFFFF
+ UPDATED_PROP_MASK = 0xFFFFFFFF
};
int _zOrderGroup;
float __zPosition;
float __contentOpacity;
float __opacity;
+ bool __isSurfaceOpaque;
Tizen::Graphics::FloatPoint __anchor;
float __anchorZ;
Tizen::Graphics::FloatMatrix4 __transform;
bool NeedNativeReconfigure(void) const
{
- return (invalidatedNativeProps != 0) || surfaceChanged;
+ return (invalidatedNativeProps != 0) || surfaceChanged || geometry.IsUpdated();
}
Tizen::Graphics::FloatRectangle invalidatedRegion;
bool needSurface;
bool redrawOnResize;
- bool isSurfaceOpaque;
bool fixedSurfaceSize;
int invalidationLockCount;
Tizen::Graphics::FloatRectangle updateRegion;
{
public:
typedef unsigned long PropertyFlags;
+ struct
+ {
+ int VeSubPropBoundsPosition:1;
+ int VeSubPropBoundsSize:1;
+
+ int VePropTransform:1;
+ int VeSubPropTransformRotationX:1;
+ int VeSubPropTransformRotationY:1;
+ int VeSubPropTransformRotationZ:1;
+ int VeSubPropTransformScaleX:1;
+ int VeSubPropTransformScaleY:1;
+ int VeSubPropTransformScaleZ:1;
+ int VeSubPropTransformTranslationX:1;
+ int VeSubPropTransformTranslationY:1;
+ int VeSubPropTransformTranslationZ:1;
+ int VeSubPropTransformRotationAnchorX:1;
+ int VeSubPropTransformRotationAnchorY:1;
+ int VeSubPropTransformRotationAnchorZ:1;
+ int VeSubPropTransformScaleAnchorX:1;
+ int VeSubPropTransformScaleAnchorY:1;
+ int VeSubPropTransformScaleAnchorZ:1;
+
+ int VePropChildrenTransform:1;
+ int VeSubPropChildrenTransformRotationX:1;
+ int VeSubPropChildrenTransformRotationY:1;
+ int VeSubPropChildrenTransformRotationZ:1;
+ int VeSubPropChildrenTransformScaleX:1;
+ int VeSubPropChildrenTransformScaleY:1;
+ int VeSubPropChildrenTransformScaleZ:1;
+ int VeSubPropChildrenTransformTranslationX:1;
+ int VeSubPropChildrenTransformTranslationY:1;
+ int VeSubPropChildrenTransformTranslationZ:1;
+ int VeSubPropChildrenTransformRotationAnchorX:1;
+ int VeSubPropChildrenTransformRotationAnchorY:1;
+ int VeSubPropChildrenTransformRotationAnchorZ:1;
+ int VeSubPropChildrenTransformScaleAnchorX:1;
+ int VeSubPropChildrenTransformScaleAnchorY:1;
+ int VeSubPropChildrenTransformScaleAnchorZ:1;
+
+ }subPropFlags;
UpdatePropertiesForRender(_VisualElementImpl* pSource);
- virtual ~UpdatePropertiesForRender();
+ virtual ~UpdatePropertiesForRender(void);
- void Clear();
+ void Clear(void);
+#if 0
void Update(_VisualElementImpl* pSource, PropertyFlags updateFlags);
+#endif
+ void Update(PropertyFlags updateFlags);
+ void Update(PropertyFlags updateFlags, _VisualElementImpl* pSource);
+ void UpdateSubProperty(int propertyId, _VisualElementImpl* pSource);
-// // maybe no more needed method
- Variant GetProperty(const Base::String& name) const;
+ void Apply(void);
public:
_VisualElementImpl* __pSource;
// flags
PropertyFlags __updatedProperties;
- PropertyFlags __implicitAnimation;
// properties
Tizen::Graphics::FloatRectangle __bounds;
Tizen::Graphics::FloatPoint __anchor;
float __anchorZ;
Tizen::Graphics::FloatMatrix4 __transform;
- _TransformMatrix3Df __decomposedTransform;
+
+ typedef struct
+ {
+ float __scaleX, __scaleY, __scaleZ;
+ float __shearXY, __shearXZ, __shearYZ;
+ float __quatX, __quatY, __quatZ, __quatW;
+ float __translationX, __translationY, __translationZ;
+ float __perspectiveX, __perspectiveY, __perspectiveZ, __perspectiveW;
+
+ float __rotAnchorX, __rotAnchorY, __rotAnchorZ;
+ float __scaleAnchorX, __scaleAnchorY, __scaleAnchorZ;
+
+ float __rotX, __rotY, __rotZ; // in degree-unit
+ }DecomposedTransformFactor;
+
+ DecomposedTransformFactor __decomposedTransform;
Tizen::Graphics::FloatMatrix4 __childrenTransform;
- _TransformMatrix3Df __decomposedChildrenTransform;
+ DecomposedTransformFactor __decomposedChildrenTransform;
float __zPosition;
bool __isClipChildren;
- bool isSurfaceOpaque;
- } toUpdatePropImmediately;
+ bool __isSurfaceOpaque;
+ } toUpdatePropertiesForRenderObject;
void* pUserData;
_GeometryInfo geometry;