Delay in Flick Event Registration in Tizen Native Application

Original Created Jun 21, 2017 | Regeneration Apr 22, 2026

I'm trying to implement flick gesture handling in my Tizen native application by following the guide at: https://developer.tizen.org/ko/development/guides/native-application/user-interface/efl/event-handling/handling-touch-gestures?langswitch=ko

The implementation works, but there's a noticeable delay before the flick event callback is triggered. The callback only starts working after some time has passed. Here's my current implementation:

Evas_Object* pImgScroller = AddScroller();
Evas_Object* pImgScrollerBox = elm_box_add(pImgScroller);
Evas_Object* pGestureLayer = elm_gesture_layer_add(pImgScrollerBox);

if(pGestureLayer) {
    elm_gesture_layer_attach(pGestureLayer, pImgScrollerBox);
    elm_gesture_layer_flick_time_limit_ms_set(pGestureLayer, 1000);
    elm_gesture_layer_cb_set(pGestureLayer, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_END, flick_end, pImgScroller);
}

// Callback function
static Evas_Event_Flags flick_end(void *data, void *event_info) {
    MINTLOG("[PBJ] Flick");
}

Is there any way to eliminate this initial delay or at least detect when the registration is complete? Any help would be appreciated.

Problem Understanding

The user is experiencing a delay between gesture layer initialization and when the flick event callback becomes active. This delay affects the responsiveness of the application.

Solution Methods

  1. Check Event Sequence: Ensure the gesture layer is properly attached before expecting callbacks. The delay might be due to the system waiting for the complete touch sequence (down-move-up).

  2. Adjust Time Threshold: Modify the flick time limit to see if it affects the responsiveness:

    elm_gesture_layer_flick_time_limit_ms_set(pGestureLayer, 500); // Try reducing from 1000ms
    
  3. Verify Callback Registration: Add logging to confirm when the callback is actually registered:

    if (elm_gesture_layer_cb_set(pGestureLayer, ELM_GESTURE_N_FLICKS, ELM_GESTURE_STATE_END, flick_end, pImgScroller)) {
        MINTLOG("Flick callback registered successfully");
    }
    

Additional Tips

  • Make sure the gesture layer has proper dimensions and is actually receiving touch events
  • Consider using ELM_GESTURE_STATE_MOVE in addition to ELM_GESTURE_STATE_END for more immediate feedback
  • Check if other gesture callbacks (like tap or long tap) are responding faster, which might indicate a flick-specific issue

Customize your cookie preferences

You can enable or disable non-essential cookies. Essential cookies are always on to ensure the site works properly and to keep you signed in.

Necessary

These cookies are necessary for the website to function properly and cannot be switched off. They help with things like logging in and setting your privacy preferences.

Always on

Analytics

These cookies help us improve the site by tracking which pages are most popular and how visitors move around the site.

Enable analytics cookies
Public Forum Public Forum
Employees only. Please sign in with your company account.