diff options
author | Henry Stiles <henry.stiles@artifex.com> | 1999-10-03 08:21:45 +0000 |
---|---|---|
committer | Henry Stiles <henry.stiles@artifex.com> | 1999-10-03 08:21:45 +0000 |
commit | ee50b36ccabde111c6d77c5f9892213d53060a18 (patch) | |
tree | 35f7e38774b082c4cdbe4f4fad881903862a83c2 /gs/src/zht2.c | |
parent | 0ea97dbf2a40bc347a20134197643bc1daef6de8 (diff) |
This is the first gs593 integration it is *NOT* a release. Normally
each file is checked in with an associated log entry, in order to
check in all of the code simultaneously we batch all of the file
name's modified and change descriptions here (Note: Aladdin code changes
are documented in gs/doc/News.htm)
- pcstate.h - removes show enumeration from pcl state.
- pctop.c, pxtop.c
- gs_grestore_no_wraparound()'s is now gs_grestore_only().
- pxgstate.c
- ENUM_RETURN_CONST_STRING_PTR() now takes a gs string
argument instead of the string's data as it did
previously.
- plmain.c -
- The library no longer initializes io devices. Adds
gs_iodev_init() to main() procedure. Also, gs_c_param_list_rewrite()
is renamed to gs_c_param_list_write_more().
- pcltop.mak - adds pipe.dev for operating system pipe support.
- pctext.c, pglabel.c, pxfont.c, plfont.c
- extensive modifications to support the text api (gstext.h)
- use gs_text_enum_t instead of gs_show_enum.
- removes enumeration allocation, this is now done by the text
"begin" functions.
- update "next_char" procs and "encode char" procs to take a
glyph argument and the character argument is now passed by value
(pcl nor xl make use of the glyph argument).
- char_path_n_init() replaced with gs_charpath_begin().
- gs_show_n_init() replaced with gs_show_begin().
- gs_show_next() is now handled by gs_process_text().
- gs_release_text() added.
- gs_xyshow_n_init() replace with gs_xyshow_begin(). Passing
of x and y coordinates modified to support the new interface.
Unfortunately, we need to transform the coordinates into the
space of the font scaling matrix, that is the current ctm for
xl when the the text is processed. This differs from postscript
which appears to have the regular user->device matrix in the
graphics state during processing.
- (plfont.c) - gs_notify_init() is now part of the pfont
initialization procedure, related TODO: cut over to gs_font_alloc()
and gs_font_base_alloc().
- all gs files - removes uninitialized rcs identifiers.
KNOWN PROBLEMS:
occassional pxl and pcl crashes in gdev_mem_set_line_ptrs() when
running in color due to null base (data) pointer.
git-svn-id: http://svn.ghostscript.com/ghostpcl/trunk/ghostpcl@985 06663e23-700e-0410-b217-a244a6096597
Diffstat (limited to 'gs/src/zht2.c')
-rw-r--r-- | gs/src/zht2.c | 28 |
1 files changed, 17 insertions, 11 deletions
diff --git a/gs/src/zht2.c b/gs/src/zht2.c index 57e1714c4..5b4cf338f 100644 --- a/gs/src/zht2.c +++ b/gs/src/zht2.c @@ -36,13 +36,19 @@ private int dict_spot_params(P4(const ref *, gs_spot_halftone *, ref *, ref *)); private int dict_spot_results(P3(i_ctx_t *, ref *, const gs_spot_halftone *)); -private int dict_threshold_params(P3(const ref *, - gs_threshold_halftone *, ref *)); -private int dict_threshold2_params(P3(const ref *, - gs_threshold2_halftone *, ref *)); +private int dict_threshold_params(P3(const ref *, gs_threshold_halftone *, + ref *)); +private int dict_threshold2_params(P4(const ref *, gs_threshold2_halftone *, + ref *, gs_memory_t *)); + +/* Dummy spot function */ +private float +spot1_dummy(floatp x, floatp y) +{ + return (x + y) / 2; +} /* <dict> <dict5> .sethalftone5 - */ -float spot_dummy(P2(floatp, floatp)); /* in zht1.c */ private int sethalftone_finish(P1(i_ctx_t *)); private int sethalftone_cleanup(P1(i_ctx_t *)); private int @@ -113,8 +119,7 @@ zsethalftone5(i_ctx_t *i_ctx_p) code = dict_spot_params(pvalue, &pc->params.spot, sprocs + j, tprocs + j); - pc->params.spot.screen.spot_function = - spot_dummy; + pc->params.spot.screen.spot_function = spot1_dummy; pc->type = ht_type_spot; break; case 3: @@ -124,7 +129,8 @@ zsethalftone5(i_ctx_t *i_ctx_p) break; case 7: code = dict_threshold2_params(pvalue, - &pc->params.threshold2, tprocs + j); + &pc->params.threshold2, tprocs + j, + imemory); pc->type = ht_type_threshold2; break; } @@ -377,7 +383,7 @@ dict_threshold_params(const ref * pdict, gs_threshold_halftone * ptp, /* BitsPerSample. */ private int dict_threshold2_params(const ref * pdict, gs_threshold2_halftone * ptp, - ref * ptproc) + ref * ptproc, gs_memory_t *mem) { ref *tstring; int code = @@ -408,9 +414,9 @@ dict_threshold2_params(const ref * pdict, gs_threshold2_halftone * ptp, size); break; case t_astruct: - if (gs_object_type(imemory, tstring->value.pstruct) != &st_bytes) + if (gs_object_type(mem, tstring->value.pstruct) != &st_bytes) return_error(e_typecheck); - size = gs_object_size(imemory, tstring->value.pstruct); + size = gs_object_size(mem, tstring->value.pstruct); gs_bytestring_from_bytes(&ptp->thresholds, r_ptr(tstring, byte), 0, size); break; |