Initial git import
[sxemacs] / src / ui / select.h
1 /* Generic select data structures functions
2    Copyright (C) 1999 Andy Piper
3
4 This file is part of SXEmacs
5
6 SXEmacs is free software: you can redistribute it and/or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 SXEmacs is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program.  If not, see <http://www.gnu.org/licenses/>. */
18
19
20 /* Synched up with: Not in FSF. */
21
22 #ifndef INCLUDED_select_h_
23 #define INCLUDED_select_h_
24
25 /* X Atoms */
26 extern Lisp_Object QPRIMARY, QSECONDARY, QSTRING, QINTEGER, QCLIPBOARD,
27     QTIMESTAMP, QTEXT, QDELETE, QMULTIPLE, QINCR, QEMACS_TMP, QTARGETS, QATOM,
28     QNULL, QATOM_PAIR, QCOMPOUND_TEXT;
29
30 /* Windows clipboard formats */
31 extern Lisp_Object QCF_TEXT, QCF_BITMAP, QCF_METAFILEPICT, QCF_SYLK, QCF_DIF,
32     QCF_TIFF, QCF_OEMTEXT, QCF_DIB, QCF_DIBV5, QCF_PALETTE, QCF_PENDATA,
33     QCF_RIFF, QCF_WAVE, QCF_UNICODETEXT, QCF_ENHMETAFILE, QCF_HDROP, QCF_LOCALE,
34     QCF_OWNERDISPLAY, QCF_DSPTEXT, QCF_DSPBITMAP, QCF_DSPMETAFILEPICT,
35     QCF_DSPENHMETAFILE;
36
37 /* Selection strategies */
38 extern Lisp_Object Qreplace_all, Qreplace_existing, Qappend;
39
40 /* "Selection owner couldn't convert selection" */
41 extern Lisp_Object Qselection_conversion_error;
42
43 /* Selection input & output */
44 Lisp_Object select_convert_in(Lisp_Object selection,
45                               Lisp_Object type, Lisp_Object value);
46 Lisp_Object select_convert_out(Lisp_Object selection,
47                                Lisp_Object type, Lisp_Object value);
48 Lisp_Object select_coerce(Lisp_Object selection,
49                           Lisp_Object type, Lisp_Object value);
50
51 /* Notifications */
52 void handle_selection_clear(Lisp_Object selection_symbol);
53
54 void select_notify_buffer_kill(Lisp_Object buffer);
55
56 /* Lisp functions we export for other files' use */
57 EXFUN(Fregister_selection_data_type, 2);
58 EXFUN(Fselection_data_type_name, 2);
59 EXFUN(Favailable_selection_types, 2);
60 EXFUN(Fselection_owner_p, 1);
61 EXFUN(Fselection_exists_p, 3);
62 EXFUN(Fget_selection_timestamp, 1);
63
64 #endif                          /* INCLUDED_select_h_ */