Enlightenment CVS committal

Author  : ningerso
Project : e17
Module  : libs/ewl

Dir     : e17/libs/ewl/src/engines/x11


Modified Files:
        ewl_engine_x11.c 


Log Message:
Break out pointer manipulation into the engines.

===================================================================
RCS file: /cvs/e/e17/libs/ewl/src/engines/x11/ewl_engine_x11.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- ewl_engine_x11.c    12 Oct 2006 21:41:18 -0000      1.18
+++ ewl_engine_x11.c    13 Oct 2006 01:53:05 -0000      1.19
@@ -74,6 +74,11 @@
 static void ee_window_geometry_set(Ewl_Window *win, int *width, int *height);
 static void ee_dnd_aware_set(Ewl_Embed *embed);
 
+static int ee_pointer_data_new(Ewl_Embed *embed, int *data, int w, int h);
+static void ee_pointer_free(Ewl_Embed *embed, int pointer);
+static void ee_pointer_set(Ewl_Embed *embed, int pointer);
+static int ee_pointer_get(Ewl_Embed *embed);
+
 static void *window_funcs[EWL_ENGINE_WINDOW_MAX] =
        {
                ee_window_new,
@@ -101,6 +106,14 @@
                ee_dnd_aware_set
        };
 
+static void *pointer_funcs[EWL_ENGINE_WINDOW_MAX] =
+       {
+               ee_pointer_data_new,
+               ee_pointer_free,
+               ee_pointer_get,
+               ee_pointer_set,
+       };
+
 Ecore_DList *
 ewl_engine_dependancies(void)
 {
@@ -231,6 +244,7 @@
        info->init = ee_init;
        info->shutdown = ee_shutdown;
        info->hooks.window = window_funcs;
+       info->hooks.pointer = pointer_funcs;
 
        engine->name = strdup("x11");
        engine->functions = info;
@@ -688,6 +702,52 @@
        DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE);
 
        ecore_x_dnd_aware_set((Ecore_X_Window)embed->evas_window, TRUE);
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+static int
+ee_pointer_data_new(Ewl_Embed *embed, int *data, int w, int h)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR_RET("embed", embed, 0);
+       DCHECK_TYPE_RET("embed", embed, EWL_EMBED_TYPE, 0);
+
+       DRETURN_INT(ecore_x_cursor_new((Ecore_X_Window)embed->evas_window,
+                               data, w, h, 0, 0), DLEVEL_STABLE);
+}
+
+static void
+ee_pointer_free(Ewl_Embed *embed, int pointer)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR("embed", embed);
+       DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE);
+
+       ecore_x_cursor_free(pointer);
+
+       DLEAVE_FUNCTION(DLEVEL_STABLE);
+}
+
+static int
+ee_pointer_get(Ewl_Embed *embed)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR_RET("embed", embed, 0);
+       DCHECK_TYPE_RET("embed", embed, EWL_EMBED_TYPE, 0);
+
+       DRETURN_INT(ecore_x_cursor_size_get(), DLEVEL_STABLE);
+}
+
+static void
+ee_pointer_set(Ewl_Embed *embed, int pointer)
+{
+       DENTER_FUNCTION(DLEVEL_STABLE);
+       DCHECK_PARAM_PTR("embed", embed);
+       DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE);
+
+       ecore_x_window_cursor_set((Ecore_X_Window)embed->evas_window,
+                               ecore_x_cursor_shape_get(pointer));
 
        DLEAVE_FUNCTION(DLEVEL_STABLE);
 }



-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to