Add 'ExclusiveArch: armv7l' limit build to arm architecture
[platform/core/uifw/dali-toolkit.git] / dali-toolkit / internal / controls / buttons / push-button-painter-impl.h
1 #ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
2 #define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
3
4 //
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
6 //
7 // Licensed under the Flora License, Version 1.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://floralicense.org/license/
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 // INTERNAL INCLUDES
21 #include "button-painter-impl.h"
22
23 namespace Dali
24 {
25
26 // Forward declarations
27
28 class Image;
29
30 namespace Toolkit
31 {
32
33 // Forward declarations
34
35 class PushButton;
36
37 namespace Internal
38 {
39
40 // Forward declarations
41
42 class PushButtonPainter;
43
44 /**
45  * PushButtonPainter methods should be implemented in a subclass.
46  */
47 class PushButtonPainter : public ButtonPainter
48 {
49 public:
50   /**
51    * Destructor.
52    *
53    */
54   virtual ~PushButtonPainter() {}
55
56   /**
57    * This method is called from the Dali::Toolkit::Internal::PushButton when the
58    * \e autorepeating property changes.
59    * @param[in] autorepeating property.
60    */
61   virtual void SetAutoRepeating( bool autorepeating ) = 0;
62
63   /**
64    * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
65    * object is registered, is pressed.
66    * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
67    * implementation, in which this object is registered.
68    */
69   virtual void Pressed( Toolkit::PushButton& button ) = 0;
70
71   /**
72    * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
73    * object is registered, is released.
74    * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
75    * implementation, in which this object is registered.
76    */
77   virtual void Released( Toolkit::PushButton& button ) = 0;
78
79   /**
80    * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
81    * object is registered, is clicked.
82    * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
83    * implementation, in which this object is registered.
84    */
85   virtual void Clicked( Toolkit::PushButton& button ) = 0;
86
87   /**
88    * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
89    * object is registered, is toggled.
90    * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
91    * implementation, in which this object is registered.
92    */
93   virtual void Toggled( Toolkit::PushButton& button ) = 0;
94
95   /////////////////////////////////////////////////////////////////////////////
96   // ButtonPainter interface
97   /////////////////////////////////////////////////////////////////////////////
98
99   /**
100    * @copydoc ButtonPainter::Initialize( Toolkit::Button& button )
101    */
102   virtual void Initialize( Toolkit::Button& button ) = 0;
103
104   /**
105    * @copydoc ButtonPainter::SetSize( Toolkit::Button& button, const Vector3& size )
106    */
107   virtual void SetSize( Toolkit::Button& button, const Vector3& size ) = 0;
108
109   /**
110    * @copydoc ButtonPainter::SetDimmed( Toolkit::Button& button, bool dimmed )
111    */
112   virtual void SetDimmed( Toolkit::Button& button, bool dimmed ) = 0;
113
114   /**
115    * @copydoc ButtonPainter::SetAnimationTime()
116    */
117   virtual void SetAnimationTime( float animationTime ) = 0;
118
119   /**
120    * @copydoc ButtonPainter::GetAnimationTime()
121    */
122   virtual float GetAnimationTime() const = 0;
123 };
124
125 } // namespace Internal
126
127 } // namespace Toolkit
128
129 } // namespace Dali
130
131 #endif // __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__