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;
}