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