#include <dali/public-api/object/property-input.h>
#include <dali/public-api/object/property-types.h>
#include <dali/internal/common/message.h>
+#include <dali/internal/common/type-abstraction.h>
#include <dali/internal/event/common/event-thread-services.h>
#include <dali/internal/event/common/property-input-impl.h>
#include <dali/internal/update/common/double-buffered.h>
* Create an doubleBuffered property.
* @param [in] initialValue The initial value of the property.
*/
- DoubleBufferedPropertyImpl( T initialValue )
+ DoubleBufferedPropertyImpl( typename ParameterType<T>::PassingType initialValue )
: mValue( initialValue )
{
}
* @param[in] bufferIndex The buffer to write.
* @param[in] value The new property value.
*/
- void Set(BufferIndex bufferIndex, T value)
+ void Set(BufferIndex bufferIndex, typename ParameterType<T>::PassingType value )
{
// check if the value actually changed to avoid dirtying nodes unnecessarily
if( mValue[bufferIndex] != value )
/**
* Constructor
*/
- DoubleBufferedProperty( Vector2 value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Vector2& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetVector2
/**
* Constructor
*/
- DoubleBufferedProperty( Vector3 value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Vector3& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetVector3
/**
* Constructor
*/
- DoubleBufferedProperty( Vector4 value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Vector4& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetVector4
/**
* Constructor
*/
- DoubleBufferedProperty( Quaternion value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Quaternion& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetQuaternion
/**
* Constructor
*/
- DoubleBufferedProperty( Matrix3 value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Matrix3& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetMatrix3
/**
* Constructor
*/
- DoubleBufferedProperty( Matrix value ) : DoubleBufferedPropertyImpl( value ) {};
+ DoubleBufferedProperty( const Matrix& value ) : DoubleBufferedPropertyImpl( value ) {};
/**
* copydoc PropertyInputImpl::GetMatrix