(U+6215): Apply new conventions for glyph granularity.
[chise/xemacs-chise.git.1] / src / select.h
index 9bf4b4e..4e6d00d 100644 (file)
@@ -23,28 +23,46 @@ Boston, MA 02111-1307, USA.  */
 #ifndef INCLUDED_select_h_
 #define INCLUDED_select_h_
 
-extern Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD, QTIMESTAMP,
-  QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM, QNULL,
-  QATOM_PAIR, QCOMPOUND_TEXT;
-
-/* This is an association list whose elements are of the form
-     ( selection-name selection-value selection-timestamp )
-   selection-name is a lisp symbol, whose name is the name of an X Atom.
-   selection-value is the value that emacs owns for that selection.
-     It may be any kind of Lisp object.
-   selection-timestamp is the time at which emacs began owning this selection,
-     as a cons of two 16-bit numbers (making a 32 bit time).
-   If there is an entry in this alist, then it can be assumed that emacs owns
-    that selection.
-   The only (eq) parts of this list that are visible from elisp are the
-    selection-values.
- */
-extern Lisp_Object Vselection_alist;
+/* X Atoms */
+extern Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD,
+  QTIMESTAMP, QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM,
+  QNULL, QATOM_PAIR, QCOMPOUND_TEXT;
+
+/* Windows clipboard formats */
+extern Lisp_Object QCF_TEXT, QCF_BITMAP, QCF_METAFILEPICT, QCF_SYLK, QCF_DIF,
+  QCF_TIFF, QCF_OEMTEXT, QCF_DIB, QCF_DIBV5, QCF_PALETTE, QCF_PENDATA,
+  QCF_RIFF, QCF_WAVE, QCF_UNICODETEXT, QCF_ENHMETAFILE, QCF_HDROP, QCF_LOCALE,
+  QCF_OWNERDISPLAY, QCF_DSPTEXT, QCF_DSPBITMAP, QCF_DSPMETAFILEPICT,
+  QCF_DSPENHMETAFILE;
+
+/* Selection strategies */
+extern Lisp_Object Qreplace_all, Qreplace_existing, Qappend;
 
 /* "Selection owner couldn't convert selection" */
 extern Lisp_Object Qselection_conversion_error;
 
-Lisp_Object get_local_selection (Lisp_Object selection_symbol, Lisp_Object target_type);
+/* Selection input & output */
+Lisp_Object select_convert_in (Lisp_Object selection,
+                              Lisp_Object type,
+                              Lisp_Object value);
+Lisp_Object select_convert_out (Lisp_Object selection,
+                               Lisp_Object type,
+                               Lisp_Object value);
+Lisp_Object select_coerce (Lisp_Object selection,
+                          Lisp_Object type,
+                          Lisp_Object value);
+
+/* Notifications */
 void handle_selection_clear (Lisp_Object selection_symbol);
 
+void select_notify_buffer_kill (Lisp_Object buffer);
+
+/* Lisp functions we export for other files' use */
+EXFUN (Fregister_selection_data_type, 2);
+EXFUN (Fselection_data_type_name, 2);
+EXFUN (Favailable_selection_types, 2);
+EXFUN (Fselection_owner_p, 1);
+EXFUN (Fselection_exists_p, 3);
+EXFUN (Fget_selection_timestamp, 1);
+
 #endif /* INCLUDED_select_h_ */