remove unused code
[apps/core/preloaded/quickpanel.git] / daemon / page / pager_common.c
1 /*
2  * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
3  *
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
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
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.
15  *
16  */
17
18 #include <Elementary.h>
19
20 #include <tzsh.h>
21 #include <tzsh_quickpanel_service.h>
22 #include <E_DBus.h>
23
24 #include "quickpanel-ui.h"
25 #include "common.h"
26 #include "pager.h"
27 #include "datetime.h"
28
29 #define EVAS_DATA_PAGE_HANDLER "page_handler"
30
31 static inline void _scroll_hold(Evas_Object *viewer)
32 {
33         int hold_count = 0;
34         retif(viewer == NULL, , "Invalid parameter!");
35
36         hold_count = elm_object_scroll_hold_get(viewer);
37
38         if (hold_count <= 0) {
39                 elm_object_scroll_hold_push(viewer);
40         }
41 }
42
43 static inline void _scroll_unhold(Evas_Object *viewer)
44 {
45         int i = 0, hold_count = 0;
46         retif(viewer == NULL, , "Invalid parameter!");
47
48         hold_count = elm_object_scroll_hold_get(viewer);
49
50         for (i = 0 ; i < hold_count; i++) {
51                 elm_object_scroll_hold_pop(viewer);
52         }
53 }
54
55 static inline void _scroll_freeze(Evas_Object *viewer)
56 {
57         int freezed_count = 0;
58         retif(viewer == NULL, , "Invalid parameter!");
59
60         freezed_count = elm_object_scroll_freeze_get(viewer);
61
62         if (freezed_count <= 0) {
63                 elm_object_scroll_freeze_push(viewer);
64         }
65 }
66
67 static inline void _scroll_unfreeze(Evas_Object *viewer)
68 {
69         int i = 0, freezed_count = 0;
70         retif(viewer == NULL, , "Invalid parameter!");
71
72         freezed_count = elm_object_scroll_freeze_get(viewer);
73
74         for (i = 0 ; i < freezed_count; i++) {
75                 elm_object_scroll_freeze_pop(viewer);
76         }
77 }
78
79 HAPI void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler)
80 {
81         retif(page == NULL, , "invalid parameter");
82
83         evas_object_data_set(page, EVAS_DATA_PAGE_HANDLER, handler);
84 }
85
86 HAPI QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page)
87 {
88         retif(page == NULL, NULL, "invalid parameter");
89
90         return evas_object_data_get(page, EVAS_DATA_PAGE_HANDLER);
91 }
92
93 HAPI void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze)
94 {
95         Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
96         retif(pager_scroller == NULL, , "pager null");
97
98         if (is_freeze) {
99                 _scroll_freeze(pager_scroller);
100         } else {
101                 _scroll_unfreeze(pager_scroller);
102         }
103 }
104
105 HAPI void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze)
106 {
107         Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
108         retif(pager_scroller == NULL, , "pager null");
109
110         if (is_freeze) {
111                 _scroll_hold(pager_scroller);
112         } else {
113                 _scroll_unhold(pager_scroller);
114         }
115 }
116
117 HAPI void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y)
118 {
119         int rot_x = 0;
120         int rot_y = 0;
121         int width = 0;
122         int height = 0;
123         retif(x == NULL && y == NULL, , "invalid parameter");
124
125         struct appdata *ad = quickpanel_get_app_data();
126         retif(ad == NULL, , "invalid parameter");
127
128         elm_win_screen_size_get(ad->win, NULL, NULL, &width, &height);
129
130         switch (ad->angle) {
131         case 0:
132                 rot_x = local_x;
133                 rot_y = local_y;
134                 break;
135         case 90:
136                 rot_x = height - local_y;
137                 rot_y = local_x;
138                 break;
139         case 180:
140                 rot_x = width - local_x;
141                 rot_y = height - local_y;
142                 break;
143         case 270:
144                 rot_x = local_y;
145                 rot_y = width - local_x;
146                 break;
147         default:
148                 break;
149         }
150
151         if (x != NULL) {
152                 *x = rot_x;
153         }
154
155         if (y != NULL) {
156                 *y = rot_y;
157         }
158 }
159
160 HAPI void quickpanel_page_get_touched_pos(int *x, int *y)
161 {
162         int rot_x = 0;
163         int rot_y = 0;
164         int local_x = 0;
165         int local_y = 0;
166         retif(x == NULL && y == NULL, , "invalid parameter");
167
168         struct appdata *ad = quickpanel_get_app_data();
169         retif(ad == NULL, , "invalid parameter");
170
171 #if defined(WINSYS_X11)
172         ecore_x_pointer_last_xy_get(&local_x, &local_y);
173 #endif
174
175         quickpanel_page_get_recoordinated_pos(local_x, local_y, &rot_x, &rot_y);
176
177         if (x != NULL) {
178                 *x = rot_x;
179         }
180
181         if (y != NULL) {
182                 *y = rot_y;
183         }
184 }
185
186 HAPI void quickpanel_page_editing_icon_visible_status_update(void)
187 {
188         int is_visible = 0;
189         struct appdata *ad;
190
191         ad = quickpanel_get_app_data();
192         retif(ad == NULL, , "invalid parameter");
193
194         if (quickpanel_pager_current_page_get() == PAGE_IDX_EDITING) {
195                 is_visible = 1;
196         } else {
197                 is_visible = 0;
198         }
199
200         quickpanel_datetime_editing_icon_visibility_set(is_visible);
201 }