table에 tap 제스처 사용

table에 tap 제스처 사용

BY 22 Apr 2016 Native Application Development

안녕하세요 tizen native 어플리케이션을 개발하고 있습니다.

다음 사이트를 참고하여 thread를 돌려 table 에 입력되는  tap, dobule tap을 구분 하는 앱을 개발하고 있습니다.

https://developer.tizen.org/development/ui-practices/native-application/efl/ui-component-infrastructure-modules/handling-touch-gestures?langredirect=1#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입력이 되지 않아 해결방안에 대해 질문을 올립니다.

Written by