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 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.
22 #include "button-painter-impl.h"
27 // Forward declarations
34 // Forward declarations
41 // Forward declarations
43 class PushButtonPainter;
46 * PushButtonPainter methods should be implemented in a subclass.
48 class PushButtonPainter : public ButtonPainter
55 virtual ~PushButtonPainter() {}
58 * This method is called from the Dali::Toolkit::Internal::PushButton when the
59 * \e autorepeating property changes.
60 * @param[in] autorepeating property.
62 virtual void SetAutoRepeating( bool autorepeating ) = 0;
65 * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
66 * object is registered, is pressed.
67 * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
68 * implementation, in which this object is registered.
70 virtual void Pressed( Toolkit::PushButton& button ) = 0;
73 * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
74 * object is registered, is released.
75 * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
76 * implementation, in which this object is registered.
78 virtual void Released( Toolkit::PushButton& button ) = 0;
81 * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
82 * object is registered, is clicked.
83 * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
84 * implementation, in which this object is registered.
86 virtual void Clicked( Toolkit::PushButton& button ) = 0;
89 * This method is called when the Dali::Toolkit::Internal::PushButton, in which this
90 * object is registered, is toggled.
91 * @param[inout] button The Dali::Toolkit::PushButton, linked to the internal
92 * implementation, in which this object is registered.
94 virtual void Toggled( Toolkit::PushButton& button ) = 0;
96 /////////////////////////////////////////////////////////////////////////////
97 // ButtonPainter interface
98 /////////////////////////////////////////////////////////////////////////////
101 * @copydoc ButtonPainter::Initialize( Toolkit::Button& button )
103 virtual void Initialize( Toolkit::Button& button ) = 0;
106 * @copydoc ButtonPainter::SetSize( Toolkit::Button& button, const Vector3& size )
108 virtual void SetSize( Toolkit::Button& button, const Vector3& size ) = 0;
111 * @copydoc ButtonPainter::SetDisabled( Toolkit::Button& button, bool disabled )
113 virtual void SetDisabled( Toolkit::Button& button, bool disabled ) = 0;
116 * @copydoc ButtonPainter::SetAnimationTime()
118 virtual void SetAnimationTime( float animationTime ) = 0;
121 * @copydoc ButtonPainter::GetAnimationTime()
123 virtual float GetAnimationTime() const = 0;
126 } // namespace Internal
128 } // namespace Toolkit
132 #endif // __DALI_TOOLKIT_INTERNAL_PUSH_BUTTON_PAINTER_H__