1 #ifndef DALI_DEMO_BEAT_CONTROL_H
2 #define DALI_DEMO_BEAT_CONTROL_H
5 * Copyright (c) 2016 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.
20 #include <dali-toolkit/dali-toolkit.h>
28 // All type registered types need to have the same name for the body and the handle
33 * Control that allows the RGB channels of an image to be altered.
35 class BeatControl : public Dali::Toolkit::Control
39 * The start and end property ranges for this control
43 PROPERTY_START_INDEX = Dali::Toolkit::Control::CONTROL_PROPERTY_END_INDEX + 1,
44 PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000,
45 ANIMATABLE_PROPERTY_START_INDEX = Dali::ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX,
46 ANIMATABLE_PROPERTY_END_INDEX = ANIMATABLE_PROPERTY_START_INDEX+1000
53 BOUNCE_TRANSITION = PROPERTY_START_INDEX,
60 public: // Construction / destruction
63 * Create an uninitialized handle
68 * Create a new image channel control without an image. Use
69 * SetImage to give this control an image
71 static BeatControl New();
74 * Create a new image channel control from a given URL
76 static BeatControl New( const std::string& url );
79 * Destructor. This is non-virtual since derived Handle types must not
80 * contain data or virtual methods
87 BeatControl( const BeatControl& beatControl );
92 BeatControl& operator=( const BeatControl& beatControl );
97 static BeatControl DownCast( BaseHandle handle );
101 void StartBounceAnimation();
103 void StartXAnimation();
105 void StartYAnimation();
107 public: // Not for public use
109 * Create a handle from an implementation
111 BeatControl( Internal::BeatControl& implementation );
114 * Allow the creation of an BeatControl handle from an internal CustomActor pointer
116 BeatControl( Dali::Internal::CustomActor* internal );
121 #endif // DALI_DEMO_BEAT_CONTROL_H