2 * Copyright (c) 2009-2015 Samsung Electronics Co., Ltd All Rights Reserved
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.
21 #define EVAS_DATA_PAGE_HANDLER "page_handler"
23 static inline void _scroll_hold(Evas_Object *viewer)
26 retif(viewer == NULL, , "Invalid parameter!");
28 hold_count = elm_object_scroll_hold_get(viewer);
30 if (hold_count <= 0) {
31 elm_object_scroll_hold_push(viewer);
35 static inline void _scroll_unhold(Evas_Object *viewer)
37 int i = 0, hold_count = 0;
38 retif(viewer == NULL, , "Invalid parameter!");
40 hold_count = elm_object_scroll_hold_get(viewer);
42 for (i = 0 ; i < hold_count; i++) {
43 elm_object_scroll_hold_pop(viewer);
47 static inline void _scroll_freeze(Evas_Object *viewer)
49 int freezed_count = 0;
50 retif(viewer == NULL, , "Invalid parameter!");
52 freezed_count = elm_object_scroll_freeze_get(viewer);
54 if (freezed_count <= 0) {
55 elm_object_scroll_freeze_push(viewer);
59 static inline void _scroll_unfreeze(Evas_Object *viewer)
61 int i = 0, freezed_count = 0;
62 retif(viewer == NULL, , "Invalid parameter!");
64 freezed_count = elm_object_scroll_freeze_get(viewer);
66 for (i = 0 ; i < freezed_count; i++) {
67 elm_object_scroll_freeze_pop(viewer);
71 HAPI void quickpanel_page_handler_set(Evas_Object *page, QP_Page_Handler *handler)
73 retif(page == NULL, , "invalid parameter");
75 evas_object_data_set(page, EVAS_DATA_PAGE_HANDLER, handler);
78 HAPI QP_Page_Handler *quickpanel_page_handler_get(Evas_Object *page)
80 retif(page == NULL, NULL, "invalid parameter");
82 return evas_object_data_get(page, EVAS_DATA_PAGE_HANDLER);
85 HAPI void quickpanel_page_scroll_freeze_set(Eina_Bool is_freeze)
87 Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
88 retif(pager_scroller == NULL, , "pager null");
91 _scroll_freeze(pager_scroller);
93 _scroll_unfreeze(pager_scroller);
97 HAPI void quickpanel_page_scroll_hold_set(Eina_Bool is_freeze)
99 Evas_Object *pager_scroller = quickpanel_pager_view_get("SCROLLER");
100 retif(pager_scroller == NULL, , "pager null");
103 _scroll_hold(pager_scroller);
105 _scroll_unhold(pager_scroller);
109 HAPI void quickpanel_page_get_recoordinated_pos(int local_x, int local_y, int *x, int *y)
115 retif(x == NULL && y == NULL, , "invalid parameter");
117 struct appdata *ad = quickpanel_get_app_data();
118 retif(ad == NULL, , "invalid parameter");
120 //ecore_x_window_size_get(ecore_x_window_root_first_get(), &width, &height);
121 elm_win_screen_size_get(ad->win, NULL, NULL, &width, &height);
129 rot_x = height - local_y;
133 rot_x = width - local_x;
134 rot_y = height - local_y;
138 rot_y = width - local_x;
153 HAPI void quickpanel_page_get_touched_pos(int *x, int *y)
159 retif(x == NULL && y == NULL, , "invalid parameter");
161 struct appdata *ad = quickpanel_get_app_data();
162 retif(ad == NULL, , "invalid parameter");
164 ecore_x_pointer_last_xy_get(&local_x, &local_y);
165 quickpanel_page_get_recoordinated_pos(local_x, local_y, &rot_x, &rot_y);
176 HAPI void quickpanel_page_editing_icon_visible_status_update(void)
179 struct appdata *ad = quickpanel_get_app_data();
180 retif(ad == NULL, , "invalid parameter");
182 if (quickpanel_pager_current_page_get() == PAGE_IDX_EDITING) {
188 quickpanel_datetime_editing_icon_visibility_set(is_visible);