Dali 3D User Interface Engine
path-constrainer.h
Go to the documentation of this file.
1 #ifndef __DALI_PATH_CONSTRAINER_H__
2 #define __DALI_PATH_CONSTRAINER_H__
3 
4 /*
5  * Copyright (c) 2015 Samsung Electronics Co., Ltd.
6  *
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
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
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.
18  *
19  */
20 
21 //EXTERNAL INCLUDES
22 #include <cfloat> //For FLT_MAX
23 
24 // INTERNAL INCLUDES
28 
29 namespace Dali
30 {
31 
32 namespace Internal DALI_INTERNAL
33 {
34  class PathConstrainer;
35 }
45 {
46 public:
47 
51  struct Property
52  {
53  enum
54  {
57  CONTROL_POINTS
58  };
59  };
60 
66  static PathConstrainer New();
67 
76  static PathConstrainer DownCast( BaseHandle handle );
77 
85 
91  ~PathConstrainer();
92 
98  PathConstrainer(const PathConstrainer& handle);
99 
106  PathConstrainer& operator=(const PathConstrainer& rhs);
107 
116  void Apply( Dali::Property target, Dali::Property source, const Vector2& range, const Vector2& wrap = Vector2(-FLT_MAX, FLT_MAX) );
117 
123  void Remove( Dali::Handle& target );
124 
125 public: // Not intended for application developers
131  explicit DALI_INTERNAL PathConstrainer(Internal::PathConstrainer* pathConstrainer);
132 };
133 
134 } // namespace Dali
135 
136 #endif // __DALI_PATH_CONSTRAINER_H__
Dali Docs Home
Read more about Dali