radial-sweep-view.h
3.87 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
#ifndef DALI_DEMO_RADIAL_SWEEP_VIEW_H
#define DALI_DEMO_RADIAL_SWEEP_VIEW_H
/*
* Copyright (c) 2015 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
#include <dali-toolkit/dali-toolkit.h>
class RadialSweepViewImpl;
/********************************************************************************
* Handle to RadialSweepView implementation
*/
class RadialSweepView : public Dali::Toolkit::Control
{
public:
/**
* Create a new RadialSweepView with default parameters (2 second animation,
* no rotation, sweeping out a full circle).
*/
static RadialSweepView New( );
/**
* Create a new RadialSweepView.
* @param[in] duration The duration of the sweep animation
* @param[in] diameter The diameter of the stencil mask
* @param[in] initialAngle The initial angle of the anticlockwise line of the sweep sector
* @param[in] finalAngle The final angle of the anticlockwise line of the sweep sector
* @param[in] initialSector The angle of the starting sector
* @param[in] finalSector The angle of the sector at the end of the animation.
* Note, to cover the entire circle, use a value of 359.9999 degrees, not zero or 360 degrees.
*
* initial sector
* \ | .
* \ | .
* initialAngle \ | . final sector
* \| _|
* .________
*/
static RadialSweepView New( float duration,
float diameter,
Dali::Radian initialAngle,
Dali::Radian finalAngle,
Dali::Radian initialSector,
Dali::Radian finalSector );
void SetDuration(float duration);
void SetEasingFunction( Dali::AlphaFunction easingFunction );
void SetDiameter(float diameter);
void SetInitialAngle( Dali::Radian initialAngle);
void SetFinalAngle( Dali::Radian finalAngle);
void SetInitialSector( Dali::Radian initialSector);
void SetFinalSector( Dali::Radian finalSector);
void SetInitialActorAngle( Dali::Radian initialAngle );
void SetFinalActorAngle( Dali::Radian finalAngle );
float GetDuration( );
float GetDiameter( );
Dali::Radian GetInitialAngle( );
Dali::Radian GetFinalAngle( );
Dali::Radian GetInitialSector( );
Dali::Radian GetFinalSector( );
Dali::Radian GetInitialActorAngle( );
Dali::Radian GetFinalActorAngle( );
/**
* @param[in] rotate True if the actors should rotate with the stencil
*/
void RotateActorsWithStencil(bool rotate);
/**
* Add actors to the view
*/
void Add(Actor actor);
/**
* Activate the sweep animation
*/
void Activate( );
void Activate( Dali::Animation anim, float offsetTime, float duration );
/**
* Deactivate the sweep animation
*/
void Deactivate();
/**
* Default constructor. Create an uninitialized handle.
*/
RadialSweepView();
/**
* Copy constructor
*/
RadialSweepView(const RadialSweepView& handle);
/**
* Assignment operator
*/
RadialSweepView& operator=(const RadialSweepView& rhs);
/**
* Destructor
*/
~RadialSweepView();
/**
* Downcast method
*/
static RadialSweepView DownCast( BaseHandle handle );
public: // Not for use by application developers
RadialSweepView( RadialSweepViewImpl& impl );
RadialSweepView( Dali::Internal::CustomActor* impl );
};
#endif