1 #ifndef DALI_DEMO_IMAGE_CHANNEL_CONTROL_H
2 #define DALI_DEMO_IMAGE_CHANNEL_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
29 class ImageChannelControl;
33 * Control that allows the RGB channels of an image to be altered.
35 class ImageChannelControl : 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 RESOURCE_URL = PROPERTY_START_INDEX,
58 ENABLE_VISIBILITY_TRANSITION,
59 DISABLE_VISIBILITY_TRANSITION,
64 public: // Construction / destruction
67 * Create an uninitialized handle
69 ImageChannelControl();
72 * Create a new image channel control without an image. Use
73 * SetImage to give this control an image
75 static ImageChannelControl New();
78 * Create a new image channel control from a given URL
80 static ImageChannelControl New( const std::string& url );
83 * Destructor. This is non-virtual since derived Handle types must not
84 * contain data or virtual methods
86 ~ImageChannelControl();
91 ImageChannelControl( const ImageChannelControl& imageChannelControl );
96 ImageChannelControl& operator=( const ImageChannelControl& imageChannelControl );
101 static ImageChannelControl DownCast( BaseHandle handle );
106 * Set the image for this ImageChannelControl
107 * @param[in] url The url of the image resource
109 void SetImage( const std::string& url );
112 * Set the visibility of this control
114 void SetVisibility( bool visibility );
116 public: // Not for public use
118 * Create a handle from an implementation
120 ImageChannelControl( Internal::ImageChannelControl& implementation );
123 * Allow the creation of an ImageChannelControl handle from an internal CustomActor pointer
125 ImageChannelControl( Dali::Internal::CustomActor* internal );
130 #endif // DALI_DEMO_IMAGE_CHANNEL_CONTROL_H