xref: /plan9/sys/src/cmd/gs/src/gsline.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 1994, 1995, 1996, 1997, 1999 Aladdin Enterprises.  All rights reserved.
2 
3   This software is provided AS-IS with no warranty, either express or
4   implied.
5 
6   This software is distributed under license and may not be copied,
7   modified or distributed except as expressly authorized under the terms
8   of the license contained in the file LICENSE in this distribution.
9 
10   For more information about licensing, please refer to
11   http://www.ghostscript.com/licensing/. For information on
12   commercial licensing, go to http://www.artifex.com/licensing/ or
13   contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14   San Rafael, CA  94903, U.S.A., +1(415)492-9861.
15 */
16 
17 /* $Id: gsline.h,v 1.5 2002/06/16 08:45:42 lpd Exp $ */
18 /* Line parameter and quality definitions */
19 
20 #ifndef gsline_INCLUDED
21 #  define gsline_INCLUDED
22 
23 #include "gslparam.h"
24 
25 /* Procedures */
26 int gs_setlinewidth(gs_state *, floatp);
27 float gs_currentlinewidth(const gs_state *);
28 int gs_setlinecap(gs_state *, gs_line_cap);
29 gs_line_cap gs_currentlinecap(const gs_state *);
30 int gs_setlinejoin(gs_state *, gs_line_join);
31 gs_line_join gs_currentlinejoin(const gs_state *);
32 int gs_setmiterlimit(gs_state *, floatp);
33 float gs_currentmiterlimit(const gs_state *);
34 int gs_setdash(gs_state *, const float *, uint, floatp);
35 uint gs_currentdash_length(const gs_state *);
36 const float *gs_currentdash_pattern(const gs_state *);
37 float gs_currentdash_offset(const gs_state *);
38 int gs_setflat(gs_state *, floatp);
39 float gs_currentflat(const gs_state *);
40 int gs_setstrokeadjust(gs_state *, bool);
41 bool gs_currentstrokeadjust(const gs_state *);
42 
43 /* Extensions - device-independent */
44 void gs_setdashadapt(gs_state *, bool);
45 bool gs_currentdashadapt(const gs_state *);
46 int gs_setcurvejoin(gs_state *, int);
47 int gs_currentcurvejoin(const gs_state *);
48 
49 /* Extensions - device-dependent */
50 void gs_setaccuratecurves(gs_state *, bool);
51 bool gs_currentaccuratecurves(const gs_state *);
52 int gs_setdotlength(gs_state *, floatp, bool);
53 float gs_currentdotlength(const gs_state *);
54 bool gs_currentdotlength_absolute(const gs_state *);
55 int gs_setdotorientation(gs_state *);
56 int gs_dotorientation(gs_state *);
57 
58 /* Imager-level procedures */
59 #ifndef gs_imager_state_DEFINED
60 #  define gs_imager_state_DEFINED
61 typedef struct gs_imager_state_s gs_imager_state;
62 #endif
63 int gs_imager_setflat(gs_imager_state *, floatp);
64 bool gs_imager_currentdashadapt(const gs_imager_state *);
65 bool gs_imager_currentaccuratecurves(const gs_imager_state *);
66 
67 #endif /* gsline_INCLUDED */
68