Enlightenment CVS committal
Author : barbieri
Project : e17
Module : libs/edje
Dir : e17/libs/edje/src/lib
Modified Files:
edje_data.c edje_load.c edje_private.h edje_util.c
Log Message:
Support for selectable pointer_mode.
Evas now support objects that do not grab mouse down event (NOGRAB) aside
with the default (AUTOGRAB). API is meant to be extensible.
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_data.c,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- edje_data.c 23 Jul 2007 14:22:57 -0000 1.38
+++ edje_data.c 24 Jul 2007 14:20:07 -0000 1.39
@@ -345,6 +345,7 @@
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "effect",
effect, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part,
"mouse_events", mouse_events, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part,
"repeat_events", repeat_events, EET_T_CHAR);
+ EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part,
"pointer_mode", pointer_mode, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part,
"precise_is_inside", precise_is_inside, EET_T_CHAR);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part, "clip_to_id",
clip_to_id, EET_T_INT);
EET_DATA_DESCRIPTOR_ADD_BASIC(_edje_edd_edje_part, Edje_Part,
"use_alternate_font_metrics", use_alternate_font_metrics, EET_T_UCHAR);
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_load.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -3 -r1.107 -r1.108
--- edje_load.c 23 Jul 2007 14:22:57 -0000 1.107
+++ edje_load.c 24 Jul 2007 14:20:07 -0000 1.108
@@ -303,6 +303,7 @@
rp->object = evas_object_rectangle_add(ed->evas);
evas_object_color_set(rp->object, 0, 0, 0, 0);
evas_object_pass_events_set(rp->object, 1);
+ evas_object_pointer_mode_set(rp->object,
EVAS_OBJECT_POINTER_MODE_NOGRAB);
}
else if (ep->type == EDJE_PART_TYPE_TEXTBLOCK)
rp->object = evas_object_textblock_add(ed->evas);
@@ -323,9 +324,15 @@
_edje_callbacks_add(rp->object, ed, rp);
if (ep->repeat_events)
evas_object_repeat_events_set(rp->object, 1);
+
+ if (ep->pointer_mode !=
EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
+ evas_object_pointer_mode_set(rp->object,
ep->pointer_mode);
}
else
- evas_object_pass_events_set(rp->object, 1);
+ {
+ evas_object_pass_events_set(rp->object, 1);
+ evas_object_pointer_mode_set(rp->object,
EVAS_OBJECT_POINTER_MODE_NOGRAB);
+ }
if (ep->precise_is_inside)
evas_object_precise_is_inside_set(rp->object, 1);
}
@@ -368,6 +375,7 @@
if (rp->clip_to)
{
evas_object_pass_events_set(rp->clip_to->object, 1);
+ evas_object_pointer_mode_set(rp->clip_to->object,
EVAS_OBJECT_POINTER_MODE_NOGRAB);
evas_object_clip_set(rp->object,
rp->clip_to->object);
}
}
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_private.h,v
retrieving revision 1.129
retrieving revision 1.130
diff -u -3 -r1.129 -r1.130
--- edje_private.h 23 Jul 2007 14:22:57 -0000 1.129
+++ edje_private.h 24 Jul 2007 14:20:07 -0000 1.130
@@ -429,6 +429,7 @@
unsigned char repeat_events; /* it will repeat events to objects
below */
unsigned char precise_is_inside;
unsigned char use_alternate_font_metrics;
+ Evas_Object_Pointer_Mode pointer_mode;
};
struct _Edje_Part_Image_Id
===================================================================
RCS file: /cvs/e/e17/libs/edje/src/lib/edje_util.c,v
retrieving revision 1.98
retrieving revision 1.99
diff -u -3 -r1.98 -r1.99
--- edje_util.c 23 Jul 2007 14:22:57 -0000 1.98
+++ edje_util.c 24 Jul 2007 14:20:07 -0000 1.99
@@ -2117,6 +2117,8 @@
_edje_callbacks_add(obj_swallow, rp->edje, rp);
if (rp->part->repeat_events)
evas_object_repeat_events_set(obj_swallow, 1);
+ if (rp->part->pointer_mode != EVAS_OBJECT_POINTER_MODE_AUTOGRAB)
+ evas_object_pointer_mode_set(obj_swallow, rp->part->pointer_mode);
}
else
evas_object_pass_events_set(obj_swallow, 1);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems? Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >> http://get.splunk.com/
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs