2 * Copyright (c) 2015 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
20 #include <dali-toolkit/public-api/controls/buttons/push-button.h>
24 #include <dali-toolkit/internal/controls/buttons/push-button-impl.h>
25 #include <dali/public-api/actors/image-actor.h>
33 PushButton::PushButton()
38 PushButton::PushButton( Internal::PushButton& implementation )
39 : Button( implementation )
43 PushButton::PushButton( const PushButton& pushButton )
44 : Button( pushButton )
48 PushButton& PushButton::operator=( const PushButton& pushButton )
50 if( &pushButton != this )
52 Button::operator=( pushButton );
57 PushButton::PushButton( Dali::Internal::CustomActor* internal )
60 VerifyCustomActorPointer<Internal::PushButton>(internal);
63 PushButton::~PushButton()
67 PushButton PushButton::New()
69 return Internal::PushButton::New();
72 PushButton PushButton::DownCast( BaseHandle handle )
74 return Control::DownCast<PushButton, Internal::PushButton>(handle);
77 void PushButton::SetButtonImage( Image image )
79 Actor imageActor = ImageActor::New( image );
80 Dali::Toolkit::GetImplementation( *this ).SetButtonImage( imageActor );
83 void PushButton::SetButtonImage( Actor image )
85 Dali::Toolkit::GetImplementation( *this ).SetButtonImage( image );
88 Actor PushButton::GetButtonImage() const
90 return Dali::Toolkit::GetImplementation( *this ).GetButtonImage();
93 void PushButton::SetBackgroundImage( Image image )
95 Actor imageActor = ImageActor::New( image );
96 Dali::Toolkit::GetImplementation( *this ).SetBackgroundImage( imageActor );
99 void PushButton::SetBackgroundImage( Actor image )
101 Dali::Toolkit::GetImplementation( *this ).SetBackgroundImage( image );
104 Actor PushButton::GetBackgroundImage() const
106 return Dali::Toolkit::GetImplementation( *this ).GetBackgroundImage();
109 void PushButton::SetSelectedImage( Image image )
111 Actor imageActor = ImageActor::New( image );
112 imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
113 Dali::Toolkit::GetImplementation( *this ).SetSelectedImage( imageActor );
116 void PushButton::SetSelectedImage( Actor image )
118 Dali::Toolkit::GetImplementation( *this ).SetSelectedImage( image );
121 Actor PushButton::GetSelectedImage() const
123 return Dali::Toolkit::GetImplementation( *this ).GetSelectedImage();
126 void PushButton::SetSelectedBackgroundImage( Image image )
128 Dali::Toolkit::GetImplementation( *this ).SetSelectedBackgroundImage( ImageActor::New( image ) );
131 void PushButton::SetSelectedBackgroundImage( Actor image )
133 Dali::Toolkit::GetImplementation( *this ).SetSelectedBackgroundImage( image );
136 Actor PushButton::GetSelectedBackgroundImage() const
138 return Dali::Toolkit::GetImplementation( *this ).GetSelectedBackgroundImage();
141 void PushButton::SetDisabledBackgroundImage( Image image )
143 Actor imageActor = ImageActor::New( image );
144 imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
145 Dali::Toolkit::GetImplementation( *this ).SetDisabledBackgroundImage( imageActor );
148 void PushButton::SetDisabledBackgroundImage( Actor image )
150 Dali::Toolkit::GetImplementation( *this ).SetDisabledBackgroundImage( image );
153 Actor PushButton::GetDisabledBackgroundImage() const
155 return Dali::Toolkit::GetImplementation( *this ).GetDisabledBackgroundImage();
158 void PushButton::SetDisabledImage( Image image )
160 Actor imageActor = ImageActor::New( image );
161 imageActor.SetResizePolicy( ResizePolicy::USE_NATURAL_SIZE, Dimension::ALL_DIMENSIONS );
162 Dali::Toolkit::GetImplementation( *this ).SetDisabledImage( imageActor );
165 void PushButton::SetDisabledImage( Actor image )
167 Dali::Toolkit::GetImplementation( *this ).SetDisabledImage( image );
170 Actor PushButton::GetDisabledImage() const
172 return Dali::Toolkit::GetImplementation( *this ).GetDisabledImage();
175 } // namespace Toolkit