forked from enlightenment/efl
elementary/transit - added elm_transit_smooth_set(), elm_transit_smooth_get()
This commit is contained in:
parent
b651a6efac
commit
79fd0192d9
|
@ -1071,3 +1071,7 @@
|
||||||
* Add the option about sending signals in content_pos_set.
|
* Add the option about sending signals in content_pos_set.
|
||||||
When the scroller is resized, the signals("elm,action,scroll", "elm,edge,top" so on) shouldn't be sent,
|
When the scroller is resized, the signals("elm,action,scroll", "elm,edge,top" so on) shouldn't be sent,
|
||||||
because it's not a scroll-action. So in this case, the content_pos_set should be called without the signals.
|
because it's not a scroll-action. So in this case, the content_pos_set should be called without the signals.
|
||||||
|
|
||||||
|
2013-02-28 ChunEon Park (Hermet)
|
||||||
|
|
||||||
|
* Add elm_transit_smooth_set(), elm_transit_smooth_get()
|
||||||
|
|
|
@ -42,6 +42,7 @@ Additions:
|
||||||
* Support widget orientation mode in order to widgets have multiple styles for each window degree.
|
* Support widget orientation mode in order to widgets have multiple styles for each window degree.
|
||||||
* Add elm_drop_target_add() elm_drop_target_del() and elm_drag_start()
|
* Add elm_drop_target_add() elm_drop_target_del() and elm_drag_start()
|
||||||
* Add the option about sending signals in content_pos_set.
|
* Add the option about sending signals in content_pos_set.
|
||||||
|
* Add elm_transit_smooth_set(), elm_transit_smooth_get()
|
||||||
|
|
||||||
Improvements:
|
Improvements:
|
||||||
|
|
||||||
|
|
|
@ -59,6 +59,7 @@ struct _Elm_Transit
|
||||||
Eina_Bool deleted : 1;
|
Eina_Bool deleted : 1;
|
||||||
Eina_Bool state_keep : 1;
|
Eina_Bool state_keep : 1;
|
||||||
Eina_Bool finished : 1;
|
Eina_Bool finished : 1;
|
||||||
|
Eina_Bool smooth : 1;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct _Elm_Transit_Effect_Module
|
struct _Elm_Transit_Effect_Module
|
||||||
|
@ -472,6 +473,7 @@ elm_transit_add(void)
|
||||||
|
|
||||||
transit->v1 = 1.0;
|
transit->v1 = 1.0;
|
||||||
transit->v2 = 0.0;
|
transit->v2 = 0.0;
|
||||||
|
transit->smooth = EINA_TRUE;
|
||||||
|
|
||||||
return transit;
|
return transit;
|
||||||
}
|
}
|
||||||
|
@ -579,6 +581,20 @@ elm_transit_objects_get(const Elm_Transit *transit)
|
||||||
return transit->objs;
|
return transit->objs;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
EAPI void
|
||||||
|
elm_transit_smooth_set(Elm_Transit *transit, Eina_Bool smooth)
|
||||||
|
{
|
||||||
|
ELM_TRANSIT_CHECK_OR_RETURN(transit);
|
||||||
|
transit->smooth = !!smooth;
|
||||||
|
}
|
||||||
|
|
||||||
|
EAPI Eina_Bool
|
||||||
|
elm_transit_smooth_get(const Elm_Transit *transit)
|
||||||
|
{
|
||||||
|
ELM_TRANSIT_CHECK_OR_RETURN(transit, EINA_FALSE);
|
||||||
|
return transit->smooth;
|
||||||
|
}
|
||||||
|
|
||||||
EAPI void
|
EAPI void
|
||||||
elm_transit_event_enabled_set(Elm_Transit *transit, Eina_Bool enabled)
|
elm_transit_event_enabled_set(Elm_Transit *transit, Eina_Bool enabled)
|
||||||
{
|
{
|
||||||
|
@ -1069,6 +1085,7 @@ _transit_effect_zoom_op(Elm_Transit_Effect *effect, Elm_Transit *transit , doubl
|
||||||
_recover_image_uv(obj, map, EINA_FALSE, EINA_FALSE);
|
_recover_image_uv(obj, map, EINA_FALSE, EINA_FALSE);
|
||||||
evas_map_util_3d_perspective(map, x + (w / 2), y + (h / 2), 0,
|
evas_map_util_3d_perspective(map, x + (w / 2), y + (h / 2), 0,
|
||||||
_TRANSIT_FOCAL);
|
_TRANSIT_FOCAL);
|
||||||
|
if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
|
||||||
evas_object_map_set(obj, map);
|
evas_object_map_set(obj, map);
|
||||||
evas_object_map_enable_set(obj, EINA_TRUE);
|
evas_object_map_enable_set(obj, EINA_TRUE);
|
||||||
}
|
}
|
||||||
|
@ -1225,6 +1242,7 @@ _transit_effect_flip_op(Elm_Transit_Effect *effect, Elm_Transit *transit, double
|
||||||
evas_map_util_3d_perspective(map, x + half_w, y + half_h, 0, _TRANSIT_FOCAL);
|
evas_map_util_3d_perspective(map, x + half_w, y + half_h, 0, _TRANSIT_FOCAL);
|
||||||
evas_object_map_enable_set(front, EINA_TRUE);
|
evas_object_map_enable_set(front, EINA_TRUE);
|
||||||
evas_object_map_enable_set(back, EINA_TRUE);
|
evas_object_map_enable_set(back, EINA_TRUE);
|
||||||
|
if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
|
||||||
evas_object_map_set(obj, map);
|
evas_object_map_set(obj, map);
|
||||||
}
|
}
|
||||||
evas_map_free(map);
|
evas_map_free(map);
|
||||||
|
@ -1531,6 +1549,7 @@ _transit_effect_resizable_flip_op(Elm_Transit_Effect *effect, Elm_Transit *trans
|
||||||
_TRANSIT_FOCAL);
|
_TRANSIT_FOCAL);
|
||||||
evas_object_map_enable_set(resizable_flip_node->front, EINA_TRUE);
|
evas_object_map_enable_set(resizable_flip_node->front, EINA_TRUE);
|
||||||
evas_object_map_enable_set(resizable_flip_node->back, EINA_TRUE);
|
evas_object_map_enable_set(resizable_flip_node->back, EINA_TRUE);
|
||||||
|
if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
|
||||||
evas_object_map_set(obj, map);
|
evas_object_map_set(obj, map);
|
||||||
}
|
}
|
||||||
evas_map_free(map);
|
evas_map_free(map);
|
||||||
|
@ -1753,7 +1772,7 @@ _transit_effect_wipe_op(Elm_Transit_Effect *effect, Elm_Transit *transit, double
|
||||||
_elm_fx_wipe_show(map, wipe->dir, _x, _y, _w, _h, (float)progress);
|
_elm_fx_wipe_show(map, wipe->dir, _x, _y, _w, _h, (float)progress);
|
||||||
else
|
else
|
||||||
_elm_fx_wipe_hide(map, wipe->dir, _x, _y, _w, _h, (float)progress);
|
_elm_fx_wipe_hide(map, wipe->dir, _x, _y, _w, _h, (float)progress);
|
||||||
|
if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
|
||||||
evas_object_map_enable_set(obj, EINA_TRUE);
|
evas_object_map_enable_set(obj, EINA_TRUE);
|
||||||
evas_object_map_set(obj, map);
|
evas_object_map_set(obj, map);
|
||||||
}
|
}
|
||||||
|
@ -2273,6 +2292,7 @@ _transit_effect_rotation_op(Elm_Transit_Effect *effect, Elm_Transit *transit, do
|
||||||
half_h = (float)h * 0.5;
|
half_h = (float)h * 0.5;
|
||||||
|
|
||||||
evas_map_util_rotate(map, degree, x + half_w, y + half_h);
|
evas_map_util_rotate(map, degree, x + half_w, y + half_h);
|
||||||
|
if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
|
||||||
evas_object_map_enable_set(obj, EINA_TRUE);
|
evas_object_map_enable_set(obj, EINA_TRUE);
|
||||||
evas_object_map_set(obj, map);
|
evas_object_map_set(obj, map);
|
||||||
}
|
}
|
||||||
|
|
|
@ -630,6 +630,38 @@ EAPI void elm_transit_chain_transit_del(Elm_Transit *transit,
|
||||||
*/
|
*/
|
||||||
EAPI Eina_List *elm_transit_chain_transits_get(const Elm_Transit *transit);
|
EAPI Eina_List *elm_transit_chain_transits_get(const Elm_Transit *transit);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Set the smooth effect for a transit.
|
||||||
|
*
|
||||||
|
* @param obj The transit object
|
||||||
|
* @param enabled enable or disable smooth map rendering
|
||||||
|
*
|
||||||
|
* This sets smoothing for transit map rendering. If the object added in a
|
||||||
|
* transit is a type that has its own smoothing settings, then both the smooth
|
||||||
|
* settings for this object and the map must be turned off. By default smooth
|
||||||
|
* maps are enabled.
|
||||||
|
*
|
||||||
|
* @see evas_map_smooth_set()
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
* @ingroup Transit
|
||||||
|
*/
|
||||||
|
EAPI void elm_transit_smooth_set(Elm_Transit *transit, Eina_Bool smooth);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the smooth scaling for transit map rendering
|
||||||
|
*
|
||||||
|
* This gets smooth scaling for transit map rendering.
|
||||||
|
*
|
||||||
|
* @param obj The transit object
|
||||||
|
* @return @c EINA_TRUE if the smooth is enabled, @c EINA_FALSE otherwise.
|
||||||
|
*
|
||||||
|
* @see elm_transit_smooth_set()
|
||||||
|
* @since 1.8
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
Eina_Bool elm_transit_smooth_get(const Elm_Transit *transit);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add the Resizing Effect to Elm_Transit.
|
* Add the Resizing Effect to Elm_Transit.
|
||||||
*
|
*
|
||||||
|
|
Loading…
Reference in New Issue