diff src/dragdrop.c @ 284:558f606b08ae r21-0b40

Import from CVS: tag r21-0b40
author cvs
date Mon, 13 Aug 2007 10:34:13 +0200
parents c42ec1d1cded
children 19dcec799385
line wrap: on
line diff
--- a/src/dragdrop.c	Mon Aug 13 10:33:19 2007 +0200
+++ b/src/dragdrop.c	Mon Aug 13 10:34:13 2007 +0200
@@ -42,8 +42,7 @@
 	   and body.
 	   if it is a list it should look like
 	      ( MIME-TYPE MIME-ENCODING MIME-DATA )
-	   MIME-TYPE should have the format as required by tm-view, but
-	             is a string
+	   MIME-TYPE list of type and key.value conses. Same as in tm-view
 	   MIME-ENC  the same (a string in this case)
 	   MIME-DATA is a string
 */
@@ -52,6 +51,9 @@
 #include "lisp.h"
 #include "dragdrop.h"
 
+/* The supported protocol list */
+Lisp_Object Vdragdrop_protocols;
+
 /* Drag'n'Drop data types known by XEmacs */
 Lisp_Object Qdragdrop_MIME;
 Lisp_Object Qdragdrop_URL;
@@ -115,3 +117,26 @@
   defsymbol (&Qdragdrop_URL,  "dragdrop-URL");
   defsymbol (&Qdragdrop_drop_dispatch, "dragdrop-drop-dispatch");
 }
+
+void
+vars_of_dragdrop (void)
+{
+  Fprovide (intern ("dragdrop-api"));
+
+  DEFVAR_CONST_LISP ("dragdrop-protocols", &Vdragdrop_protocols /*
+A list of supported Drag'n'drop protocols.
+Each element is the feature symbol of the protocol.
+*/ );
+  
+  Vdragdrop_protocols = Qnil;
+
+#ifdef HAVE_MSWINDOWS
+  Vdragdrop_protocols = Fcons ( Qmswindows , Vdragdrop_protocols );
+#endif
+#ifdef HAVE_CDE
+  Vdragdrop_protocols = Fcons ( intern ("cde") , Vdragdrop_protocols );
+#endif
+#ifdef HAVE_OFFIX_DND
+  Vdragdrop_protocols = Fcons ( intern ("offix") , Vdragdrop_protocols );
+#endif
+}