#define DALI_INTERNAL_SCENE_GRAPH_PROPERTY_OWNER_H
/*
- * Copyright (c) 2019 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.
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;
};
/**
* Retrieve if the property owner is updated due to the property is being animating.
* @return An updated flag
*/
- bool Updated()
+ bool Updated() const
{
return mUpdated;
}
*/
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)