Enlightenment CVS committal

Author  : barbieri
Project : e17
Module  : proto/python-efl

Dir     : e17/proto/python-efl/python-ecore/ecore/evas


Modified Files:
        ecore.evas.c_ecore_evas.pxd ecore.evas.c_ecore_evas_base.pxi 


Log Message:
Support new ecore_evas_object_cursor_set() and ecore_evas_cursor_get().

===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/evas/ecore.evas.c_ecore_evas.pxd,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- ecore.evas.c_ecore_evas.pxd 6 Sep 2007 04:17:49 -0000       1.4
+++ ecore.evas.c_ecore_evas.pxd 26 Sep 2007 15:26:25 -0000      1.5
@@ -1,11 +1,9 @@
+cimport evas.c_evas
+
 cdef extern from "python_evas_utils.h":
     int PY_REFCOUNT(object)
 
 
-cdef extern from "Evas.h":
-    ctypedef struct Evas
-
-
 cdef extern from "Ecore_Evas.h":
     ####################################################################
     # Enumerations
@@ -86,9 +84,9 @@
 
 
 
-    Ecore_Evas *ecore_evas_ecore_evas_get(Evas *e)
+    Ecore_Evas *ecore_evas_ecore_evas_get(evas.c_evas.Evas *e)
     void ecore_evas_free(Ecore_Evas *ee)
-    Evas *ecore_evas_get(Ecore_Evas *ee)
+    evas.c_evas.Evas *ecore_evas_get(Ecore_Evas *ee)
 
     void *ecore_evas_data_get(Ecore_Evas *ee, char *key)
     void ecore_evas_data_set(Ecore_Evas *ee, char *key, void *data)
@@ -137,7 +135,8 @@
     void ecore_evas_size_step_set(Ecore_Evas *ee, int w, int h)
     void ecore_evas_size_step_get(Ecore_Evas *ee, int *w, int *h)
     void ecore_evas_cursor_set(Ecore_Evas *ee, char *file, int layer, int 
hot_x, int hot_y)
-    void ecore_evas_cursor_get(Ecore_Evas *ee, char **file, int *layer, int 
*hot_x, int *hot_y)
+    void ecore_evas_cursor_get(Ecore_Evas *ee, evas.c_evas.Evas_Object **obj, 
int *layer, int *hot_x, int *hot_y)
+    void ecore_evas_object_cursor_set(Ecore_Evas *ee, evas.c_evas.Evas_Object 
*obj, int layer, int hot_x, int hot_y)
     void ecore_evas_layer_set(Ecore_Evas *ee, int layer)
     int  ecore_evas_layer_get(Ecore_Evas *ee)
     void ecore_evas_focus_set(Ecore_Evas *ee, int on)
===================================================================
RCS file: 
/cvs/e/e17/proto/python-efl/python-ecore/ecore/evas/ecore.evas.c_ecore_evas_base.pxi,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- ecore.evas.c_ecore_evas_base.pxi    21 Sep 2007 23:33:07 -0000      1.5
+++ ecore.evas.c_ecore_evas_base.pxi    26 Sep 2007 15:26:25 -0000      1.6
@@ -1,5 +1,6 @@
 # This file is included verbatim by c_ecore_evas.pyx
 
+cimport evas.c_evas as c_evas
 import traceback
 
 cdef EcoreEvas EcoreEvas_from_instance(Ecore_Evas *obj):
@@ -171,22 +172,30 @@
             return self._data
 
     def cursor_get(self):
-        cdef char *filename
+        cdef evas.c_evas.Evas_Object *eobj
         cdef int layer, hotx, hoty
-        ecore_evas_cursor_get(self.obj, &filename, &layer, &hotx, &hoty)
-        if filename == NULL:
-            fn = None
+        eobj = NULL
+        ecore_evas_cursor_get(self.obj, &eobj, &layer, &hotx, &hoty)
+        if eobj == NULL:
+            eo = None
         else:
-            fn = filename
-        return (fn, layer, hotx, hoty)
+            eo = evas.c_evas._Object_from_instance(<long>eobj)
+        return (eo, layer, hotx, hoty)
 
-    def cursor_set(self, filename, int layer=0, int hotx=0, int hoty=0):
-        cdef char *f
-        if filename is None:
-            f = NULL
+    def cursor_set(self, cursor, int layer=0, int hotx=0, int hoty=0):
+        if cursor is None:
+            ecore_evas_cursor_set(self.obj, NULL, layer, hotx, hoty)
+        elif isinstance(cursor, str):
+            ecore_evas_cursor_set(self.obj, cursor, layer, hotx, hoty)
+        elif isinstance(cursor, evas.c_evas.Object):
+            self.object_cursor_set(cursor, layer, hotx, hoty)
         else:
-            f = filename
-        ecore_evas_cursor_set(self.obj, f, layer, hotx, hoty)
+            raise TypeError("cursor must be 'str', 'None' or "
+                            "'evas.c_evas.Object'")
+
+    def object_cursor_set(self, c_evas.Object cursor, int layer=0,
+                          int hotx=0, int hoty=0):
+        ecore_evas_object_cursor_set(self.obj, cursor.obj, layer, hotx, hoty)
 
     def move(self, int x, int y):
         ecore_evas_move(self.obj, x, y)



-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to