1 /* Tabs Widget for XEmacs.
2 Copyright (C) 1999 Edward A. Falk
4 This file is part of XEmacs.
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
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
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. */
21 /* Synched up with: Gcs 1.7 */
27 /* Overview of functions provided here:
30 * Given a foreground pixel & a font, return an appropriate GC
33 * Given a widget, return a GC for painting the background color
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.
41 * Contrast 0 = background color, 100 = foreground color. It is legal
42 * for contrast to be more than 100 or less than 0.
45 * Given widget, foreground, font, contrast & be_nice_to_colormap,
46 * return a shade GC (see above) based on foreground and widget
50 * Given widget, contrast & be_nice_to_colormap, return a GC suitable
51 * for rendering the top shadow.
53 * Contrast 0 = use background pixel. Contrast > 0 = use brighter
57 * Given widget, contrast & be_nice_to_colormap, return a GC suitable
58 * for rendering the bottom shadow.
60 * Contrast 0 = use background pixel. Contrast > 0 = use darker
64 * Given widget, contrast & be_nice_to_colormap, return a GC suitable
65 * for rendering the "armed" shadow.
67 * Contrast 0 = use background pixel. Contrast > 0 = use darker
71 * Given a widget & scale factor, allocate & return a color darker
72 * or lighter than the background pixel, as determined by scale.
74 * Scale 100 = use background pixel. Scale > 100 = brighter color,
75 * Scale < 100 = darker color.
78 * Given two pixel values and scale factor, allocate & return a
79 * pixel value between them, according to scale.
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
89 * Given two color values and scale factor, allocate & return a
90 * pixel value between them, according to scale.
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
99 * Given box dimensions, shadow width, top shadow GC & bottom shadow GC,
103 #if NeedFunctionPrototypes
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) ;
119 #if XtSpecificationRelease < 5
120 extern GC XtAllocateGC(Widget, int depth, unsigned long mask,
122 unsigned long dynamic, unsigned long dontcare) ;
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() ;
139 #if XtSpecificationRelease < 5
140 extern GC XtAllocateGC() ;