1
/* Copyright (C) 2001-2006 Artifex Software, Inc.
4
This software is provided AS-IS with no warranty, either express or
7
This software is distributed under license and may not be copied, modified
8
or distributed except as expressly authorized under the terms of that
9
license. Refer to licensing information at http://www.artifex.com/
10
or contact Artifex Software, Inc., 7 Mt. Lassen Drive - Suite A-134,
11
San Rafael, CA 94903, U.S.A., +1(415)492-9861, for further information.
14
/* $Id: zfzlib.c 8250 2007-09-25 13:31:24Z giles $ */
15
/* zlib and Flate filter creation */
28
/* Common setup for zlib (Flate) filter */
30
filter_zlib(i_ctx_t *i_ctx_p, stream_zlib_state *pzls)
35
(*s_zlibE_template.set_defaults)((stream_state *)pzls);
36
if (r_has_type(op, t_dictionary))
37
code = dict_int_param(op, "Effort", -1, 9, -1, &pzls->level);
41
/* <source> zlibEncode/filter <file> */
42
/* <source> <dict> zlibEncode/filter <file> */
44
zzlibE(i_ctx_t *i_ctx_p)
46
stream_zlib_state zls;
47
int code = filter_zlib(i_ctx_p, &zls);
51
return filter_write(i_ctx_p, 0, &s_zlibE_template, (stream_state *)&zls, 0);
54
/* <target> zlibDecode/filter <file> */
55
/* <target> <dict> zlibDecode/filter <file> */
57
zzlibD(i_ctx_t *i_ctx_p)
59
stream_zlib_state zls;
61
(*s_zlibD_template.set_defaults)((stream_state *)&zls);
62
return filter_read(i_ctx_p, 0, &s_zlibD_template, (stream_state *)&zls, 0);
65
/* <source> FlateEncode/filter <file> */
66
/* <source> <dict> FlateEncode/filter <file> */
68
zFlateE(i_ctx_t *i_ctx_p)
70
stream_zlib_state zls;
71
int code = filter_zlib(i_ctx_p, &zls);
75
return filter_write_predictor(i_ctx_p, 0, &s_zlibE_template,
76
(stream_state *)&zls);
79
/* <target> FlateDecode/filter <file> */
80
/* <target> <dict> FlateDecode/filter <file> */
82
zFlateD(i_ctx_t *i_ctx_p)
84
stream_zlib_state zls;
86
(*s_zlibD_template.set_defaults)((stream_state *)&zls);
87
return filter_read_predictor(i_ctx_p, 0, &s_zlibD_template,
88
(stream_state *)&zls);
91
/* ------ Initialization procedure ------ */
93
const op_def zfzlib_op_defs[] =
95
op_def_begin_filter(),
96
{"1zlibEncode", zzlibE},
97
{"1zlibDecode", zzlibD},
98
{"1FlateEncode", zFlateE},
99
{"1FlateDecode", zFlateD},