7aefd5831275c6c5a4e203cb4b5832de514bd1e3
[oweals/cde.git] / cde / programs / dtstyle / ColorMain.h
1 /* $XConsortium: ColorMain.h /main/5 1995/10/30 13:08:51 rswiston $ */
2 /************************************<+>*************************************
3  ****************************************************************************
4  **
5  **   File:        ColorMain.h
6  **
7  **   Project:     DT 3.0
8  **
9  **  This file contains function definitions for the corresponding .c
10  **  file
11  **
12  **
13  **  (c) Copyright Hewlett-Packard Company, 1990.  
14  **
15  **
16  **
17  ****************************************************************************
18  ************************************<+>*************************************/
19 #ifndef _colormain_h
20 #define _colormain_h
21
22 #include <Xm/ColorObjP.h>
23
24 /*  #defines  */
25 #define PALETTE_SUFFIX       ".dp"
26
27 /* defines for foreground colors */
28 #define DYNAMIC    0
29 #define BLACK      1
30 #define WHITE      2
31
32 /* selections */
33 #define GET_TYPE_MONITOR         1
34 #define GET_PALETTE_NAME         2
35 #define GET_UPDATE               3
36
37
38 /* typedef statements */
39
40 /* ColorSet data structure */
41
42 typedef struct {
43     XColor fg;
44     XColor bg;
45     XColor ts;
46     XColor bs;
47     XColor sc;
48 } ColorSet;
49
50
51 /*  Palette info */
52
53 typedef struct _palette {
54       char *name;
55       char *desc;
56       char *directory;
57       int item_position;
58       int num_of_colors;
59       ColorSet color[XmCO_MAX_NUM_COLORS];
60       struct _palette *next;
61       short active;
62       short inactive;
63       short primary;
64       short secondary;
65 } palette;
66
67
68 /* External variable definitions */
69
70 /*  Palettes exist in a linked list  */
71
72 extern palette *pHeadPalette;
73 extern palette *pCurrentPalette;
74 extern palette *pOldPalette;
75
76 /* atoms used in selection communication with color server */
77
78 extern Atom     XA_CUSTOMIZE;
79 extern Atom     XA_PALETTE_NAME;
80 extern Atom     XA_TYPE_MONITOR;
81 extern Atom     XA_UPDATE;
82
83 extern Widget   modifyColorButton;
84 extern int      TypeOfMonitor;
85 extern Bool     UsePixmaps;
86 extern int      FgColor;
87 extern Widget   paletteList;
88 extern char     *defaultName;
89 extern Bool     WaitSelection;
90
91 extern int NumOfPalettes;
92 extern XColor saved_color[2];
93
94
95 /* External Interface */
96
97
98 extern void _DtTurnOnHourGlass( Widget );
99 extern void _DtTurnOffHourGlass( Widget );
100 extern void Customize( Widget shell) ;
101 extern void CreatePaletteButtons( Widget parent) ;
102 extern Boolean InitializePaletteList( 
103                         Widget shell,
104                         Widget list,
105 #if NeedWidePrototypes
106                         int startup) ;
107 #else
108                         Boolean startup) ;
109 #endif
110 extern void DeletePaletteFromLinkList( Widget list) ;
111 extern void CopyPixel( ColorSet srcPixels[XmCO_MAX_NUM_COLORS],
112                        ColorSet dstPixels[XmCO_MAX_NUM_COLORS],
113                        int numOfColors) ;
114 extern void SaveOrgPalette( void ) ;
115 extern void RestoreOrgPalette( void ) ;
116 extern void UpdateDefaultPalette( void ) ;
117 extern void show_selection( 
118                         Widget w,
119                         XtPointer client_data,
120                         Atom *selection,
121                         Atom *type,
122                         XtPointer value,
123                         unsigned long *length,
124                         int *format) ;
125 extern void restoreColor( Widget shell, XrmDatabase db) ;
126 extern void saveColor( int fd) ;
127 extern void SameName( 
128                         Widget w,
129                         struct _palette *tmpPalette,
130                         char *name) ;
131 extern void InitializeAtoms( void ) ;
132 extern void GetDefaultPal( Widget shell) ;
133 extern void CreateDialogBoxD( Widget parent) ;
134 extern void AddToDialogBox( void ) ;
135 extern void CreateTopColor1( void ) ;
136 extern void CreateTopColor2( void ) ;
137 extern void CreateBottomColor( void ) ;
138
139
140 #endif /* _colormain_h */
141 /* DON'T ADD ANYTHING AFTER THIS #endif */