xref: /plan9/sys/src/cmd/gs/src/gswts.h (revision 593dc095aefb2a85c828727bbfa9da139a49bdf4)
1 /* Copyright (C) 2002 artofcode LLC.  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 /*$Id: gswts.h,v 1.2 2002/11/02 07:31:45 raph Exp $ */
17 #ifndef gswts_INCLUDED
18 #  define gswts_INCLUDED
19 
20 #ifndef gs_wts_screen_enum_t_DEFINED
21 #  define gs_wts_screen_enum_t_DEFINED
22 typedef struct gs_wts_screen_enum_s gs_wts_screen_enum_t;
23 #endif
24 
25 typedef struct gx_wts_cell_params_s gx_wts_cell_params_t;
26 
27 /* Note: this corresponds roughly to the SP structure in the WTS code. */
28 struct gx_wts_cell_params_s {
29     wts_screen_type t;
30     int width;
31     int height;
32     double ufast;
33     double vfast;
34     double uslow;
35     double vslow;
36 };
37 
38 gx_wts_cell_params_t *
39 wts_pick_cell_size(gs_screen_halftone *ph, const gs_matrix *pmat);
40 
41 gs_wts_screen_enum_t *
42 gs_wts_screen_enum_new(gx_wts_cell_params_t *wcp);
43 
44 int
45 gs_wts_screen_enum_currentpoint(gs_wts_screen_enum_t *wse, gs_point *ppt);
46 
47 int
48 gs_wts_screen_enum_next(gs_wts_screen_enum_t *wse, floatp value);
49 
50 int
51 wts_sort_blue(gs_wts_screen_enum_t *wse);
52 
53 int
54 wts_sort_cell(gs_wts_screen_enum_t *wse);
55 
56 wts_screen_t *
57 wts_screen_from_enum(const gs_wts_screen_enum_t *wse);
58 
59 void
60 gs_wts_free_enum(gs_wts_screen_enum_t *wse);
61 
62 void
63 gs_wts_free_screen(wts_screen_t *wts);
64 
65 #endif
66 
67 
68 
69