Eina_Bool deleted : 1;
Eina_Bool state_keep : 1;
Eina_Bool finished : 1;
+ Eina_Bool smooth : 1;
};
struct _Elm_Transit_Effect_Module
transit->v1 = 1.0;
transit->v2 = 0.0;
+ transit->smooth = EINA_TRUE;
return transit;
}
}
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
elm_transit_event_enabled_set(Elm_Transit *transit, Eina_Bool enabled)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
_recover_image_uv(obj, map, EINA_FALSE, EINA_FALSE);
evas_map_util_3d_perspective(map, x + (w / 2), y + (h / 2), 0,
_TRANSIT_FOCAL);
+ if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
evas_object_map_set(obj, map);
evas_object_map_enable_set(obj, EINA_TRUE);
}
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(back, EINA_TRUE);
+ if (!transit->smooth) evas_map_smooth_set(map, EINA_FALSE);
evas_object_map_set(obj, map);
}
evas_map_free(map);
_TRANSIT_FOCAL);
evas_object_map_enable_set(resizable_flip_node->front, 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_map_free(map);
_elm_fx_wipe_show(map, wipe->dir, _x, _y, _w, _h, (float)progress);
else
_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_set(obj, map);
}
half_h = (float)h * 0.5;
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_set(obj, map);
}
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.
*
* @note This API is one of the facades. It creates resizing effect context