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 Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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.
22 #include <dali/public-api/common/vector-wrapper.h>
23 #include <dali/public-api/animation/constraint-source.h>
24 #include <dali/internal/event/common/proxy-object.h>
33 typedef std::vector<Source> SourceContainer;
34 typedef SourceContainer::iterator SourceIter;
37 * The source of an input property for a constraint.
45 : sourceType( OBJECT_PROPERTY ),
46 propertyIndex( Property::INVALID_INDEX ),
52 * Create a constraint source from a public handle.
53 * The internal proxy object is not referenced by the Internal::Source; therefore
54 * the owner of this object is responsible for observing the ProxyObject's lifetime.
56 Source( Dali::ConstraintSource& source )
57 : sourceType( source.sourceType ),
58 propertyIndex( source.propertyIndex ),
63 object = &dynamic_cast< ProxyObject& > ( GetImplementation(source.object) );
67 SourceType sourceType; ///< The source type
69 Property::Index propertyIndex; ///< The index of the source property
71 ProxyObject* object; ///< The target object; only valid if sourceType == OBJECT_PROPERTY
74 } // namespace Internal
78 #endif // __DALI_INTERNAL_CONSTRAINT_SOURCE_H__