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

Reply via email to