xref: /plan9/sys/src/cmd/gs/src/gsht1.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
17dd7cddfSDavid du Colombier /* Copyright (C) 1994, 1997 Aladdin Enterprises.  All rights reserved.
27dd7cddfSDavid du Colombier 
3*593dc095SDavid du Colombier   This software is provided AS-IS with no warranty, either express or
4*593dc095SDavid du Colombier   implied.
57dd7cddfSDavid du Colombier 
6*593dc095SDavid du Colombier   This software is distributed under license and may not be copied,
7*593dc095SDavid du Colombier   modified or distributed except as expressly authorized under the terms
8*593dc095SDavid du Colombier   of the license contained in the file LICENSE in this distribution.
97dd7cddfSDavid du Colombier 
10*593dc095SDavid du Colombier   For more information about licensing, please refer to
11*593dc095SDavid du Colombier   http://www.ghostscript.com/licensing/. For information on
12*593dc095SDavid du Colombier   commercial licensing, go to http://www.artifex.com/licensing/ or
13*593dc095SDavid du Colombier   contact Artifex Software, Inc., 101 Lucas Valley Road #110,
14*593dc095SDavid du Colombier   San Rafael, CA  94903, U.S.A., +1(415)492-9861.
157dd7cddfSDavid du Colombier */
167dd7cddfSDavid du Colombier 
17*593dc095SDavid du Colombier /* $Id: gsht1.h,v 1.5 2002/06/16 08:45:42 lpd Exp $ */
187dd7cddfSDavid du Colombier /* Extended public interface to halftones */
197dd7cddfSDavid du Colombier 
207dd7cddfSDavid du Colombier #ifndef gsht1_INCLUDED
217dd7cddfSDavid du Colombier #  define gsht1_INCLUDED
227dd7cddfSDavid du Colombier 
237dd7cddfSDavid du Colombier #include "gsht.h"
247dd7cddfSDavid du Colombier 
257dd7cddfSDavid du Colombier /* Procedural interface */
26*593dc095SDavid du Colombier int gs_setcolorscreen(gs_state *, gs_colorscreen_halftone *);
27*593dc095SDavid du Colombier int gs_currentcolorscreen(gs_state *, gs_colorscreen_halftone *);
287dd7cddfSDavid du Colombier 
297dd7cddfSDavid du Colombier /*
307dd7cddfSDavid du Colombier  * We include sethalftone here, even though it is a Level 2 feature,
317dd7cddfSDavid du Colombier  * because it turns out to be convenient to define setcolorscreen
327dd7cddfSDavid du Colombier  * using sethalftone.
337dd7cddfSDavid du Colombier  */
347dd7cddfSDavid du Colombier #ifndef gs_halftone_DEFINED
357dd7cddfSDavid du Colombier #  define gs_halftone_DEFINED
367dd7cddfSDavid du Colombier typedef struct gs_halftone_s gs_halftone;
377dd7cddfSDavid du Colombier 
387dd7cddfSDavid du Colombier #endif
397dd7cddfSDavid du Colombier /*
407dd7cddfSDavid du Colombier  * gs_halftone structures may have complex substructures.  We provide two
417dd7cddfSDavid du Colombier  * procedures for setting them.  gs_halftone assumes that the gs_halftone
427dd7cddfSDavid du Colombier  * structure and all its substructures was allocated with the same allocator
437dd7cddfSDavid du Colombier  * as the gs_state; gs_halftone_allocated looks in the structure itself (the
447dd7cddfSDavid du Colombier  * rc.memory member) to find the allocator that was used.  Both procedures
457dd7cddfSDavid du Colombier  * copy the top-level structure (using the appropriate allocator), but take
467dd7cddfSDavid du Colombier  * ownership of the substructures.
477dd7cddfSDavid du Colombier  */
48*593dc095SDavid du Colombier int gs_sethalftone(gs_state *, gs_halftone *);
49*593dc095SDavid du Colombier int gs_sethalftone_allocated(gs_state *, gs_halftone *);
50*593dc095SDavid du Colombier int gs_currenthalftone(gs_state *, gs_halftone *);
517dd7cddfSDavid du Colombier 
527dd7cddfSDavid du Colombier #endif /* gsht1_INCLUDED */
53