annotate src/objects-msw.h @ 613:023b83f4e54b
[xemacs-hg @ 2001-06-10 10:42:16 by ben]
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
------ signal-code changes ------
data.c, device-tty.c, emacs.c, floatfns.c, linuxplay.c, nas.c,
process-unix.c, signal.c, sunplay.c, sysdep.c, syssignal.h:
use EMACS_SIGNAL everywhere instead of playing preprocessing
games with signal().
s\windowsnt.h, s\mingw32.h, syssignal.h:
Remove mswindows signal code from s+m headers and move to
syssignal.h as one of the five ways of signal handling,
instead of playing preprocessing games.
fileio.c, sysdep.c:
Rename sys_do_signal to qxe_reliable_signal.
signal.c, process-unix.c, profile.c:
Create set_timeout_signal(); use instead of just EMACS_SIGNAL
to establish a signal handler on a timeout signal; this does
special things under Cygwin.
nt.c:
Eliminate term_ntproc(), which is blank; used as a SIGABRT
handler, which was wrong anyway.
nt.c, win32.c:
Move signal code from nt.c to win32.c, since Cygwin needs it
too when dealing with timeout signals.
s\cygwin32.h:
Define CYGWIN_BROKEN_SIGNALS.
------ other changes ------
s\mingw32.h:
Fix problems with NOT_C_CODE being in the wrong place and
excluding defines needed when building Makefile.in.in.
filelock.c, mule-canna.c, mule-ccl.c, mule-ccl.h, ralloc.c,
unexalpha.c, unexapollo.c, unexcw.c, unexelfsgi.c, unexnt.c,
unexsni.c, s\aix3-1.h, s\bsd4-1.h, s\bsd4-2.h, s\bsd4-3.h, s\cxux.h,
s\cygwin32.h, s\dgux.h, s\dgux5-4r2.h, s\dgux5-4r3.h, s\dgux5-4r4.h,
s\ewsux5r4.h, s\gnu.h, s\hpux.h, s\iris3-5.h, s\iris3-6.h,
s\irix3-3.h, s\linux.h, s\mingw32.h, s\newsos5.h, s\nextstep.h,
s\ptx.h, s\riscix1-1.h, s\riscix1-2.h, s\rtu.h, s\sco4.h, s\sco5.h,
s\template.h, s\ultrix.h, s\umax.h, s\umips.h, s\unipl5-0.h,
s\unipl5-2.h, s\usg5-0.h, s\usg5-2-2.h, s\usg5-2.h, s\usg5-3.h,
s\usg5-4.h, s\windowsnt.h, s\xenix.h:
Rename 'GNU Emacs' to XEmacs in the copyright and comments.
nas.c:
Stylistic cleanup. Avoid preprocessing games with names such
as play_sound_file.
xemacs-faq.texi:
Update sections on Windows and MacOS availability.
alist.el, apropos.el, autoload.el, bytecomp.el, cl-compat.el, cl-extra.el, cl-macs.el, cl-seq.el, cl.el, cmdloop.el, cus-edit.el, derived.el, gpm.el, itimer.el, lisp-mode.el, shadow.el, version.el, wid-browse.el:
Rename 'GNU Emacs' to XEmacs in the copyright. Fix other
references to GNU Emacs that should be XEmacs or just Emacs.
files.el:
Fix warning.
simple.el:
transpose-line-up/down will now move the region up or down by
a line if active.
cvtmail.c, fakemail.c, gnuserv.c, gnuserv.h, gnuslib.c, make-msgfile.c, make-path.c, pop.c, pop.h, profile.c, tcp.c:
Rename 'GNU Emacs' to XEmacs in the copyright.
Fix comments in similar ways.
digest-doc.c, sorted-doc.c:
Fix program and author name to reflect XEmacs.
| author |
ben |
| date |
Sun, 10 Jun 2001 10:42:39 +0000 |
| parents |
abe6d1db359e |
| children |
943eaba38521 |
| rev |
line source |
|
428
|
1 /* mswindows-specific Lisp objects.
|
|
|
2 Copyright (C) 1993, 1994 Free Software Foundation, Inc.
|
|
|
3 Copyright (C) 1995 Board of Trustees, University of Illinois.
|
|
|
4 Copyright (C) 1995, 1996 Ben Wing.
|
|
|
5 Copyright (C) 1997, Jonathan Harris.
|
|
|
6
|
|
|
7 This file is part of XEmacs.
|
|
|
8
|
|
|
9 XEmacs is free software; you can redistribute it and/or modify it
|
|
|
10 under the terms of the GNU General Public License as published by the
|
|
|
11 Free Software Foundation; either version 2, or (at your option) any
|
|
|
12 later version.
|
|
|
13
|
|
|
14 XEmacs is distributed in the hope that it will be useful, but WITHOUT
|
|
|
15 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
|
16 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
|
17 for more details.
|
|
|
18
|
|
|
19 You should have received a copy of the GNU General Public License
|
|
|
20 along with XEmacs; see the file COPYING. If not, write to
|
|
|
21 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
|
22 Boston, MA 02111-1307, USA. */
|
|
|
23
|
|
|
24 /* Synched up with: Not in FSF. */
|
|
|
25
|
|
|
26 /* Authorship:
|
|
|
27
|
|
|
28 Ultimately based on FSF.
|
|
|
29 Rewritten by Ben Wing.
|
|
|
30 Rewritten for mswindows by Jonathan Harris, November 1997 for 21.0.
|
|
|
31 */
|
|
|
32
|
|
|
33
|
|
440
|
34 #ifndef INCLUDED_objects_msw_h_
|
|
|
35 #define INCLUDED_objects_msw_h_
|
|
428
|
36
|
|
|
37 #include "objects.h"
|
|
|
38
|
|
|
39 struct mswindows_color_instance_data
|
|
|
40 {
|
|
|
41 COLORREF color;
|
|
|
42 };
|
|
|
43
|
|
|
44 #define MSWINDOWS_COLOR_INSTANCE_DATA(c) \
|
|
|
45 ((struct mswindows_color_instance_data *) (c)->data)
|
|
|
46 #define COLOR_INSTANCE_MSWINDOWS_COLOR(c) \
|
|
|
47 (MSWINDOWS_COLOR_INSTANCE_DATA (c)->color)
|
|
|
48
|
|
440
|
49 /* The four HFONTS are for the 4 (underlined, strikethrough)
|
|
|
50 combinations. Only the one at index 0, neither underlined nor
|
|
|
51 struk through is created with the font instance. Other fonts are
|
|
|
52 created as necessary during redisplay, using the one at index 0
|
|
442
|
53 as prototype */
|
|
440
|
54 #define MSWINDOWS_NUM_FONT_VARIANTS 4
|
|
|
55 struct mswindows_font_instance_data
|
|
|
56 {
|
|
|
57 HFONT hfont [MSWINDOWS_NUM_FONT_VARIANTS];
|
|
|
58 };
|
|
|
59
|
|
|
60 #define MSWINDOWS_FONT_INSTANCE_DATA(c) \
|
|
|
61 ((struct mswindows_font_instance_data *) (c)->data)
|
|
428
|
62
|
|
440
|
63 #define FONT_INSTANCE_MSWINDOWS_HFONT_I(c,i) \
|
|
|
64 (MSWINDOWS_FONT_INSTANCE_DATA(c)->hfont[(i)])
|
|
|
65
|
|
|
66 #define FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT(c,under,strike) \
|
|
|
67 FONT_INSTANCE_MSWINDOWS_HFONT_I (c, (!!(strike)<<1)|!!(under))
|
|
|
68
|
|
|
69 /* If font creation during redisplay fails, then the following
|
|
|
70 value is used to prevent future attempts to create this font.
|
|
|
71 Redisplay uses the "main" font when encounters this value */
|
|
442
|
72 #define MSWINDOWS_BAD_HFONT ((HFONT)INVALID_HANDLE_VALUE)
|
|
440
|
73
|
|
|
74 HFONT mswindows_get_hfont (Lisp_Font_Instance* f, int under, int strike);
|
|
|
75
|
|
442
|
76 Lisp_Object mswindows_color_to_string (COLORREF color);
|
|
|
77
|
|
440
|
78 #endif /* INCLUDED_objects_msw_h_ */
|