-#ifndef __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H__
-#define __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H__
+#ifndef DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H
+#define DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H
/*
- * Copyright (c) 2018 Samsung Electronics Co., Ltd.
+ * Copyright (c) 2020 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.
#include <dali/internal/update/common/scene-graph-buffers.h>
#include <dali/internal/update/common/uniform-map.h>
#include <dali/internal/update/animation/scene-graph-constraint-declarations.h>
+#include <dali/internal/common/const-string.h>
namespace Dali
class PropertyOwner;
-typedef OwnerContainer< PropertyBase* > OwnedPropertyContainer;
-typedef OwnedPropertyContainer::Iterator OwnedPropertyIter;
+using OwnedPropertyContainer = OwnerContainer<PropertyBase*>;
+using OwnedPropertyIter = OwnedPropertyContainer::Iterator;
/**
* An update-thread object which own properties.
/**
* Virtual destructor, no deletion through this interface
*/
- virtual ~Observer() {}
-
+ virtual ~Observer() = default;
};
/**
return mCustomProperties;
}
+ /**
+ * Mark an property owner with the updated flag.
+ * @param[in] updated The updated flag
+ */
+ virtual void SetUpdated(bool updated)
+ {
+ mUpdated = updated;
+ }
+
+ /**
+ * Retrieve if the property owner is updated due to the property is being animating.
+ * @return An updated flag
+ */
+ bool Updated() const
+ {
+ return mUpdated;
+ }
// Constraints
/**
* @copydoc UniformMap::Add
*/
- virtual void AddUniformMapping( OwnerPointer< UniformPropertyMapping >& map );
+ virtual void AddUniformMapping(const UniformPropertyMapping& map);
/**
* @copydoc UniformMap::Remove
*/
- virtual void RemoveUniformMapping( const std::string& uniformName );
+ virtual void RemoveUniformMapping( const ConstString& uniformName );
/**
* Get the mappings table
*/
void RemoveUniformMapObserver( UniformMap::Observer& observer );
+ /**
+ * Query whether playing an animation is possible or not.
+ * @return true if playing an animation is possible.
+ */
+ virtual bool IsAnimationPossible() const
+ {
+ return true;
+ }
protected:
OwnedPropertyContainer mCustomProperties; ///< Properties provided with InstallCustomProperty()
UniformMap mUniformMaps; ///< Container of owned uniform maps
+ bool mUpdated;
+ bool mIsConnectedToSceneGraph;
private:
-
- typedef Dali::Vector<PropertyOwner::Observer*> ObserverContainer;
- typedef ObserverContainer::Iterator ObserverIter;
- typedef ObserverContainer::ConstIterator ConstObserverIter;
+ using ObserverContainer = Dali::Vector<PropertyOwner::Observer*>;
+ using ObserverIter = ObserverContainer::Iterator;
+ using ConstObserverIter = ObserverContainer::ConstIterator;
ObserverContainer mObservers; ///< Container of observer raw-pointers (not owned)
} // namespace Dali
-#endif // __DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H__
+#endif // DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H