update.
[chise/xemacs-chise.git.1] / lwlib / xlwgcs.h
1  /* Tabs Widget for XEmacs.
2     Copyright (C) 1999 Edward A. Falk
3
4  This file is part of XEmacs.
5
6  XEmacs is free software; you can redistribute it and/or modify it
7  under the terms of the GNU General Public License as published by the
8  Free Software Foundation; either version 2, or (at your option) any
9  later version.
10
11  XEmacs is distributed in the hope that it will be useful, but WITHOUT
12  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
14  for more details.
15
16  You should have received a copy of the GNU General Public License
17  along with XEmacs; see the file COPYING.  If not, write to
18  the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19  Boston, MA 02111-1307, USA.  */
20
21  /* Synched up with: Gcs 1.7 */
22
23
24 #ifndef GCS_H
25 #define GCS_H
26
27 /* Overview of functions provided here:
28  *
29  * AllocFgGC()
30  *      Given a foreground pixel & a font, return an appropriate GC
31  *
32  * AllocBackgroundGC()
33  *      Given a widget, return a GC for painting the background color
34  *
35  * AllocShadeGC()
36  *      Given foreground, background, a contrast value & be_nice_to_colormap
37  *      flag, return a GC suitable for rendering in an intermediate color,
38  *      as determined by contrast.  May return a dither pattern or a
39  *      solid color, as appropriate.
40  *
41  *      Contrast 0 = background color, 100 = foreground color.  It is legal
42  *      for contrast to be more than 100 or less than 0.
43  *
44  * AllocGreyGC()
45  *      Given widget, foreground, font, contrast & be_nice_to_colormap,
46  *      return a shade GC (see above) based on foreground and widget
47  *      background.
48  *
49  * AllocTopShadowGC()
50  *      Given widget, contrast & be_nice_to_colormap, return a GC suitable
51  *      for rendering the top shadow.
52  *
53  *      Contrast 0 = use background pixel.  Contrast > 0 = use brighter
54  *      colors.
55  *
56  * AllocBotShadowGC()
57  *      Given widget, contrast & be_nice_to_colormap, return a GC suitable
58  *      for rendering the bottom shadow.
59  *
60  *      Contrast 0 = use background pixel.  Contrast > 0 = use darker
61  *      colors.
62  *
63  * AllocArmShadowGC()
64  *      Given widget, contrast & be_nice_to_colormap, return a GC suitable
65  *      for rendering the "armed" shadow.
66  *
67  *      Contrast 0 = use background pixel.  Contrast > 0 = use darker
68  *      colors.
69  *
70  * AllocShadowPixel()
71  *      Given a widget & scale factor, allocate & return a color darker
72  *      or lighter than the background pixel, as determined by scale.
73  *
74  *      Scale 100 = use background pixel.  Scale > 100 = brighter color,
75  *      Scale < 100 = darker color.
76  *
77  * AllocGreyPixel()
78  *      Given two pixel values and scale factor, allocate & return a
79  *      pixel value between them, according to scale.
80  *
81  *      Scale == 0:     background color
82  *      Scale == 100:   foreground color
83  *      0<Scale<100:    intermediate color
84  *      Scale > 100:    more foreground
85  *      Scale < 0:      more background
86  *
87  *
88  * AllocGreyPixelC()
89  *      Given two color values and scale factor, allocate & return a
90  *      pixel value between them, according to scale.
91  *
92  *      Scale == 0:     background color
93  *      Scale == 100:   foreground color
94  *      0<Scale<100:    intermediate color
95  *      Scale > 100:    more foreground
96  *      Scale < 0:      more background
97  *
98  * Draw3dBox()
99  *      Given box dimensions, shadow width, top shadow GC & bottom shadow GC,
100  *      draw a 3-d box.
101  */
102
103 #if     NeedFunctionPrototypes
104
105 extern  GC      AllocFgGC( Widget w, Pixel fg, Font font) ;
106 extern  GC      AllocBackgroundGC( Widget w, Font font) ;
107 extern  GC      AllocShadeGC( Widget w, Pixel fg, Pixel bg, Font,
108                         int contrast, Bool ) ;
109 extern  GC      AllocGreyGC( Widget w, Pixel fg, Font, int, Bool ) ;
110 extern  GC      AllocTopShadowGC( Widget w, int contrast, int ) ;
111 extern  GC      AllocBotShadowGC( Widget w, int contrast, int ) ;
112 extern  GC      AllocArmGC( Widget w, int contrast, int) ;
113 extern  Pixel   AllocShadowPixel(Widget, int scale) ;
114 extern  Pixel   AllocGreyPixel(Widget, Pixel fg, Pixel bg, int scale) ;
115 extern  Pixel   AllocGreyPixelC(Widget, XColor *fg, XColor *bg, int scale) ;
116 extern  void    Draw3dBox(Widget w, int  x, int y, int wid, int hgt, int s,
117                         GC topgc, GC botgc) ;
118
119 #if XtSpecificationRelease < 5
120 extern  GC      XtAllocateGC(Widget, int depth, unsigned long mask,
121                              XGCValues *,
122                              unsigned long dynamic, unsigned long dontcare) ;
123 #endif
124
125 #else
126
127 extern  GC      AllocFgGC() ;
128 extern  GC      AllocBackgroundGC() ;
129 extern  GC      AllocShadeGC() ;
130 extern  GC      AllocGreyGC() ;
131 extern  GC      AllocTopShadowGC() ;
132 extern  GC      AllocBotShadowGC() ;
133 extern  GC      AllocArmGC() ;
134 extern  Pixel   AllocShadowPixel() ;
135 extern  Pixel   AllocGreyPixel() ;
136 extern  Pixel   AllocGreyPixelC() ;
137 extern  void    Draw3dBox() ;
138
139 #if XtSpecificationRelease < 5
140 extern  GC      XtAllocateGC() ;
141 #endif
142
143 #endif
144
145 #endif  /* GCS_H */