if (val == VCONFKEY_PM_STATE_NORMAL) {
LOCK_SCREEN_TRACE_DBG("LCD on");
update_time(ad);
+ if(ad->ao_bg) {
+ elm_access_highlight_set(ad->ao_bg);
+ }
} else {
init_slider_touch_variables(ad);
}
}
+static Eina_Bool _mouse_cb(void *data, Evas_Object *obj, void *action_info)
+{
+ struct appdata *ad = data;
+ if (!ad) return EINA_FALSE;
+
+ Elm_Access_Action_Info *a;
+ a = (Elm_Access_Action_Info *) action_info;
+ if (!a) return EINA_FALSE;
+ LOCK_SCREEN_TRACE_DBG("event : %d, read x: %d, y: %d\n", a->mouse_type, a->x, a->y);
+
+ static Eina_Bool bDrag = EINA_FALSE;
+ static int event = 0;
+ static int origin_x = -1;
+ static int origin_y = -1;
+
+ int step_width = 0;
+ int step_number = 0;
+ int alpha = 0;
+
+ event = a->mouse_type;
+ if(event == 0) {
+ origin_x = a->x;
+ origin_y = a->y;
+ bDrag = EINA_TRUE;
+
+ edje_object_signal_emit(_EDJ(ad->slider), "press",
+ "lock.image.l");
+ edje_object_signal_emit(_EDJ(ad->slider), "press02",
+ "lock.image.r");
+ } else if(event == 1) {
+ if(bDrag == EINA_FALSE) {
+ return EINA_FALSE;
+ }
+ if(abs(a->y - origin_y) > _X(80)){
+ bDrag = EINA_FALSE;
+ } else {
+ step_width = _X(360)/14;
+ step_number = abs(a->x - origin_x) / step_width;
+ alpha = 255 - (2.55 * step_number *3);
+
+ if (step_number < 1) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press02",
+ "lock.image.r");
+ } else if (step_number < 2) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press03",
+ "lock.image.r");
+ } else if (step_number < 3) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press04",
+ "lock.image.r");
+ } else if (step_number < 4) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press05",
+ "lock.image.r");
+ } else if (step_number < 5) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press06",
+ "lock.image.r");
+ } else if (step_number < 6) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press07",
+ "lock.image.r");
+ } else if (step_number < 7) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press08",
+ "lock.image.r");
+ } else if (step_number < 8) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press09",
+ "lock.image.r");
+ } else if (step_number < 9) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press10",
+ "lock.image.r");
+ } else if (step_number < 10) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press11",
+ "lock.image.r");
+ } else if (step_number < 11) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press12",
+ "lock.image.r");
+ } else if (step_number < 12) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press13",
+ "lock.image.r");
+ } else if (step_number < 13) {
+ edje_object_signal_emit(_EDJ(ad->slider), "press14",
+ "lock.image.r");
+ } else {
+ edje_object_signal_emit(_EDJ(ad->slider), "press15",
+ "lock.image.r");
+ }
+ evas_object_color_set(ad->ly_main, alpha, alpha, alpha, alpha);
+ }
+ } else if(event == 2) {
+ edje_object_signal_emit(_EDJ(ad->slider), "release", "lock.image.l");
+ edje_object_signal_emit(_EDJ(ad->slider), "release", "lock.image.r");
+ evas_object_color_set(ad->ly_main, 255, 255, 255, 255);
+ ad->bDrag = 0;
+
+ if(bDrag == EINA_TRUE && abs(a->x - origin_x) > _X(360)) {
+
+ if(ad->slider) {
+ evas_object_del(ad->slider);
+ ad->slider = NULL;
+ }
+ LOCK_SCREEN_TRACE_DBG("unlock the lock-screen");
+ elm_win_indicator_mode_set(ad->win, ELM_WIN_INDICATOR_HIDE);
+ elm_object_signal_emit(ad->ly_main, "transit,clipper", "clipper");
+ vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_UNLOCK);
+ }
+ bDrag = EINA_FALSE;
+ }
+ return EINA_TRUE;
+}
+
+static Evas_Object *_access_object_get(Evas_Object *obj, const char *part)
+{
+ if(obj == NULL || part == NULL){
+ LOCK_SCREEN_TRACE_ERR("");
+ return NULL;
+ }
+ Evas_Object *to = NULL;
+ Evas_Object *ao = NULL;
+ to = (Evas_Object *)edje_object_part_object_get(elm_layout_edje_get(obj), part);
+ if(to == NULL) {
+ LOCK_SCREEN_TRACE_ERR("");
+ return NULL;
+ }
+ ao = elm_access_object_get(to);
+ if(ao == NULL) {
+ ao = elm_access_object_register(to, obj);
+ }
+ return ao;
+}
+
static Eina_Bool _init_widget_cb(void *data)
{
struct appdata *ad = data;
edje_object_signal_callback_add(_EDJ(ad->ly_main), "exit,app", "event", _app_exit, ad);
+ ad->ao_bg = _access_object_get(ad->ly_main, "tts.bg");
+ if(ad->ao_bg) {
+ elm_access_action_cb_set(ad->ao_bg, ELM_ACCESS_ACTION_MOUSE, _mouse_cb, ad);
+ }
+
vconf_set_int(VCONFKEY_IDLE_LOCK_STATE, VCONFKEY_IDLE_LOCK);
return ECORE_CALLBACK_CANCEL;