1 /* Copyright (C) 1989, 1995, 1996, 1997, 1998, 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: gsstate.h,v 1.9 2003/06/16 15:04:50 igor Exp $ */ 18 /* Public graphics state API */ 19 20 #ifndef gsstate_INCLUDED 21 # define gsstate_INCLUDED 22 23 /* Opaque type for a graphics state */ 24 #ifndef gs_state_DEFINED 25 # define gs_state_DEFINED 26 typedef struct gs_state_s gs_state; 27 #endif 28 29 /* opague type for overprint compositor parameters */ 30 #ifndef gs_overprint_params_t_DEFINED 31 # define gs_overprint_params_t_DEFINED 32 typedef struct gs_overprint_params_s gs_overprint_params_t; 33 #endif 34 35 /* Initial allocation and freeing */ 36 gs_state *gs_state_alloc(gs_memory_t *); /* 0 if fails */ 37 int gs_state_free(gs_state *); 38 39 /* Initialization, saving, restoring, and copying */ 40 int gs_gsave(gs_state *), gs_grestore(gs_state *), gs_grestoreall(gs_state *); 41 int gs_grestore_only(gs_state *); 42 int gs_gsave_for_save(gs_state *, gs_state **), gs_grestoreall_for_restore(gs_state *, gs_state *); 43 gs_state *gs_gstate(gs_state *); 44 gs_state *gs_state_copy(gs_state *, gs_memory_t *); 45 int gs_copygstate(gs_state * /*to */ , const gs_state * /*from */ ), 46 gs_currentgstate(gs_state * /*to */ , const gs_state * /*from */ ), 47 gs_setgstate(gs_state * /*to */ , const gs_state * /*from */ ); 48 49 int gs_state_update_overprint(gs_state *, const gs_overprint_params_t *); 50 bool gs_currentoverprint(const gs_state *); 51 void gs_setoverprint(gs_state *, bool); 52 int gs_currentoverprintmode(const gs_state *); 53 int gs_setoverprintmode(gs_state *, int); 54 55 int gs_do_set_overprint(gs_state *); 56 57 int gs_initgraphics(gs_state *); 58 59 /* Device control */ 60 #include "gsdevice.h" 61 62 /* Line parameters and quality */ 63 #include "gsline.h" 64 65 /* Color and gray */ 66 #include "gscolor.h" 67 68 /* Halftone screen */ 69 #include "gsht.h" 70 #include "gscsel.h" 71 int gs_setscreenphase(gs_state *, int, int, gs_color_select_t); 72 int gs_currentscreenphase(const gs_state *, gs_int_point *, gs_color_select_t); 73 74 #define gs_sethalftonephase(pgs, px, py)\ 75 gs_setscreenphase(pgs, px, py, gs_color_select_all) 76 #define gs_currenthalftonephase(pgs, ppt)\ 77 gs_currentscreenphase(pgs, ppt, 0) 78 int gx_imager_setscreenphase(gs_imager_state *, int, int, gs_color_select_t); 79 80 /* Miscellaneous */ 81 int gs_setfilladjust(gs_state *, floatp, floatp); 82 int gs_currentfilladjust(const gs_state *, gs_point *); 83 void gs_setlimitclamp(gs_state *, bool); 84 bool gs_currentlimitclamp(const gs_state *); 85 void gs_settextrenderingmode(gs_state * pgs, uint trm); 86 uint gs_currenttextrenderingmode(const gs_state * pgs); 87 #include "gscpm.h" 88 gs_in_cache_device_t gs_incachedevice(const gs_state *); 89 90 #endif /* gsstate_INCLUDED */ 91