30c6caa485fc3765e7baaa75a761e0944f1ba74f
[platform/core/uifw/dali-toolkit.git] / capi / dali-toolkit / public-api / controls / default-controls / push-button-factory.h
1 #ifndef __DALI_TOOLKIT_PUSH_BUTTON_FACTORY_H__
2 #define __DALI_TOOLKIT_PUSH_BUTTON_FACTORY_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 /**
21  * @addtogroup CAPI_DALI_TOOLKIT_DEFAULT_CONTROLS_MODULE
22  * @{
23  */
24
25 // INTERNAL INCLUDES
26 #include <dali/dali.h>
27 #include <dali-toolkit/public-api/controls/buttons/push-button.h>
28
29 namespace Dali DALI_IMPORT_API
30 {
31
32 namespace Toolkit
33 {
34
35 /**
36  * @brief Creates a push button with the given images.
37  * Images will be shrunk to fit the button size keeping their aspect ratio.
38  * @note Images won't be scaled to fill the whole button size.
39  * @note If an image path is empty, this image is not set to the button.
40  *
41  * @param[in] releasedImagePath          Image path to be shown when the button is released.
42  * @param[in] pressedImagePath           Image path to be shown when the button is pressed.
43  * @param[in] backgroundImagePath        Image path to be shown as button background.
44  * @param[in] dimmedReleasedImagePath    Image path to be shown when the button is released and dimmed.
45  * @param[in] dimmedBackgroundImagePath  Image path to be shown as button background when the button is dimmed.
46  * @return A handle to the new push button
47  */
48 PushButton CreatePushButton( const std::string& releasedImagePath, const std::string& pressedImagePath, const std::string& backgroundImagePath,
49                              const std::string& dimmedReleasedImagePath, const std::string& dimmedBackgroundImagePath );
50
51 /**
52  * @brief Creates a push button with the given images.
53  *
54  * Images will be shrunk to fit the button size keeping their aspect ratio.
55  * @note Images won't be scaled to fill the whole button size.
56  * @note If an image is an empty handle, this image is not set to the button.
57  *
58  * @param[in] releasedImageActor          Image to be shown when the button is released.
59  * @param[in] pressedImageActor           Image to be shown when the button is pressed.
60  * @param[in] backgroundImageActor        Image to be shown as button background.
61  * @param[in] dimmedReleasedImageActor    Image to be shown when the button is released and dimmed.
62  * @param[in] dimmedBackgroundImageActor  Image to be shown as button background when the button is dimmed.
63  * @return A handle to the new pushbutton
64  */
65 PushButton CreatePushButton( Actor releasedImageActor, Actor pressedImageActor, Actor backgroundImageActor,
66                              Actor dimmedReleasedImageActor, Actor dimmedBackgroundImageActor );
67
68 /**
69  * @brief Creates a push button with the given background image.
70  *
71  * Background image will be shrunk to fit the button size keeping its aspect ratio.
72  * @note Background image won't be scaled to fill the whole button size.
73  *
74  * @param[in] backgroundImagePath  Image path to be shown as button background.
75  * @return a handle to the new push button
76  */
77 PushButton CreatePushButton( const std::string& backgroundImagePath );
78
79 /**
80  * @brief Creates a push button with the given background image.
81  *
82  * Background image will be shrunk to fit the button size keeping its aspect ratio.
83  * @note Background image won't be scaled to fill the whole button size.
84  *
85  * @param[in] backgroundImageActor  Image to be shown as button background.
86  * @return a handle to the new push button
87  */
88 PushButton CreatePushButton( Actor backgroundImageActor );
89
90 } // namespace Toolkit
91
92 } // namespace Dali
93
94 /**
95  * @}
96  */
97 #endif // __DALI_TOOLKIT_PUSH_BUTTON_FACTORY_H__