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: Additional DND drop infrastructure and engine hooks. =================================================================== RCS file: /cvs/e/e17/libs/ewl/src/engines/x11/ewl_engine_x11.c,v retrieving revision 1.24 retrieving revision 1.25 diff -u -3 -r1.24 -r1.25 --- ewl_engine_x11.c 4 Nov 2006 16:58:05 -0000 1.24 +++ ewl_engine_x11.c 29 Nov 2006 15:52:19 -0000 1.25 @@ -74,6 +74,9 @@ static void ee_window_geometry_set(Ewl_Window *win, int *width, int *height); static void ee_dnd_aware_set(Ewl_Embed *embed); static void ee_desktop_size_get(Ewl_Embed *embed, int *w, int *h); +static void ee_dnd_drag_types_set(Ewl_Embed *embed, const char **types, unsigned int num); +static void ee_dnd_drag_begin(Ewl_Embed *embed); +static void ee_dnd_drag_drop(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); @@ -106,6 +109,9 @@ ee_window_geometry_set, ee_dnd_aware_set, ee_desktop_size_get, + ee_dnd_drag_types_set, + ee_dnd_drag_begin, + ee_dnd_drag_drop, }; static void *pointer_funcs[EWL_ENGINE_POINTER_MAX] = @@ -721,6 +727,45 @@ DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE); ecore_x_window_size_get(0, w, h); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +static void +ee_dnd_drag_types_set(Ewl_Embed *embed, const char **types, unsigned int num) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("embed", embed); + DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE); + + ecore_x_dnd_aware_set((Ecore_X_Window)embed->evas_window, + (num > 0 ? 1 : 0)); + ecore_x_dnd_types_set((Ecore_X_Window)embed->evas_window, (char **)types, num); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +static void +ee_dnd_drag_begin(Ewl_Embed *embed) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("embed", embed); + DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE); + + ecore_x_dnd_begin((Ecore_X_Window)embed->evas_window, "dnd data", + strlen("dnd data") + 1); + + DLEAVE_FUNCTION(DLEVEL_STABLE); +} + +static void +ee_dnd_drag_drop(Ewl_Embed *embed) +{ + DENTER_FUNCTION(DLEVEL_STABLE); + DCHECK_PARAM_PTR("embed", embed); + DCHECK_TYPE("embed", embed, EWL_EMBED_TYPE); + + ecore_x_dnd_drop(); DLEAVE_FUNCTION(DLEVEL_STABLE); } ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys - and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs