Tizen 2.1 base
[framework/osp/uifw.git] / src / ui / inc / FUiCtrl_ColorPicker.h
1 //
2 // Open Service Platform
3 // Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://floralicense.org/license/
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17 /**
18 * @file                 FUiCtrl_ColorPicker.h
19 * @brief                This is the header file for the _ColorPicker class.
20 *
21 * This header file contains the declarations of the _ColorPicker class.
22 */
23 #ifndef _FUI_CTRL_INTERNAL_COLORPICKER_H_
24 #define _FUI_CTRL_INTERNAL_COLORPICKER_H_
25
26 #include "FUi_Control.h"
27 #include "FUiCtrl_ColorChangeEvent.h"
28 #include "FUi_IAccessibilityListener.h"
29
30 namespace Tizen { namespace Ui {
31 class _AccessibilityElement;
32 }} // Tizen::Ui
33
34 namespace Tizen { namespace Ui { namespace Animations
35 {
36 class _VisualElement;
37 }}} // Tizen::Ui::Animations
38
39 namespace Tizen { namespace Ui { namespace Controls
40 {
41
42 class _IColorChangeEventListener;
43 class _ColorPickerPresenter;
44
45 class _OSP_EXPORT_ _ColorPicker
46         : public Tizen::Ui::_Control
47         , virtual public Tizen::Base::Runtime::IEventListener
48         , virtual public _IUiEventListener
49         , virtual public _IUiEventPreviewer
50         , public _IAccessibilityListener
51 {
52         DECLARE_CLASS_BEGIN(_ColorPicker, Tizen::Ui::_Control);
53         DECLARE_PROPERTY("color", GetPropertyColor, SetPropertyColor);
54         DECLARE_PROPERTY("hue", GetPropertyHue, SetPropertyHue);
55         DECLARE_PROPERTY("saturation", GetPropertySaturation, SetPropertySaturation);
56         DECLARE_PROPERTY("luminance", GetPropertyLuminance, SetPropertyLuminance);
57         DECLARE_CLASS_END();
58
59 // Properties
60         result SetPropertyColor(const Tizen::Ui::Variant& color);
61
62         result SetPropertyHue(const Tizen::Ui::Variant& hue);
63
64         result SetPropertySaturation(const Tizen::Ui::Variant& saturation);
65
66         result SetPropertyLuminance(const Tizen::Ui::Variant& luminance);
67
68         Variant GetPropertyColor(void) const;
69
70         Variant GetPropertyHue(void) const;
71
72         Variant GetPropertySaturation(void) const;
73
74         Variant GetPropertyLuminance(void) const;
75
76 public:
77         Tizen::Graphics::Color GetColor(void) const;
78
79         int GetHue(void) const;
80
81         int GetSaturation(void) const;
82
83         int GetLuminance(void) const;
84
85         result SetColor(const Tizen::Graphics::Color& color);
86
87         result SetHue(int hue);
88
89         result SetSaturation(int saturation);
90
91         result SetLuminance(int luminance);
92
93         result AddColorChangeEventListener(const _IColorChangeEventListener& listener);
94
95         result RemoveColorChangeEventListener(const _IColorChangeEventListener& listener);
96
97         result FireColorChangeEvent(const Tizen::Graphics::Color& color);
98
99         Tizen::Ui::Animations::_VisualElement* GetHueHandler(void);
100
101         Tizen::Ui::Animations::_VisualElement* GetSaturationHandler(void);
102
103         Tizen::Ui::Animations::_VisualElement* GetLuminanceHandler(void);
104
105         Tizen::Ui::_AccessibilityElement* GetAccessibilityElement(int elementId);
106
107         result UpdateView(void);
108
109         virtual ~_ColorPicker(void);
110
111         virtual result OnAttachedToMainTree(void);
112
113         void InitializeAccessibilityElement(void);
114
115         virtual void OnBoundsChanged(void);
116
117         virtual void OnChangeLayout(Tizen::Ui::_ControlOrientation orientation);
118
119         virtual void OnDraw(void);
120
121         virtual bool OnTouchPressed(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
122
123         virtual bool OnTouchMoved(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
124
125         virtual bool OnTouchReleased(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
126
127         virtual bool OnTouchCanceled(const Tizen::Ui::_Control& source, const Tizen::Ui::_TouchInfo& touchinfo);
128
129         static _ColorPicker* CreateColorPickerN(void);
130
131         // accessibility listener
132         virtual bool OnAccessibilityFocusMovedNext(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
133         virtual bool OnAccessibilityFocusMovedPrevious(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
134         virtual bool OnAccessibilityReadElement(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
135         virtual bool OnAccessibilityFocusIn(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
136         virtual bool OnAccessibilityFocusOut(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
137         virtual bool OnAccessibilityActionPerformed(const Tizen::Ui::_AccessibilityContainer& control, const Tizen::Ui::_AccessibilityElement& element){return true;}
138         virtual bool OnAccessibilityValueIncreased(const Tizen::Ui::_AccessibilityContainer&, const Tizen::Ui::_AccessibilityElement&);
139         virtual bool OnAccessibilityValueDecreased(const Tizen::Ui::_AccessibilityContainer&, const Tizen::Ui::_AccessibilityElement&);
140
141 private:
142         _ColorPicker(void);
143
144         _ColorPicker(const _ColorPicker&);
145
146         _ColorPicker& operator =(const _ColorPicker&);
147
148 private:
149
150         _ColorPickerPresenter* __pColorPickerPresenter;
151
152         _ColorChangeEvent* __pColorChangeEvent;
153
154         Tizen::Ui::Animations::_VisualElement* __pHueHandler;
155
156         Tizen::Ui::Animations::_VisualElement* __pSaturationHandler;
157
158         Tizen::Ui::Animations::_VisualElement* __pLuminanceHandler;
159
160         Tizen::Ui::_AccessibilityElement* __pDecreaseHueButtonElement;
161
162         Tizen::Ui::_AccessibilityElement* __pIncreaseHueButtonElement;
163
164         Tizen::Ui::_AccessibilityElement* __pDecreaseSaturationButtonElement;
165
166         Tizen::Ui::_AccessibilityElement* __pIncreaseSaturationButtonElement;
167
168         Tizen::Ui::_AccessibilityElement* __pDecreaseLuminanceButtonElement;
169
170         Tizen::Ui::_AccessibilityElement* __pIncreaseLuminanceButtonElement;
171
172         Tizen::Ui::_AccessibilityElement* __pHueBarElement;
173
174         Tizen::Ui::_AccessibilityElement* __pSaturationBarElement;
175
176         Tizen::Ui::_AccessibilityElement* __pLuminanceBarElement;
177 };      // _ColorPicker
178
179 }}}     // Tizen::Ui::Controls
180
181 #endif //_FUI_CTRL_INTERNAL_COLORPICKER_H_