안녕하세요 tizen native 어플리케이션을 개발하고 있습니다.
다음 사이트를 참고하여 thread를 돌려 table 에 입력되는 tap, dobule tap을 구분 하는 앱을 개발하고 있습니다.
Evas_Object *r;
Evas_Object *g;
r = evas_object_rectangle_add(evas_object_evas_get(parent));
evas_object_move(r, 0, 0);
evas_object_color_set(r, 0, 0, 0, 0);
evas_object_resize(r,360,360);
//elm_win_resize_object_add(parent, r);
//제스처 레이어를 만들어 이벤트를 받을 대상이 되는 object 추가.
g = elm_gesture_layer_add(parent);
elm_gesture_layer_attach(g, r);
evas_object_show(r);
while (1) {
dlog_print(DLOG_INFO, "STYLE", "thread run");
/*single_tap*/
elm_gesture_layer_cb_set(g, ELM_GESTURE_N_TAPS, ELM_GESTURE_STATE_END,
n_finger_tap_end, NULL);
/*double_tap */
elm_gesture_layer_cb_set(g, ELM_GESTURE_N_DOUBLE_TAPS,
ELM_GESTURE_STATE_END, dbl_click_end, NULL);
//ecore_thread_feedback(thread, pd);
usleep(3000);
if (pd->data == 1)
ecore_thread_cancel(thread);
if (ecore_thread_check(thread))
break; // 스레드가 취소 보류에 있는지 체크
}
소스는 위와 같이 구성되어 있습니다. 파라미터가 되는 parent는 table입니다.
tap또는 double tap이 입력되었을 경우 ap->data를 1로 변경하여 thread를 멈추는 부분을 테스트하고 있는데요.
thread는 정상적으로 돌고 있지만, tap하고 dobule tap입력이 되지 않아 해결방안에 대해 질문을 올립니다.