summaryrefslogtreecommitdiff
path: root/gs/base/gspath.c
Commit message (Collapse)AuthorAgeFilesLines
* Commit of build_consolidation branchChris Liddell2015-07-201-602/+0
| | | | | | | | | | | Squashed into one commit (see branch for details of the evolution of the branch). This brings gpcl6 and gxps into the Ghostscript build system, and a shared set of graphics library object files for all the interpreters. Also, brings the same configuration options to the pcl and xps products as we have for Ghostscript.
* Replace the "floatp" with "double"Chris Liddell2013-12-181-13/+13
| | | | | | | | | For historic reasons, floating point parameters used the type "floatp" which was actually typedef'ed to "double". To reduce confusion, we now use "double" directly. No cluster differences.
* Introduce GS_THREADSAFE define and modify printing calls.Robin Watts2012-09-181-2/+2
| | | | | | | | | | | | | | | | | | | | Lots of debugging/error information is printed using eprintf and dlprintf etc. These functions do not take a gs_memory_t * and are not safe for use within code that runs under multiple instances created by gsapi. Introduce new versions (dmprintf, dmlprintf etc) that DO take a gs_memory_ *, and move as much of ghostscript/ghostpdl's usage over to these as possible. I have not touched the contrib directory, and some locations in the code do not easily have a gs_memory_t to hand, so I have left them be. If the GS_THREADSAFE define is made during building, then the functions that don't take an explicit memory handle are #defined away to nothing. If the GS_THREADSAFE define is made, we disable the gsapi check that checks for a single init.
* Fix in XPS interpreter to ensures we only push the smallest transparency ↵Michael Vrhel2012-07-051-0/+60
| | | | | | | | | | group needed + more For a path that included an opacity mask, the XPS interpreter was pushing a soft mask that included the entire page (it actually just looked at the current clip path). This fix incorporates the path that we are filling in the computation of the transparency group size. Also, there were issues with the softmasks in general that were causing them to be double applied. Fixes 693042 and also provides improvements for 690951. Also this should fix 693137 and 692892
* Update copyright "headers".Chris Liddell2012-06-131-7/+9
| | | | | | | | | | | | | | | | | | As agreed on IRC and via e-mail: Reinstate the reference to the LICENSE file. Remove copyright references to Aladdin Enterprises and artofcode (some references remain in comments about historical copyright assignments, and the like), in favour of Artifex copyright notices. Update copyright dates. Remove the $Id$ "tag". Since the move to git, the $Id$ "tag" comment in each file is redundant. No cluster differences.
* Support HPGL style path handling.Robin Watts2012-04-131-6/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | HPGL handles paths slightly differently to the postscript imaging model. When a path is filled, successive moveto's are treated as linetos. (i.e. the 'place we close the path to' is left at the first moveto, and the area remains fillable). Stroking is unaffected however. To model this in Ghostscript we add a new path segment type 's_gap'. The filling code treats this as a lineto. The stroking code is updated to not stroke such edges (and not to break the subpath at this point). We add a new parameter to the imager state (hpgl_path_mode), new accessor functions (gs_sethpglpathmode, gs_currenthpglpathmode), and new postscript operators (.sethpglpathmode and .currenthpglpathmode). If hpgl path mode is set to a non-zero value, then path construction treats movetos in an open subpath as gaptos. Currently this is disabled (see pcl/pctop.c for where it would be enabled) until we get the pcl interpreter to generate paths in exactly the right form. Still to do: * Update PDF write to spot such paths and to convert them as appropriate when writing out.
* Revert "Support HPGL style path handling. (Work in progress)"Robin Watts2012-03-101-14/+5
| | | | This reverts commit 93bf2df8f6a6b2ed60a8c3f5037865b8646243db.
* Support HPGL style path handling. (Work in progress)Robin Watts2012-03-091-5/+14
| | | | | | | | | | | | | | | | | | | | | | | | | HPGL handles paths slightly differently to the postscript imaging model. When a path is filled, successive moveto's are treated as linetos. (i.e. the 'place we close the path to' is left at the first moveto, and the area remains fillable). Stroking is unaffected however. To model this in Ghostscript we add a new path segment type 's_gap'. The filling code treats this as a lineto. The stroking code is updated to not stroke such edges (and not to break the subpath at this point). We add a new parameter to the imager state (hpgl_fill_mode), new accessor functions (gs_sethpglfillmode, gs_currenthpglfillmode), and new postscript operators (.sethpglfillmode and .currenthpglfillmode). If hpgl fill mode is set to a non-zero value, then path construction treats movetos in an open subpath as gaptos. Still to do: * Double check the output from this code matches HPGL. * Update the clist code to send hpgl fill mode changes. * Update PDF write to spot such paths and to convert them as appropriate when writing out.
* Revert "Support HPGL style path handling."Robin Watts2012-02-291-14/+5
| | | | | | | This reverts commit 43f3cdae4bdf00c09fdd69c53c03fb99d0b4aca1. This caused unexpected changes in many postscript files. Reverting until I can figure out why.
* Support HPGL style path handling.Robin Watts2012-02-281-5/+14
| | | | | | | | | | | | | | | | | | | | | | | HPGL handles paths slightly differently to the postscript imaging model. When a path is filled, successive moveto's are treated as linetos. (i.e. the 'place we close the path to' is left at the first moveto, and the area remains fillable). Stroking is unaffected however. To model this in Ghostscript we add a new path segment type 's_gap'. The filling code treats this as a lineto. The stroking code is updated to not stroke such edges (and not to break the subpath at this point). We add a new parameter to the imager state (hpgl_path_mode), new accessor functions (gs_sethpglpathmode, gs_currenthpglpathmode), and new postscript operators (.sethpglpathmode and .currenthpglpathmode). If hpgl path mode is set to a non-zero value, then path construction treats movetos in an open subpath as gaptos. Still to do: * Update PDF write to spot such paths and to convert them as appropriate when writing out.
* Indent with spaces and strip trailing whitespace.Tor Andersson2011-04-191-139/+139
|
* Clip excessive size of the radial gradient extensions to the fixed pointAlex Cherepanov2010-12-301-14/+2
| | | | | | | range. To avoid trivial differences, try the old fixed point function first and use new floating point one only when the old function fails. Bug 691775. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@11983 a1074d23-0009-0410-80fe-cf8c14f379e6
* Split the source tree into two new directories.Ralph Giles2008-08-291-0/+542
PSSRC files are now in 'gs/psi'. GLSRC files are now in 'gs/base'. This is to facilitate build modularization and merging in the ghostpdl tree. NOTE: msvc32.mak is now in psi, not src. git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@9048 a1074d23-0009-0410-80fe-cf8c14f379e6