Sorry, it filtered the patch file .
try again.
-----Original Message-----
From: ChunEon Park [mailto:chuneon.p...@samsung.com]
Sent: Thursday, December 09, 2010 2:23 PM
To: 'enlightenment-devel@lists.sourceforge.net'
Subject: elm_transit patch
Hello, This is Hermet.
Here is a first patch for the elm_transit.
* deprecated elm_transit_event_block_set and added
elm_transit_event_enabled_set
* modified event_enabled = EINA_FALSE as a default
Thanks.
Index: Elementary.h.in
===================================================================
--- Elementary.h.in (revision 55386)
+++ Elementary.h.in (working copy)
@@ -2454,15 +2454,17 @@
EAPI void elm_transit_object_add(Elm_Transit *transit,
Evas_Object *obj) EINA_ARG_NONNULL(1, 2);
EAPI void elm_transit_object_remove(Elm_Transit *transit,
Evas_Object *obj) EINA_ARG_NONNULL(1, 2);
EAPI const Eina_List *elm_transit_objects_get(const Elm_Transit
*transit) EINA_ARG_NONNULL(1);
- EAPI void elm_transit_event_block_set(Elm_Transit
*transit, Eina_Bool disabled) EINA_ARG_NONNULL(1);
- EAPI Eina_Bool elm_transit_event_block_get(const Elm_Transit
*transit) EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI void
elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled)
EINA_ARG_NONNULL(1);
+ EINA_DEPRECATED EAPI Eina_Bool
elm_transit_event_block_get(const Elm_Transit *transit) EINA_ARG_NONNULL(1);
+ EAPI void elm_transit_event_enabled_set(Elm_Transit
*transit, Eina_Bool enabled) EINA_ARG_NONNULL(1);
+ EAPI Eina_Bool elm_transit_event_enabled_get(const Elm_Transit
*transit) EINA_ARG_NONNULL(1);
EAPI void elm_transit_del_cb_set(Elm_Transit *transit,
void (*cb)(void *data, Elm_Transit* transit), void *data) EINA_ARG_NONNULL(1);
EAPI void elm_transit_auto_reverse_set(Elm_Transit
*transit, Eina_Bool reverse) EINA_ARG_NONNULL(1);
EAPI Eina_Bool elm_transit_auto_reverse_get(Elm_Transit
*transit) EINA_ARG_NONNULL(1) EINA_ARG_NONNULL(1);
EAPI void elm_transit_repeat_times_set(Elm_Transit
*transit, int repeat) EINA_ARG_NONNULL(1);
EAPI int elm_transit_repeat_times_get(Elm_Transit
*transit) EINA_ARG_NONNULL(1);
EAPI void elm_transit_tween_mode_set(Elm_Transit
*transit, Elm_Transit_Tween_Mode tween_mode) EINA_ARG_NONNULL(1);
- EAPI Elm_Transit_Tween_Mode elm_transit_tween_mode_get(Elm_Transit
*transit) EINA_ARG_NONNULL(1) EINA_ARG_NONNULL(1);
+ EAPI Elm_Transit_Tween_Mode elm_transit_tween_mode_get(const Elm_Transit
*transit) EINA_ARG_NONNULL(1) EINA_ARG_NONNULL(1);
EAPI void
*elm_transit_effect_resizing_context_new(Evas_Coord from_w, Evas_Coord from_h,
Evas_Coord to_w, Evas_Coord to_h);
EAPI void elm_transit_effect_resizing_op(void *data,
Elm_Transit *transit, double progress) EINA_ARG_NONNULL(1, 2);
Index: elm_transit.c
===================================================================
--- elm_transit.c (revision 55386)
+++ elm_transit.c (working copy)
@@ -58,9 +58,6 @@
Eina_List *effect_list;
Eina_List *objs;
Elm_Transit_Tween_Mode tween_mode;
- Eina_Bool auto_reverse:1;
- Eina_Bool block:1;
- Eina_Bool deleted:1;
unsigned int effects_pending_del;
int walking;
struct
@@ -80,6 +77,9 @@
int current;
Eina_Bool reverse;
} repeat;
+ Eina_Bool auto_reverse:1;
+ Eina_Bool event_enabled:1;
+ Eina_Bool deleted:1;
};
struct _Elm_Effect
@@ -282,10 +282,9 @@
EINA_MAGIC_SET(transit, ELM_TRANSIT_MAGIC);
elm_transit_tween_mode_set(transit, ELM_TRANSIT_TWEEN_MODE_LINEAR);
-
- transit->time.duration = duration;
-
- transit->time.begin = ecore_loop_time_get();
+
+ transit->time.duration = duration;
+ transit->time.begin = ecore_loop_time_get();
transit->animator = ecore_animator_add(_animator_animate_cb, transit);
return transit;
@@ -463,10 +462,9 @@
transit->objs = eina_list_append(transit->objs, obj);
+ if (!transit->event_enabled)
+ evas_object_pass_events_set(obj, EINA_TRUE);
- if (transit->block)
- evas_object_pass_events_set(obj, EINA_TRUE);
-
evas_object_event_callback_add(obj, EVAS_CALLBACK_DEL,
_elm_transit_object_remove_cb, transit);
}
@@ -519,9 +517,9 @@
}
/**
- * Set the event blocked when transit is operating.
+ * Set the event enabled when transit is operating.
*
- * If @p disabled is EINA_TRUE, the objects of the transit will not receives
+ * If @p enabled is EINA_TRUE, the objects of the transit will receives
* events from mouse and keyboard during the animation.
* @note When you add an object with elm_transit_object_add(), its state from
* evas_object_pass_events_get(obj) is saved, and it is applied when the
@@ -530,29 +528,30 @@
* run.
*
* @param transit The transit object.
- * @param disabled Disable or enable.
+ * @param enabled Disable or enable.
*
* @ingroup Transit
*/
EAPI void
-elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled)
+elm_transit_event_enabled_set(Elm_Transit *transit, Eina_Bool enabled)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit);
- if (transit->block == disabled) return;
+ if (transit->event_enabled == enabled) return;
Evas_Object *obj;
Eina_List *elist;
+ Elm_Obj_Data *obj_data;
- transit->block = disabled;
+ transit->event_enabled = enabled;
- if (!transit->block)
+ if (enabled)
{
EINA_LIST_FOREACH(transit->objs, elist, obj)
{
- Elm_Obj_Data *obj_data = evas_object_data_get(obj, _transit_key);
- evas_object_pass_events_set(obj, obj_data->state);
- }
+ obj_data = evas_object_data_get(obj,
_transit_key);
+ evas_object_pass_events_set(obj, obj_data->state);
+ }
}
else
{
@@ -562,25 +561,68 @@
}
/**
- * Get the value of event blocked status.
+ * Get the value of event enabled status.
*
- * @see elm_transit_event_block_set()
+ * @see elm_transit_event_enabled_set()
*
* @param transit The Transit object
- * @return EINA_TRUE, when event block is enabled. If @p transit is NULL
+ * @return EINA_TRUE, when event is enabled. If @p transit is NULL
* EINA_FALSE is returned
*
* @ingroup Transit
*/
EAPI Eina_Bool
-elm_transit_event_block_get(const Elm_Transit *transit)
+elm_transit_event_enabled_get(const Elm_Transit *transit)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit, EINA_FALSE);
- return transit->block;
+ return transit->event_enabled;
}
+
/**
+ * Set the event enabled when transit is operating.
+ *
+ * If @p disabled is EINA_TRUE, the objects of the transit will receives
+ * events from mouse and keyboard during the animation.
+ * @note When you add an object with elm_transit_object_add(), its state from
+ * evas_object_pass_events_get(obj) is saved, and it is applied when the
+ * transit ends, if you change this state with evas_object_pass_events_set()
+ * after add the object, this state will change again when @p transit stops to
+ * run.
+ *
+ * @see elm_transit_event_enabled_set()
+ *
+ * @param transit The transit object.
+ * @param disabled Disable or enable.
+ *
+ * @ingroup Transit
+ */
+EINA_DEPRECATED EAPI void
+elm_transit_event_block_set(Elm_Transit *transit, Eina_Bool disabled)
+{
+ elm_transit_event_enabled_set(transit, disabled);
+}
+
+
+/**
+ * Get the value of event block enabled status.
+ *
+ * @see elm_transit_event_enabled_set(), elm_transit_event_enabled_get()
+ *
+ * @param transit The Transit object
+ * @return EINA_TRUE, when event is enabled. If @p transit is NULL
+ * EINA_FALSE is returned
+ *
+ * @ingroup Transit
+ */
+EINA_DEPRECATED EAPI Eina_Bool
+elm_transit_event_block_get(const Elm_Transit *transit)
+{
+ return !elm_transit_event_enabled_get(transit);
+}
+
+/**
* Set the user-callback function when the transit is deleted.
*
* @note Using this function twice will overwrite the first function setted.
@@ -720,7 +762,7 @@
* @ingroup Transit
*/
EAPI Elm_Transit_Tween_Mode
-elm_transit_tween_mode_get(Elm_Transit *transit)
+elm_transit_tween_mode_get(const Elm_Transit *transit)
{
ELM_TRANSIT_CHECK_OR_RETURN(transit, ELM_TRANSIT_TWEEN_MODE_LINEAR);
------------------------------------------------------------------------------
This SF Dev2Dev email is sponsored by:
WikiLeaks The End of the Free Internet
http://p.sf.net/sfu/therealnews-com
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel