872
|
1 /* X-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, 2002 Ben Wing.
|
|
5
|
|
6 This file is part of XEmacs.
|
|
7
|
|
8 XEmacs is free software; you can redistribute it and/or modify it
|
|
9 under the terms of the GNU General Public License as published by the
|
|
10 Free Software Foundation; either version 2, or (at your option) any
|
|
11 later version.
|
|
12
|
|
13 XEmacs is distributed in the hope that it will be useful, but WITHOUT
|
|
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
|
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
|
|
16 for more details.
|
|
17
|
|
18 You should have received a copy of the GNU General Public License
|
|
19 along with XEmacs; see the file COPYING. If not, write to
|
|
20 the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
21 Boston, MA 02111-1307, USA. */
|
|
22
|
|
23 /* Synched up with: Not in FSF. */
|
|
24
|
|
25 /* This file Mule-ized (more like Mule-verified) by Ben Wing, 7-10-00. */
|
|
26
|
|
27 #ifndef INCLUDED_objects_x_impl_h_
|
|
28 #define INCLUDED_objects_x_impl_h_
|
|
29
|
|
30 #include "objects-impl.h"
|
|
31 #include "objects-x.h"
|
3094
|
32 #ifdef USE_XFT
|
|
33 /* for resource name definitions, etc */
|
|
34 #include "../lwlib/lwlib-fonts.h"
|
|
35 #endif
|
872
|
36
|
|
37 #ifdef HAVE_X_WINDOWS
|
|
38
|
|
39 /*****************************************************************************
|
|
40 Color-Instance
|
|
41 ****************************************************************************/
|
|
42
|
|
43 struct x_color_instance_data
|
|
44 {
|
|
45 XColor color;
|
3094
|
46 /* Yes, it looks crazy to have both the XColor and the XftColor, but
|
|
47 pragmatically both are used. */
|
|
48 #ifdef USE_XFT
|
|
49 XftColor xftColor;
|
|
50 #endif
|
872
|
51 char dealloc_on_gc;
|
|
52 };
|
|
53
|
|
54 #define X_COLOR_INSTANCE_DATA(c) ((struct x_color_instance_data *) (c)->data)
|
|
55 #define COLOR_INSTANCE_X_COLOR(c) (X_COLOR_INSTANCE_DATA (c)->color)
|
3094
|
56 #ifdef USE_XFT
|
|
57 #define COLOR_INSTANCE_X_XFTCOLOR(c) (X_COLOR_INSTANCE_DATA (c)->xftColor)
|
|
58 #endif
|
872
|
59 #define COLOR_INSTANCE_X_DEALLOC(c) (X_COLOR_INSTANCE_DATA (c)->dealloc_on_gc)
|
|
60
|
|
61 /*****************************************************************************
|
|
62 Font-Instance
|
|
63 ****************************************************************************/
|
|
64
|
|
65 struct x_font_instance_data
|
|
66 {
|
|
67 /* X-specific information */
|
3094
|
68 /* Yes, it looks crazy to have both the XFontStruct and the XftFont, but
|
|
69 pragmatically both are used (lwlib delegates labels to the widget sets,
|
|
70 which internally use XFontStructs). */
|
|
71 XFontStruct * font;
|
|
72 #ifdef USE_XFT
|
|
73 XftFont *xftFont;
|
|
74 #endif
|
|
75
|
872
|
76 };
|
|
77
|
|
78 #define X_FONT_INSTANCE_DATA(f) ((struct x_font_instance_data *) (f)->data)
|
|
79 #define FONT_INSTANCE_X_FONT(f) (X_FONT_INSTANCE_DATA (f)->font)
|
3094
|
80 #ifdef USE_XFT
|
|
81 #define FONT_INSTANCE_X_XFTFONT(f) (X_FONT_INSTANCE_DATA (f)->xftFont)
|
|
82 #endif
|
872
|
83
|
|
84 #endif /* HAVE_X_WINDOWS */
|
|
85
|
|
86 #endif /* INCLUDED_objects_x_impl_h_ */
|