add del flag to associate

SVN revision: 38225
This commit is contained in:
Carsten Haitzler 2008-12-19 14:30:03 +00:00
parent 8da641854b
commit d3f645a37a
2 changed files with 23 additions and 16 deletions

View File

@ -96,7 +96,8 @@ typedef enum _Ecore_Evas_Object_Associate_Flags
{
ECORE_EVAS_OBJECT_ASSOCIATE_BASE = 0,
ECORE_EVAS_OBJECT_ASSOCIATE_STACK = 1 << 0,
ECORE_EVAS_OBJECT_ASSOCIATE_LAYER = 1 << 1
ECORE_EVAS_OBJECT_ASSOCIATE_LAYER = 1 << 1,
ECORE_EVAS_OBJECT_ASSOCIATE_DEL = 1 << 2
} Ecore_Evas_Object_Associate_Flags;
#ifndef _ECORE_X_H

View File

@ -338,32 +338,38 @@ _ecore_evas_object_associate(Ecore_Evas *ee, Evas_Object *obj, Ecore_Evas_Object
evas_object_event_callback_add
(obj, EVAS_CALLBACK_CHANGED_SIZE_HINTS,
_ecore_evas_obj_callback_changed_size_hints, ee);
evas_object_event_callback_add
(obj, EVAS_CALLBACK_DEL, _ecore_evas_obj_callback_del, ee);
if (flags & ECORE_EVAS_OBJECT_ASSOCIATE_DEL)
{
evas_object_event_callback_add
(obj, EVAS_CALLBACK_DEL, _ecore_evas_obj_callback_del, ee);
}
evas_object_intercept_move_callback_add
(obj, _ecore_evas_obj_intercept_move, ee);
if (flags & ECORE_EVAS_OBJECT_ASSOCIATE_STACK)
{
evas_object_intercept_raise_callback_add
(obj, _ecore_evas_obj_intercept_raise, ee);
evas_object_intercept_lower_callback_add
(obj, _ecore_evas_obj_intercept_lower, ee);
evas_object_intercept_stack_above_callback_add
(obj, _ecore_evas_obj_intercept_stack_above, ee);
evas_object_intercept_stack_below_callback_add
(obj, _ecore_evas_obj_intercept_stack_below, ee);
}
{
evas_object_intercept_raise_callback_add
(obj, _ecore_evas_obj_intercept_raise, ee);
evas_object_intercept_lower_callback_add
(obj, _ecore_evas_obj_intercept_lower, ee);
evas_object_intercept_stack_above_callback_add
(obj, _ecore_evas_obj_intercept_stack_above, ee);
evas_object_intercept_stack_below_callback_add
(obj, _ecore_evas_obj_intercept_stack_below, ee);
}
if (flags & ECORE_EVAS_OBJECT_ASSOCIATE_LAYER)
evas_object_intercept_layer_set_callback_add
(obj, _ecore_evas_obj_intercept_layer_set, ee);
ecore_evas_callback_delete_request_set(ee, _ecore_evas_delete_request);
ecore_evas_callback_destroy_set(ee, _ecore_evas_destroy);
if (flags & ECORE_EVAS_OBJECT_ASSOCIATE_DEL)
{
ecore_evas_callback_delete_request_set(ee, _ecore_evas_delete_request);
ecore_evas_callback_destroy_set(ee, _ecore_evas_destroy);
ecore_evas_callback_pre_free_set(ee, _ecore_evas_pre_free);
}
ecore_evas_callback_resize_set(ee, _ecore_evas_resize);
ecore_evas_callback_pre_free_set(ee, _ecore_evas_pre_free);
_evas_object_associate_set(obj, ee);
_ecore_evas_associate_set(ee, obj);