-#ifndef __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H
+#define DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_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.
// INTERNAL INCLUDES
#include <dali/public-api/object/property-notification.h>
+#include <dali/devel-api/common/owner-container.h>
#include <dali/internal/event/common/property-notification-impl.h>
#include <dali/internal/update/common/property-base.h>
-#include <dali/internal/common/owner-container.h>
namespace Dali
{
namespace Internal
{
-class ProxyObject;
+class Object;
class PropertyNotification;
namespace SceneGraph
class PropertyNotification;
-typedef OwnerContainer< PropertyNotification* > PropertyNotificationContainer;
-typedef PropertyNotificationContainer::Iterator PropertyNotificationIter;
-typedef PropertyNotificationContainer::ConstIterator PropertyNotificationConstIter;
-typedef bool(*ConditionFunction)(const Dali::PropertyInput& value, Dali::Internal::PropertyNotification::RawArgumentContainer& args);
+using PropertyNotificationContainer = OwnerContainer<PropertyNotification*>;
+using PropertyNotificationIter = PropertyNotificationContainer::Iterator;
+using PropertyNotificationConstIter = PropertyNotificationContainer::ConstIterator;
+using ConditionFunction = bool ( * )( const Dali::PropertyInput&, Dali::Internal::PropertyNotification::RawArgumentContainer& );
/**
* PropertyNotifications are used to inspect properties of scene graph objects, as part of a scene
class PropertyNotification
{
public:
-
- typedef Dali::PropertyNotification::NotifyMode NotifyMode;
- typedef Dali::Internal::PropertyNotification::ConditionType ConditionType;
- typedef Dali::Internal::PropertyNotification::RawArgumentContainer RawArgumentContainer;
- typedef const void *(*GetPropertyFunction)( const SceneGraph::PropertyBase*, int );
+ using NotifyMode = Dali::PropertyNotification::NotifyMode;
+ using ConditionType = Dali::Internal::PropertyNotification::ConditionType;
+ using RawArgumentContainer = Dali::Internal::PropertyNotification::RawArgumentContainer;
+ using GetPropertyFunction = const void* (*)( const SceneGraph::PropertyBase*, int );
/**
* Construct a new PropertyNotification
- * @param[in] proxy The proxy for a scene-graph object to inspect.
+ * @param[in] object The event-object for a scene-graph object to inspect.
* @param[in] propertyIndex The index of a property provided by the object.
* @param[in] propertyType The type of property we're inspecting.
* @param[in] componentIndex Index to the component of a complex property such as a Vector
* @param[in] condition The condition type (e.g. LessThan, GreaterThan...)
* @param[in] arguments The arguments which accompany the condition.
* @param[in] notifyMode The notification mode setting
+ * @param[in] compare The flag of comparing the previous and current data.
* @return A new PropertyNotification object.
*/
- static PropertyNotification* New(ProxyObject& proxy,
+ static PropertyNotification* New(Object& object,
Property::Index propertyIndex,
Property::Type propertyType,
int componentIndex,
ConditionType condition,
RawArgumentContainer& arguments,
- NotifyMode notifyMode);
+ NotifyMode notifyMode,
+ bool compare);
/**
* Virtual destructor
/**
* Construct the PropertyNotification
- * @param[in] proxy The proxy for a scene-graph object to inspect.
+ * @param[in] object The event-object for a scene-graph object to inspect.
* @param[in] propertyIndex The index of a property provided by the object.
* @param[in] propertyType The type of property we're inspecting.
* @param[in] componentIndex Index to the component of a complex property such as a Vector
* @param[in] arguments The arguments which accompany the condition.
* @param[in] notifyMode The notification mode setting
*/
- PropertyNotification(ProxyObject& proxy,
+ PropertyNotification(Object& object,
Property::Index propertyIndex,
Property::Type propertyType,
int componentIndex,
ConditionType condition,
RawArgumentContainer& arguments,
- NotifyMode notifyMode);
+ NotifyMode notifyMode,
+ bool compare);
private:
protected:
- ProxyObject* mProxy; ///< Not owned by the property notification. Valid until ProxyDestroyed() is called.
+ Object* mObject; ///< Not owned by the property notification. Valid until ObjectDestroyed() is called.
Property::Index mPropertyIndex; ///< The index of this property.
Property::Type mPropertyType; ///< The type of property this is.
const PropertyInputImpl* mProperty; ///< The scene graph property
} // namespace Dali
-#endif // __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_PROPERTY_NOTIFICATION_H