Initial import of the CDE 2.1.30 sources from the Open Group.
[oweals/cde.git] / cde / lib / DtWidget / Icon.h
1 /* $XConsortium: Icon.h /main/4 1995/10/26 09:32:37 rswiston $ */
2 /**---------------------------------------------------------------------
3 ***     
4 ***     file:           Icon.h
5 ***
6 ***     project:        MotifPlus Widgets
7 ***
8 ***     description:    Public include file for DtIcon gadget class.
9 ***     
10 ***     
11 ***                     (c) Copyright 1990 by Hewlett-Packard Company.
12 ***
13 ***
14 ***-------------------------------------------------------------------*/
15
16
17 #ifndef _DtIcon_h
18 #define _DtIcon_h
19
20 #include <Xm/Xm.h>
21 #include <Dt/DtStrDefs.h>
22
23 #ifndef DtIsIcon
24 #define DtIsIcon(w) XtIsSubclass(w, dtIconGadgetClass)
25 #endif /* DtIsIcon */
26
27 typedef struct _DtIconClassRec * DtIconGadgetClass;
28 typedef struct _DtIconRec      * DtIconGadget;
29 typedef struct _DtIconCacheObjRec   * DtIconCacheObject;
30
31
32 extern Widget _DtCreateIcon( 
33                         Widget parent,
34                         String name,
35                         ArgList arglist,
36                         Cardinal argcount) ;
37 extern Boolean _DtIconGetState( 
38                         Widget w) ;
39 extern void _DtIconSetState( 
40                         Widget w,
41                         Boolean state,
42                         Boolean notify) ;
43 extern Drawable _DtIconDraw( 
44                         Widget widget,
45                         Drawable drawable,
46                         Position x,
47                         Position y,
48                         Boolean fill) ;
49 extern Widget _DtDuplicateIcon( 
50                         Widget parent,
51                         Widget widget,
52                         XmString string,
53                         String pixmap,
54                         XtPointer user_data,
55                         Boolean underline) ;
56 extern Boolean _DtIconSelectInTitle( 
57                         Widget widget,
58                         Position pt_x,
59                         Position pt_y) ;
60 extern XRectangle * _DtIconGetTextExtent( 
61                         Widget widget) ;
62 extern void _DtIconGetIconRects( 
63                         DtIconGadget g,
64                         unsigned char *flags,
65                         XRectangle *rect1,
66                         XRectangle *rect2) ;
67
68
69
70 extern WidgetClass dtIconGadgetClass;
71
72
73 #define XmCR_SELECT     XmCR_SINGLE_SELECT
74 #define XmCR_DROP       50
75 #define XmCR_POPUP      51
76 #define XmCR_HIGHLIGHT  52
77 #define XmCR_UNHIGHLIGHT        53
78 #define XmCR_SHADOW     54
79
80 typedef struct
81 {
82         int             reason;
83         XEvent *        event;
84         Boolean         set;
85 } DtIconCallbackStruct;
86
87
88 #define XmPIXMAP_TOP    0
89 #define XmPIXMAP_BOTTOM 1
90 #define XmPIXMAP_LEFT   2
91 #define XmPIXMAP_RIGHT  3
92 #define XmPIXMAP_MIDDLE 4
93
94 #define XmSTRING_BOTTOM 0
95 #define XmSTRING_TOP    1
96 #define XmSTRING_RIGHT  2
97 #define XmSTRING_LEFT   3
98
99 #define XmICON_LABEL    0
100 #define XmICON_BUTTON   1
101 #define XmICON_TOGGLE   2
102 #define XmICON_DRAG     3
103
104 #define XmFILL_NONE     0
105 #define XmFILL_PARENT   1
106 #define XmFILL_SELF     2
107 #define XmFILL_TRANSPARENT      3
108
109 #define XmPIXMAP_RECT  0x01
110 #define XmLABEL_RECT   0x02
111
112 #define DtRECTANGLE     0
113 #define DtNON_RECTANGLE 1
114
115
116 #endif /* _XmIcon_h */
117
118 /* DON'T ADD ANYTHING AFTER THIS #endif */