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
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to