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
|
|
53 as protptype */
|
|
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 */
|
|
72 #define MSWINDOWS_BAD_HFONT INVALID_HANDLE_VALUE
|
|
73
|
|
74 HFONT mswindows_get_hfont (Lisp_Font_Instance* f, int under, int strike);
|
|
75
|
|
76 #endif /* INCLUDED_objects_msw_h_ */
|