2 * CDE - Common Desktop Environment
4 * Copyright (c) 1993-2012, The Open Group. All rights reserved.
6 * These libraries and programs are free software; you can
7 * redistribute them and/or modify them under the terms of the GNU
8 * Lesser General Public License as published by the Free Software
9 * Foundation; either version 2 of the License, or (at your option)
12 * These libraries and programs are distributed in the hope that
13 * they will be useful, but WITHOUT ANY WARRANTY; without even the
14 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 * PURPOSE. See the GNU Lesser General Public License for more
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with these librararies and programs; if not, write
20 * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
21 * Floor, Boston, MA 02110-1301 USA
23 /* $XConsortium: ButtonP.h /main/5 1995/11/01 11:22:47 rswiston $ */
26 static char SCCSID[] = "OSF/Motif: @(#)ButtonP.h 1.14 95/05/01";
29 /******************************************************************************
30 *******************************************************************************
32 * (c) Copyright 1992 HEWLETT-PACKARD COMPANY
35 *******************************************************************************
36 ******************************************************************************/
42 #include <Xm/GadgetP.h>
43 #include <Xm/ManagerP.h>
45 #if defined(__cplusplus) || defined(c_plusplus)
49 /* Arrow class structure */
51 typedef struct _DtButtonGadgetClassPart
54 } DtButtonGadgetClassPart;
57 /* Full class record declaration for Arrow class */
59 typedef struct _DtButtonGadgetClassRec
61 RectObjClassPart rect_class;
62 XmGadgetClassPart gadget_class;
63 DtButtonGadgetClassPart button_class;
64 } DtButtonGadgetClassRec;
66 externalref DtButtonGadgetClassRec dtButtonGadgetClassRec;
69 /* The button instance record */
71 typedef struct _DtButtonGadgetPart
73 XtCallbackList callback;
83 unsigned char multiClick; /* KEEP/DISCARD resource */
86 Time activateTimeStamp;
89 XtPointer push_function;
90 XtPointer push_argument;
95 Dimension pixmap_width;
96 Dimension pixmap_height;
100 } DtButtonGadgetPart;
103 /* Full instance record declaration */
105 typedef struct _DtButtonGadgetRec
108 RectObjPart rectangle;
110 DtButtonGadgetPart button;
113 #define B_Expose(w,e,r) \
114 (w -> core.widget_class->core_class.expose)(w,e,r)
115 #define B_ArmColor(w) (w -> button.arm_color)
116 #define B_CursorFont(w) (w -> button.cursor_font)
117 #define B_Armed(w) (w -> button.armed)
118 #define B_PushFunction(w) (w -> button.push_function)
119 #define B_PushArgument(w) (w -> button.push_argument)
120 #define B_Subpanel(w) (w -> button.subpanel)
121 #define B_Callback(w) (w -> button.callback)
122 #define B_PixmapWidth(w) (w -> button.pixmap_width)
123 #define B_PixmapHeight(w) (w -> button.pixmap_height)
124 #define B_ImageName(w) (w -> button.image_name)
125 #define B_Mask(w) (w -> button.mask)
126 #define B_Pixmap(w) (w -> button.pixmap)
127 #define M_TopShadowColor(w) (w -> manager.top_shadow_color)
128 #define M_BottomShadowColor(w) (w -> manager.bottom_shadow_color)
130 #if defined(__cplusplus) || defined(c_plusplus)
131 } /* Close scope of 'extern "C"' declaration which encloses file. */
134 #endif /* _DtButtonP_h */
135 /* DON'T ADD ANYTHING AFTER THIS #endif */