872
|
1 /* mswindows-specific Lisp objects -- header implementation.
|
|
2 Copyright (C) 1993, 1994 Free Software Foundation, Inc.
|
|
3 Copyright (C) 1995 Board of Trustees, University of Illinois.
|
|
4 Copyright (C) 1995, 1996, 2002 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
|
|
34 #ifndef INCLUDED_objects_msw_impl_h_
|
|
35 #define INCLUDED_objects_msw_impl_h_
|
|
36
|
|
37 #include "objects-impl.h"
|
|
38 #include "objects-msw.h"
|
|
39
|
|
40 struct mswindows_color_instance_data
|
|
41 {
|
|
42 COLORREF color;
|
|
43 };
|
|
44
|
|
45 #define MSWINDOWS_COLOR_INSTANCE_DATA(c) \
|
|
46 ((struct mswindows_color_instance_data *) (c)->data)
|
|
47 #define COLOR_INSTANCE_MSWINDOWS_COLOR(c) \
|
|
48 (MSWINDOWS_COLOR_INSTANCE_DATA (c)->color)
|
|
49
|
|
50 /* The four HFONTS are for the 4 (underlined, strikethrough)
|
|
51 combinations. Only the one at index 0, neither underlined nor
|
|
52 struk through is created with the font instance. Other fonts are
|
|
53 created as necessary during redisplay, using the one at index 0
|
|
54 as prototype */
|
|
55 #define MSWINDOWS_NUM_FONT_VARIANTS 4
|
|
56 struct mswindows_font_instance_data
|
|
57 {
|
|
58 HFONT hfont [MSWINDOWS_NUM_FONT_VARIANTS];
|
|
59 };
|
|
60
|
|
61 #define MSWINDOWS_FONT_INSTANCE_DATA(c) \
|
|
62 ((struct mswindows_font_instance_data *) (c)->data)
|
|
63
|
|
64 #define FONT_INSTANCE_MSWINDOWS_HFONT_I(c,i) \
|
|
65 (MSWINDOWS_FONT_INSTANCE_DATA(c)->hfont[(i)])
|
|
66
|
|
67 #define FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT(c,under,strike) \
|
|
68 FONT_INSTANCE_MSWINDOWS_HFONT_I (c, (!!(strike)<<1)|!!(under))
|
|
69
|
|
70 /* If font creation during redisplay fails, then the following
|
|
71 value is used to prevent future attempts to create this font.
|
|
72 Redisplay uses the "main" font when encounters this value */
|
|
73 #define MSWINDOWS_BAD_HFONT ((HFONT)INVALID_HANDLE_VALUE)
|
|
74
|
|
75 #endif /* INCLUDED_objects_msw_impl_h_ */
|