2 * Copyright (c) 2009-2014 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.
19 #include <Elementary.h>
23 #include "lockscreen.h"
26 #include "tzsh_lockscreen_service.h"
28 #define STR_ATOM_PANEL_SCROLLABLE_STATE "_E_MOVE_PANEL_SCROLLABLE_STATE"
30 static struct _s_info {
34 tzsh_lockscreen_service_h lockscreen_service;
42 .lockscreen_service = NULL,
48 Evas_Object *lock_window_win_get(void)
53 int lock_window_width_get(void)
58 int lock_window_height_get(void)
63 static lock_error_e _tzsh_set(Evas_Object *win)
66 tzsh_lockscreen_service_h lockscreen_service = NULL;
69 retv_if(!win, LOCK_ERROR_INVALID_PARAMETER);
71 tzsh = tzsh_create(TZSH_TOOLKIT_TYPE_EFL);
72 retv_if(!tzsh, LOCK_ERROR_FAIL);
75 tz_win = elm_win_window_id_get(win);
78 return LOCK_ERROR_FAIL;
81 lockscreen_service = tzsh_lockscreen_service_create(tzsh, tz_win);
82 if (!lockscreen_service) {
84 return LOCK_ERROR_FAIL;
86 s_info.lockscreen_service = lockscreen_service;
91 static void _tzsh_unset(void)
93 if (s_info.lockscreen_service) {
94 tzsh_lockscreen_service_destroy(s_info.lockscreen_service);
95 s_info.lockscreen_service = NULL;
99 tzsh_destroy(s_info.tzsh);
104 Evas_Object *lock_window_create(int type)
106 int x = 0, y = 0, w = 0, h = 0;
108 Evas_Object *win = elm_win_add(NULL, "LOCKSCREEN", ELM_WIN_NOTIFICATION);
111 elm_win_alpha_set(win, EINA_TRUE);
112 elm_win_title_set(win, "LOCKSCREEN");
113 elm_win_borderless_set(win, EINA_TRUE);
114 elm_win_autodel_set(win, EINA_TRUE);
115 efl_util_set_notification_window_level(win, EFL_UTIL_NOTIFICATION_LEVEL_MEDIUM);
117 elm_win_screen_size_get(win, &x, &y, &w, &h);
123 if (LOCK_ERROR_OK != _tzsh_set(win)) {
124 _E("Failed to set tzsh");
130 void lock_window_destroy(void)
135 evas_object_del(s_info.win);