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