X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fselect.h;h=4e6d00de812a2d477d7cd78853a2293828b2a06a;hb=8b2e8ef2dee7da2f0d4cea712b0fc55902c3cff7;hp=03c76406778e368497b87bb0097c05cba2948b4d;hpb=140fb029a954e85e8e62e0ebd23e7bc43526b57b;p=chise%2Fxemacs-chise.git.1 diff --git a/src/select.h b/src/select.h index 03c7640..4e6d00d 100644 --- a/src/select.h +++ b/src/select.h @@ -20,31 +20,49 @@ Boston, MA 02111-1307, USA. */ /* Synched up with: Not in FSF. */ -#ifndef _XEMACS_SELECT_H_ -#define _XEMACS_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; +#ifndef INCLUDED_select_h_ +#define INCLUDED_select_h_ + +/* 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); -#endif +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_ */