1 /**
2  *
3  * $Id: DrawnBP.h,v 1.1 2004/08/28 19:23:25 dannybackx Exp $
4  *
5  * Copyright (C) 1995 Free Software Foundation, Inc.
6  * Copyright (C) 1995-2000 LessTif Development Team
7  *
8  * This file is part of the GNU LessTif Library.
9  *
10  * This library is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU Library General Public
12  * License as published by the Free Software Foundation; either
13  * version 2 of the License, or (at your option) any later version.
14  *
15  * This library is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18  * Library General Public License for more details.
19  *
20  * You should have received a copy of the GNU Library General Public
21  * License along with this library; if not, write to the Free
22  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
23  *
24  **/
25 
26 
27 #ifndef _XM_DRAWNBP_H
28 #define _XM_DRAWNBP_H
29 
30 #include <Xm/DrawnB.h>
31 #include <Xm/LabelP.h>
32 
33 #ifdef __cplusplus
34 extern "C" {
35 #endif
36 
37 typedef struct {
38     Boolean pushbutton_enabled;
39     unsigned char shadow_type;
40 
41     XtCallbackList activate_callback;
42     XtCallbackList arm_callback;
43     XtCallbackList disarm_callback;
44     XtCallbackList expose_callback;
45     XtCallbackList resize_callback;
46 
47     Boolean armed;
48     Dimension old_width;
49     Dimension old_height;
50     Dimension old_shadow_thickness;
51     Dimension old_highlight_thickness;
52     XtIntervalId timer;
53     unsigned char multiClick;
54     int click_count;
55     Time armTimeStamp;
56 } XmDrawnButtonPart;
57 
58 /* Define the full instance record */
59 typedef struct _XmDrawnButtonRec {
60     CorePart core;
61     XmPrimitivePart primitive;
62     XmLabelPart label;
63     XmDrawnButtonPart drawnbutton;
64 } XmDrawnButtonRec;
65 
66 /* Define class part structure */
67 typedef struct {
68     XtPointer extension;
69 } XmDrawnButtonClassPart;
70 
71 /* Define the full class record */
72 typedef struct _XmDrawnButtonClassRec {
73     CoreClassPart core_class;
74     XmPrimitiveClassPart primitive_class;
75     XmLabelClassPart label_class;
76     XmDrawnButtonClassPart drawnbutton_class;
77 } XmDrawnButtonClassRec;
78 
79 /* External definition for the class record */
80 
81 XMLIBEXPORT extern XmDrawnButtonClassRec xmDrawnButtonClassRec;
82 
83 #ifdef __cplusplus
84 }
85 #endif
86 
87 #endif /* _XM_DRAWNBP_H */
88