How to set orientation onto rotate gesture

How to change orientation onto rotate gesture
static void registerRotateListeners(appdata_s *ad)
{
    elm_gesture_layer_cb_set(ad->gl, ELM_GESTURE_ROTATE,
        ELM_GESTURE_STATE_START, rotate_end, ad);
}

Evas_Event_Flags rotate_end(void *data, void *event_info)
{
    appdata_s *ad = (appdata_s *)data;
    Elm_Gesture_Rotate_Info *p = (Elm_Gesture_Rotate_Info *) event_info;

    double rotated_angle =p->angle - p->base_angle;
    if (rotated_angle < 0.0)
    {
        rotated_angle = 360.0 + rotated_angle;
    }

    int curOrientation= (int)elm_image_orient_get(ad->img);

    if (rotated_angle > 45.0 && rotated_angle <135.0)
    {
        curOrientation = (curOrientation + (int)ELM_IMAGE_ROTATE_90)%4;
    }
    else if (rotated_angle > 135.0 && rotated_angle <225.0)
    {
        curOrientation = (curOrientation + (int)ELM_IMAGE_ROTATE_180)%4;
    }
    else if (rotated_angle > 225.0 && rotated_angle <315.0)
    {
        curOrientation = (curOrientation + (int)ELM_IMAGE_ROTATE_270)%4;
    }
    else
    {
        return EVAS_EVENT_FLAG_NONE;
    }

    elm_image_orient_set(ad->img, (Elm_Image_Orient)curOrientation);
    return EVAS_EVENT_FLAG_NONE;
}

Responses

0 Replies