2 * $XConsortium: CommandI.h,v 1.16 89/05/11 01:05:05 kit Exp $
6 /***********************************************************
7 Copyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts,
8 and the Massachusetts Institute of Technology, Cambridge, Massachusetts.
12 Permission to use, copy, modify, and distribute this software and its
13 documentation for any purpose and without fee is hereby granted,
14 provided that the above copyright notice appear in all copies and that
15 both that copyright notice and this permission notice appear in
16 supporting documentation, and that the names of Digital or MIT not be
17 used in advertising or publicity pertaining to distribution of the
18 software without specific, written prior permission.
20 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
21 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
22 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
23 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
24 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
25 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
28 ******************************************************************/
32 * A few definitions to make Command.c easier to read.
36 /* Yes, this is gross, but the code will be easier to read.
38 #define ComWx cbw->core.x
39 #define ComWy cbw->core.y
40 #define ComWdepth cbw->core.depth
41 #define ComWwidth cbw->core.width
42 #define ComWheight cbw->core.height
43 #define ComWborder_width cbw->core.border_width
44 #define ComWbackground cbw->core.background_pixel
45 #define ComWforeground cbw->label.foreground
46 #define ComWfont cbw->label.font
47 #define ComWlabel cbw->label.label
48 #define ComWjustify cbw->label.justify
49 #define ComWinternalWidth cbw->label.internal_width
50 #define ComWinternalHeight cbw->label.internal_height
51 #define ComWlabelX cbw->label.label_x
52 #define ComWlabelY cbw->label.label_y + cbw->label.font->max_bounds.ascent
53 #define ComWlabelWidth cbw->label.label_width
54 #define ComWlabelHeight cbw->label.label_height
55 #define ComWlabelLen cbw->label.label_len
56 #define ComWlabelGC cbw->label.normal_GC
57 #define ComWnormalGC cbw->command.normal_GC
58 #define ComWgrayGC cbw->label.gray_GC
59 #define ComWgrayPixmap cbw->label.gray_pixmap
60 #define ComWsensitive cbw->core.sensitive
61 #define ComWcallbackList cbw->command.callback_list
62 #define ComWcallback cbw->command.callback
63 #define ComWclosure cbw->command.closure
64 #define ComWinverseGC cbw->command.inverse_GC
65 #define ComWhighlightThickness cbw->command.highlight_thickness
66 #define ComWset cbw->command.set
67 #define ComWhighlighted cbw->command.highlighted
69 #define XtCBField(cbw,field) cbw->command.field
70 #define XtLField(cbw,field) cbw->label.field
71 #define XtCField(cbw,field) cbw->core.field
74 static void Initialize();
75 static void Redisplay();
76 static Boolean
SetValues();
81 static void Highlight();
82 static void Unhighlight();
84 static void Destroy();