Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/etk

Dir     : e17/libs/etk/src/lib


Modified Files:
        etk_viewport.c etk_viewport.h 


Log Message:


add an object to viewport catch wheel and mouse drag etc. events when
clicking on "empty" space that doesnt hold widgets so it works properly.

===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_viewport.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- etk_viewport.c      28 Sep 2007 19:56:13 -0000      1.16
+++ etk_viewport.c      19 Jun 2008 10:53:58 -0000      1.17
@@ -70,6 +70,7 @@
       return;
 
    viewport->clip = NULL;
+   viewport->event = NULL;
    viewport->xscroll = 0;
    viewport->yscroll = 0;
 
@@ -80,6 +81,7 @@
 
    etk_signal_connect_by_code(ETK_WIDGET_REALIZED_SIGNAL, 
ETK_OBJECT(viewport), ETK_CALLBACK(_etk_viewport_realized_cb), NULL);
    etk_signal_connect_swapped_by_code(ETK_WIDGET_UNREALIZED_SIGNAL, 
ETK_OBJECT(viewport), ETK_CALLBACK(etk_callback_set_null), &viewport->clip);
+   etk_signal_connect_swapped_by_code(ETK_WIDGET_UNREALIZED_SIGNAL, 
ETK_OBJECT(viewport), ETK_CALLBACK(etk_callback_set_null), &viewport->event);
    etk_signal_connect_by_code(ETK_CONTAINER_CHILD_ADDED_SIGNAL, 
ETK_OBJECT(viewport), ETK_CALLBACK(_etk_viewport_child_added_cb), NULL);
    etk_signal_connect_by_code(ETK_CONTAINER_CHILD_REMOVED_SIGNAL, 
ETK_OBJECT(viewport), ETK_CALLBACK(_etk_viewport_child_removed_cb), NULL);
 }
@@ -107,6 +109,8 @@
 
    evas_object_move(viewport->clip, geometry.x, geometry.y);
    evas_object_resize(viewport->clip, geometry.w, geometry.h);
+   evas_object_move(viewport->event, geometry.x, geometry.y);
+   evas_object_resize(viewport->event, geometry.w, geometry.h);
 
    if ((child = etk_bin_child_get(ETK_BIN(viewport))))
    {
@@ -184,6 +188,10 @@
       etk_widget_clip_set(child, viewport->clip);
       evas_object_show(viewport->clip);
    }
+   viewport->event = evas_object_rectangle_add(evas);
+   etk_widget_member_object_add(ETK_WIDGET(viewport), viewport->event);
+   evas_object_color_set(viewport->event, 0, 0, 0, 0);
+   evas_object_show(viewport->event);
 
    return ETK_TRUE;
 }
===================================================================
RCS file: /cvs/e/e17/libs/etk/src/lib/etk_viewport.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- etk_viewport.h      19 Sep 2007 20:16:26 -0000      1.5
+++ etk_viewport.h      19 Jun 2008 10:53:58 -0000      1.6
@@ -32,7 +32,7 @@
    /* Inherit from Etk_Bin */
    Etk_Bin bin;
 
-   Evas_Object *clip;
+   Evas_Object *clip, *event;
    int xscroll, yscroll;
 };
 



-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://sourceforge.net/services/buy/index.php
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to