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