/* * Draw.h -- Header for common drawing routines. * * Authors : Patrick Lecoanet. * Creation date : Sat Dec 10 12:51:30 1994 * * $Id$ */ /* * Copyright (c) 1993 - 1999 CENA, Patrick Lecoanet -- * * This code is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This code 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 * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this code; if not, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ #ifndef _Draw_h #define _Draw_h #include "List.h" #include "Types.h" #include "Color.h" #include "Attrs.h" #include #define LIGHTNING_POINTS 4 #define CORNER_POINTS 3 #define DOUBLE_CORNER_POINTS 4 #define STRAIGHT_POINTS 2 #define LINE_SHAPE_POINTS 4 /* Maximum of all above */ struct _WidgetInfo; void SetLineStyle(Display *display, GC gc, LineStyle line_style); void GetLineShape(ZnPoint *p1, ZnPoint *p2, unsigned int line_width, LineShape shape, ZnBBox *bbox, ZnList to_points); void DrawLineShape(struct _WidgetInfo *wi, ZnPoint *points, int num_points, LineStyle line_style, ZnColor line_foreground, unsigned int line_width, LineShape shape); int PolygonReliefInBBox(ZnPoint *points, int num_points, int line_width, ZnBBox *bbox); void GetPolygonReliefBBox(ZnPoint *points, int num_points, int line_width, ZnBBox *bbox); double PolygonReliefToPointDist(ZnPoint *points, int num_points, int line_width, ZnPoint *pp); void DrawRectangleRelief(struct _WidgetInfo *wi, ReliefStyle relief, ZnColorGradient gradient, XRectangle *bbox, unsigned int line_width); void DrawPolygonRelief(struct _WidgetInfo *wi, ReliefStyle relief, ZnColorGradient gradient, ZnPoint *points, int num_points, int line_width); void DrawRectangleGradient(struct _WidgetInfo *wi, ZnGradientGeom grad_geom, ZnColorGradient grad_color, XRectangle *bbox); void DrawPolygonGradient(struct _WidgetInfo *wi, ZnGradientGeom grad_geom, ZnColorGradient grad_color, ZnPoly *poly, ZnBBox *bbox); #endif /* _Draw_h */