1 #ifndef __DALI_INTERNAL_CONSTRAINT_SOURCE_H__
2 #define __DALI_INTERNAL_CONSTRAINT_SOURCE_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 // Licensed under the Flora License, Version 1.0 (the License);
8 // you may not use this file except in compliance with the License.
9 // You may obtain a copy of the License at
11 // http://floralicense.org/license/
13 // Unless required by applicable law or agreed to in writing, software
14 // distributed under the License is distributed on an AS IS BASIS,
15 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 // See the License for the specific language governing permissions and
17 // limitations under the License.
21 #include <dali/public-api/common/vector-wrapper.h>
22 #include <dali/public-api/animation/constraint-source.h>
23 #include <dali/internal/event/common/proxy-object.h>
32 typedef std::vector<Source> SourceContainer;
33 typedef SourceContainer::iterator SourceIter;
36 * The source of an input property for a constraint.
44 : sourceType( OBJECT_PROPERTY ),
45 propertyIndex( Property::INVALID_INDEX ),
51 * Create a constraint source from a public handle.
52 * The internal proxy object is not referenced by the Internal::Source; therefore
53 * the owner of this object is responsible for observing the ProxyObject's lifetime.
55 Source( Dali::ConstraintSource& source )
56 : sourceType( source.sourceType ),
57 propertyIndex( source.propertyIndex ),
62 object = &dynamic_cast< ProxyObject& > ( GetImplementation(source.object) );
66 SourceType sourceType; ///< The source type
68 Property::Index propertyIndex; ///< The index of the source property
70 ProxyObject* object; ///< The target object; only valid if sourceType == OBJECT_PROPERTY
73 } // namespace Internal
77 #endif // __DALI_INTERNAL_CONSTRAINT_SOURCE_H__