This commit was manufactured by cvs2svn to create branch 'chise-r21-4-18'.
[chise/xemacs-chise.git-] / lwlib / xlwgcs.h
diff --git a/lwlib/xlwgcs.h b/lwlib/xlwgcs.h
new file mode 100644 (file)
index 0000000..30b9b86
--- /dev/null
@@ -0,0 +1,145 @@
+ /* Tabs Widget for XEmacs.
+    Copyright (C) 1999 Edward A. Falk
+
+ This file is part of XEmacs.
+
+ XEmacs is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License as published by the
+ Free Software Foundation; either version 2, or (at your option) any
+ later version.
+
+ XEmacs is distributed in the hope that it will be useful, but WITHOUT
+ ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with XEmacs; see the file COPYING.  If not, write to
+ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ Boston, MA 02111-1307, USA.  */
+
+ /* Synched up with: Gcs 1.7 */
+
+
+#ifndef        GCS_H
+#define        GCS_H
+
+/* Overview of functions provided here:
+ *
+ * AllocFgGC()
+ *     Given a foreground pixel & a font, return an appropriate GC
+ *
+ * AllocBackgroundGC()
+ *     Given a widget, return a GC for painting the background color
+ *
+ * AllocShadeGC()
+ *     Given foreground, background, a contrast value & be_nice_to_colormap
+ *     flag, return a GC suitable for rendering in an intermediate color,
+ *     as determined by contrast.  May return a dither pattern or a
+ *     solid color, as appropriate.
+ *
+ *     Contrast 0 = background color, 100 = foreground color.  It is legal
+ *     for contrast to be more than 100 or less than 0.
+ *
+ * AllocGreyGC()
+ *     Given widget, foreground, font, contrast & be_nice_to_colormap,
+ *     return a shade GC (see above) based on foreground and widget
+ *     background.
+ *
+ * AllocTopShadowGC()
+ *     Given widget, contrast & be_nice_to_colormap, return a GC suitable
+ *     for rendering the top shadow.
+ *
+ *     Contrast 0 = use background pixel.  Contrast > 0 = use brighter
+ *     colors.
+ *
+ * AllocBotShadowGC()
+ *     Given widget, contrast & be_nice_to_colormap, return a GC suitable
+ *     for rendering the bottom shadow.
+ *
+ *     Contrast 0 = use background pixel.  Contrast > 0 = use darker
+ *     colors.
+ *
+ * AllocArmShadowGC()
+ *     Given widget, contrast & be_nice_to_colormap, return a GC suitable
+ *     for rendering the "armed" shadow.
+ *
+ *     Contrast 0 = use background pixel.  Contrast > 0 = use darker
+ *     colors.
+ *
+ * AllocShadowPixel()
+ *     Given a widget & scale factor, allocate & return a color darker
+ *     or lighter than the background pixel, as determined by scale.
+ *
+ *     Scale 100 = use background pixel.  Scale > 100 = brighter color,
+ *     Scale < 100 = darker color.
+ *
+ * AllocGreyPixel()
+ *     Given two pixel values and scale factor, allocate & return a
+ *     pixel value between them, according to scale.
+ *
+ *     Scale == 0:     background color
+ *     Scale == 100:   foreground color
+ *     0<Scale<100:    intermediate color
+ *     Scale > 100:    more foreground
+ *     Scale < 0:      more background
+ *
+ *
+ * AllocGreyPixelC()
+ *     Given two color values and scale factor, allocate & return a
+ *     pixel value between them, according to scale.
+ *
+ *     Scale == 0:     background color
+ *     Scale == 100:   foreground color
+ *     0<Scale<100:    intermediate color
+ *     Scale > 100:    more foreground
+ *     Scale < 0:      more background
+ *
+ * Draw3dBox()
+ *     Given box dimensions, shadow width, top shadow GC & bottom shadow GC,
+ *     draw a 3-d box.
+ */
+
+#if    NeedFunctionPrototypes
+
+extern GC      AllocFgGC( Widget w, Pixel fg, Font font) ;
+extern GC      AllocBackgroundGC( Widget w, Font font) ;
+extern GC      AllocShadeGC( Widget w, Pixel fg, Pixel bg, Font,
+                       int contrast, Bool ) ;
+extern GC      AllocGreyGC( Widget w, Pixel fg, Font, int, Bool ) ;
+extern GC      AllocTopShadowGC( Widget w, int contrast, int ) ;
+extern GC      AllocBotShadowGC( Widget w, int contrast, int ) ;
+extern GC      AllocArmGC( Widget w, int contrast, int) ;
+extern Pixel   AllocShadowPixel(Widget, int scale) ;
+extern Pixel   AllocGreyPixel(Widget, Pixel fg, Pixel bg, int scale) ;
+extern Pixel   AllocGreyPixelC(Widget, XColor *fg, XColor *bg, int scale) ;
+extern void    Draw3dBox(Widget w, int  x, int y, int wid, int hgt, int s,
+                       GC topgc, GC botgc) ;
+
+#if XtSpecificationRelease < 5
+extern GC      XtAllocateGC(Widget, int depth, unsigned long mask,
+                            XGCValues *,
+                            unsigned long dynamic, unsigned long dontcare) ;
+#endif
+
+#else
+
+extern GC      AllocFgGC() ;
+extern GC      AllocBackgroundGC() ;
+extern GC      AllocShadeGC() ;
+extern GC      AllocGreyGC() ;
+extern GC      AllocTopShadowGC() ;
+extern GC      AllocBotShadowGC() ;
+extern GC      AllocArmGC() ;
+extern Pixel   AllocShadowPixel() ;
+extern Pixel   AllocGreyPixel() ;
+extern Pixel   AllocGreyPixelC() ;
+extern void    Draw3dBox() ;
+
+#if XtSpecificationRelease < 5
+extern GC      XtAllocateGC() ;
+#endif
+
+#endif
+
+#endif /* GCS_H */