X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Finternal%2Fupdate%2Fcommon%2Fproperty-owner-messages.h;h=8668e4ead8257ea791df4152fda18944619ae016;hb=b43741a90b40ca9dfbd33d6a9d390d3c09230e89;hp=c8570fbc89cf4d8acb562df465a4cb063ae9864f;hpb=8b0b50bb14b39e34a119c573cad63fd03c96b09a;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/internal/update/common/property-owner-messages.h b/dali/internal/update/common/property-owner-messages.h old mode 100644 new mode 100755 index c8570fb..8668e4e --- a/dali/internal/update/common/property-owner-messages.h +++ b/dali/internal/update/common/property-owner-messages.h @@ -1,8 +1,8 @@ -#ifndef __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H__ -#define __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H__ +#ifndef DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H +#define DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H /* - * Copyright (c) 2014 Samsung Electronics Co., Ltd. + * Copyright (c) 2019 Samsung Electronics Co., Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -18,13 +18,14 @@ * */ -// INTERNAL INCLUDES +// EXTERNAL INCLUDES +#include +// INTERNAL INCLUDES #include #include #include #include -#include namespace Dali { @@ -89,7 +90,7 @@ public: typename ParameterType< P >::PassingType value ) { // Reserve some memory inside the message queue - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( AnimatablePropertyMessage ) ); + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( AnimatablePropertyMessage ) ); // Construct message in the message queue memory; note that delete should not be called on the return value new (slot) AnimatablePropertyMessage( sceneObject, property, member, value ); @@ -107,6 +108,7 @@ public: */ virtual void Process( BufferIndex updateBufferIndex ) { + mSceneObject->SetPropertyDirty( true ); (mProperty->*mMemberFunction)( updateBufferIndex, mParam ); } @@ -168,7 +170,7 @@ public: float value ) { // Reserve some memory inside the message queue - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( AnimatablePropertyComponentMessage ) ); + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( AnimatablePropertyComponentMessage ) ); // Construct message in the message queue memory; note that delete should not be called on the return value new (slot) AnimatablePropertyComponentMessage( sceneObject, property, member, value ); @@ -186,6 +188,7 @@ public: */ virtual void Process( BufferIndex updateBufferIndex ) { + mSceneObject->SetPropertyDirty( true ); (mProperty->*mMemberFunction)( updateBufferIndex, mParam ); } @@ -222,26 +225,26 @@ private: // Messages for PropertyOwner -inline void InstallCustomPropertyMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, PropertyBase* property ) +inline void InstallCustomPropertyMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, OwnerPointer& property ) { typedef MessageValue1< PropertyOwner, OwnerPointer > LocalType; // Reserve some memory inside the message queue - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); // Construct message in the message queue memory; note that delete should not be called on the return value new (slot) LocalType( &owner, &PropertyOwner::InstallCustomProperty, property ); } -inline void ApplyConstraintMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, ConstraintBase& constraint ) +inline void ApplyConstraintMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, OwnerPointer& constraint ) { typedef MessageValue1< PropertyOwner, OwnerPointer > LocalType; // Reserve some memory inside the message queue - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); // Construct message in the message queue memory; note that delete should not be called on the return value - new (slot) LocalType( &owner, &PropertyOwner::ApplyConstraint, &constraint ); + new (slot) LocalType( &owner, &PropertyOwner::ApplyConstraint, constraint ); } inline void RemoveConstraintMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, const ConstraintBase& constConstraint ) @@ -252,23 +255,29 @@ inline void RemoveConstraintMessage( EventThreadServices& eventThreadServices, c typedef MessageValue1< PropertyOwner, ConstraintBase* > LocalType; // Reserve some memory inside the message queue - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); // Construct message in the message queue memory; note that delete should not be called on the return value new (slot) LocalType( &owner, &PropertyOwner::RemoveConstraint, &constraint ); } -inline void AddUniformMapMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, UniformPropertyMapping* map ) +inline void AddUniformMapMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, OwnerPointer< UniformPropertyMapping >& map ) { typedef MessageValue1< PropertyOwner, OwnerPointer< UniformPropertyMapping > > LocalType; - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + + // Reserve some memory inside the message queue + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + new (slot) LocalType( &owner, &PropertyOwner::AddUniformMapping, map ); } inline void RemoveUniformMapMessage( EventThreadServices& eventThreadServices, const PropertyOwner& owner, const std::string& uniformName ) { typedef MessageValue1< PropertyOwner, std::string > LocalType; - unsigned int* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + + // Reserve some memory inside the message queue + uint32_t* slot = eventThreadServices.ReserveMessageSlot( sizeof( LocalType ) ); + new (slot) LocalType( &owner, &PropertyOwner::RemoveUniformMapping, uniformName ); } @@ -279,4 +288,4 @@ inline void RemoveUniformMapMessage( EventThreadServices& eventThreadServices, c } // namespace Dali -#endif // __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H__ +#endif // DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_MESSAGES_H