1 /*******************************************************************
2  FILE:		Control.h
3  CONTENTS:	Public header file for the Control widget class.
4  AUTHOR:	Paul D. Johnston
5  HISTORY:
6  Date		Action
7  ---------	------------------------------------
8  5/23/92	Changed the widget class name so that it is preceded
9 		by 'xc' with the first major word capitalized.
10  3/11/92	Created.
11 
12 ********************************************************************/
13 
14 #ifndef CONTROL_H
15 #define CONTROL_H
16 
17 
18 /* Debug printf statements for Control Panel widget development. */
19 #ifdef XCDEBUG
20 #define DPRINTF(statement)  printf statement
21 #else
22 #define DPRINTF(statement)
23 #endif
24 
25 
26 /*
27  * This macro is used by the resource string conversion routines to
28  * assign the converted type elements to the XrmValue struct.
29  */
30 #define CvtDone(type, address) \
31 { toVal->size = sizeof(type); \
32   toVal->addr = (caddr_t)address; \
33   return; }
34 
35 
36 /*
37  * This enumeration defines the possible 3D rectangle types, used in the
38  * call to Rect3d().
39  */
40 typedef enum rect3d_t
41 {
42    RAISED,
43    DEPRESSED
44 } Type3d;
45 
46 /* Type used to indicate the Arrow direction (i.e., up, down, etc.) */
47 typedef enum
48 {
49    UP,
50    DOWN,
51    LEFT,
52    RIGHT
53 } ArrowType;
54 
55 
56 /* Class record declarations */
57 
58 extern WidgetClass xcControlWidgetClass;
59 
60 typedef struct _ControlClassRec *ControlWidgetClass;
61 typedef struct _ControlRec *ControlWidget;
62 
63 
64 /* Declaration of widget class functions */
65 extern Boolean Point_In_Rect();
66 extern void Rect3d();
67 extern void VarRect3d();
68 extern void Arrow3d();
69 extern void ToLower();
70 extern void CvtStringToOrient();
71 
72 
73 #endif /* CONTROL_H */
74 
75