28a181de65cdaedca88481a88e75c6fde3119330
[apps/core/preloaded/ug-camera-efl.git] / include / cam_ui_effect_utils.h
1 /*\r
2  * Copyright 2012  Samsung Electronics Co., Ltd\r
3  *\r
4  * Licensed under the Flora License, Version 1.0 (the "License");\r
5  * you may not use this file except in compliance with the License.\r
6  * You may obtain a copy of the License at\r
7  *\r
8  *        http://floralicense.org/license/\r
9  *\r
10  * Unless required by applicable law or agreed to in writing, software\r
11  * distributed under the License is distributed on an "AS IS" BASIS,\r
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
13  * See the License for the specific language governing permissions and\r
14  * limitations under the License.\r
15  */\r
16 \r
17 \r
18 #ifndef __H_CAM_UI_EFFECT_UTILS_H__\r
19 #define __H_CAM_UI_EFFECT_UTILS_H__\r
20 \r
21 #include "cam.h"
22 /*\r
23 * for thumbnail animation\r
24 */\r
25 struct cam_ui_effect_custom_effect\r
26 {\r
27         Evas_Coord x, y;\r
28         struct _size\r
29         {\r
30                 Evas_Coord w, h;\r
31         } from, to;\r
32 };\r
33
34 /**\r
35  * @brief               get @focus object zoom or origin state\r
36  * @return                      Operation result\r
37  * @return                      TRUE: origin state, not zoom; FALSE: zoom state.\r
38  */\r
39 gboolean cam_ui_effect_utils_get_zoom_state();
40 /**\r
41  * @brief               set @obj zoom from @from_rate to @to_rate and then go back origin size\r
42  * @param[in]   obj     The object to be set\r
43  * @param[in]   from_rate       start size\r
44  * @param[in]   to_rate                 end size\r
45  * @param[in]   duration        effect duration time\r
46  * @return                      Operation result\r
47  * @return                      void\r
48  */\r
49 void cam_ui_effect_utils_set_zoom_inout_effect(Evas_Object *obj, float from_rate, float to_rate, double duration);\r
50 /**\r
51  * @brief               set @obj zoom from @from_rate to @to_rate\r
52  * @param[in]   obj     The object to be set\r
53  * @param[in]   from_rate       start size\r
54  * @param[in]   to_rate                 end size\r
55  * @param[in]   duration        effect duration time\r
56  * @return                      Operation result\r
57  * @return                      void\r
58  */\r
59 void cam_ui_effect_utils_set_zoom_effect(Evas_Object *obj, float from_rate, float to_rate, double duration);\r
60
61 /**\r
62  * @brief               set @obj resize at x,y h: fixed value @h; w: from 0 to @w\r
63  * @param[in]   obj     The object to be set\r
64  * @param[in]   x       x coordinate\r
65  * @param[in]   y       y coordinate\r
66  * @param[in]   w       @obj max width\r
67  * @param[in]   h       @obj max height\r
68  * @param[in]   duration        effect duration time\r
69  * @return                      Operation result\r
70  * @return                      void\r
71  */\r
72 void cam_ui_effect_utils_set_thumbnail_effect(Evas_Object *obj,\r
73                                                                 Evas_Coord x,\r
74                                                                 Evas_Coord y,\r
75                                                                 Evas_Coord w,\r
76                                                                 Evas_Coord h,\r
77                                                                 double duration);
78 /**\r
79  * @brief               stop zoom effect transit pointer, created by cam_ui_effect_utils_set_zoom_effect\r
80  * @param[in]   void\r
81  * @return      void\r
82  */\r
83 void cam_ui_effect_utils_stop_zoom_effect(void);\r
84 \r
85 #endif  /* __H_CAM_UI_EFFECT_UTILS_H__ */\r
86 //end file\r