1 #ifndef __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
2 #define __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__
5 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
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
11 // http://floralicense.org/license/
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.
21 #include "button-painter-impl.h"
26 // Forward declarations
33 // Forward declarations
40 // Forward declarations
42 class PushButtonPainter;
45 * PushButtonPainter methods should be implemented in a subclass.
47 class PushButtonPainter : public ButtonPainter
54 virtual ~PushButtonPainter() {}
57 * This method is called from the Dali::Toolkit::Internal::PushButton when the
58 * \e autorepeating property changes.
59 * @param[in] autorepeating property.
61 virtual void SetAutoRepeating( bool autorepeating ) = 0;
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.
69 virtual void Pressed( Toolkit::PushButton& button ) = 0;
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.
77 virtual void Released( Toolkit::PushButton& button ) = 0;
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.
85 virtual void Clicked( Toolkit::PushButton& button ) = 0;
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.
93 virtual void Toggled( Toolkit::PushButton& button ) = 0;
95 /////////////////////////////////////////////////////////////////////////////
96 // ButtonPainter interface
97 /////////////////////////////////////////////////////////////////////////////
100 * @copydoc ButtonPainter::Initialize( Toolkit::Button& button )
102 virtual void Initialize( Toolkit::Button& button ) = 0;
105 * @copydoc ButtonPainter::SetSize( Toolkit::Button& button, const Vector3& size )
107 virtual void SetSize( Toolkit::Button& button, const Vector3& size ) = 0;
110 * @copydoc ButtonPainter::SetDimmed( Toolkit::Button& button, bool dimmed )
112 virtual void SetDimmed( Toolkit::Button& button, bool dimmed ) = 0;
115 * @copydoc ButtonPainter::SetAnimationTime()
117 virtual void SetAnimationTime( float animationTime ) = 0;
120 * @copydoc ButtonPainter::GetAnimationTime()
122 virtual float GetAnimationTime() const = 0;
125 } // namespace Internal
127 } // namespace Toolkit
131 #endif // __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__