1 /* Copyright (C) 2001-2019 Artifex Software, Inc. 2 All Rights Reserved. 3 4 This software is provided AS-IS with no warranty, either express or 5 implied. 6 7 This software is distributed under license and may not be copied, 8 modified or distributed except as expressly authorized under the terms 9 of the license contained in the file LICENSE in this distribution. 10 11 Refer to licensing information at http://www.artifex.com or contact 12 Artifex Software, Inc., 1305 Grant Avenue - Suite 200, Novato, 13 CA 94945, U.S.A., +1(415)492-9861, for further information. 14 */ 15 16 17 /* Line parameter and quality definitions */ 18 19 #ifndef gsline_INCLUDED 20 # define gsline_INCLUDED 21 22 #include "stdpre.h" 23 #include "gsgstate.h" 24 #include "gslparam.h" 25 26 /* Procedures */ 27 int gs_setlinewidth(gs_gstate *, double); 28 float gs_currentlinewidth(const gs_gstate *); 29 int gs_setlinecap(gs_gstate *, gs_line_cap); 30 gs_line_cap gs_currentlinecap(const gs_gstate *); 31 int gs_setlinestartcap(gs_gstate *, gs_line_cap); 32 int gs_setlineendcap(gs_gstate *, gs_line_cap); 33 int gs_setlinedashcap(gs_gstate *, gs_line_cap); 34 int gs_setlinejoin(gs_gstate *, gs_line_join); 35 gs_line_join gs_currentlinejoin(const gs_gstate *); 36 int gs_setmiterlimit(gs_gstate *, double); 37 float gs_currentmiterlimit(const gs_gstate *); 38 int gs_setdash(gs_gstate *, const float *, uint, double); 39 uint gs_currentdash_length(const gs_gstate *); 40 const float *gs_currentdash_pattern(const gs_gstate *); 41 float gs_currentdash_offset(const gs_gstate *); 42 int gs_setflat(gs_gstate *, double); 43 float gs_currentflat(const gs_gstate *); 44 int gs_setstrokeadjust(gs_gstate *, bool); 45 bool gs_currentstrokeadjust(const gs_gstate *); 46 47 /* Extensions - device-independent */ 48 void gs_setdashadapt(gs_gstate *, bool); 49 bool gs_currentdashadapt(const gs_gstate *); 50 int gs_setcurvejoin(gs_gstate *, int); 51 int gs_currentcurvejoin(const gs_gstate *); 52 53 /* Extensions - device-dependent */ 54 void gs_setaccuratecurves(gs_gstate *, bool); 55 bool gs_currentaccuratecurves(const gs_gstate *); 56 int gs_setdotlength(gs_gstate *, double, bool); 57 float gs_currentdotlength(const gs_gstate *); 58 bool gs_currentdotlength_absolute(const gs_gstate *); 59 int gs_setdotorientation(gs_gstate *); 60 int gs_dotorientation(gs_gstate *); 61 62 /* gs_gstate-level procedures */ 63 int gs_gstate_setflat(gs_gstate *, double); 64 bool gs_gstate_currentdashadapt(const gs_gstate *); 65 bool gs_gstate_currentaccuratecurves(const gs_gstate *); 66 67 #endif /* gsline_INCLUDED */ 68