summaryrefslogtreecommitdiff
path: root/devices/gdevplib.c
Commit message (Collapse)AuthorAgeFilesLines
* Update postal address in file headersChris Liddell2023-04-041-2/+2
|
* Fix compiler warnings in devices/Chris Liddell2023-01-041-4/+4
| | | | Mismatched function prototype warnings, and one uninitialised variable.
* Remove "unread" param from get_bits_rectangle.Robin Watts2021-07-011-4/+4
| | | | No one sets it. No one reads it. It's pointless, so excise it.
* Split initialize device proc into two.Robin Watts2021-04-261-53/+28
| | | | | | | | | | | | | | | | | The device initialize function currently performs 2 jobs. Firstly, it fills out the device_procs. Secondly, it performs any minimal initialization required by the device (typically none). At various points in the code we want to be able to copy procs from one 'prototype' device to another, so we call initialize for that. This populates the device procs, but does other work that typically requires a 'derived device' structure rather than a vanilla gx_device to work in. Accordingly, we split the job into two; initialize_device_procs (the first part) and initialize_device (the second part). The initialize_device_procs function will set up the initialize_device function pointer along with the rest if required.
* Further rationalisation of device init.Robin Watts2021-04-201-18/+7
| | | | | | | | | | Move the initialize procedure out of the device procs table, and into a bare function pointer at the start of the device proc. Devices just initialise this, and the rest should fall into place. This means changes to the device instantion macros (and all the uses thereof), but makes the code nicer overall. In particular, this removes the vestigial 'static_procs' structure.
* Move devices away from static init of procs.Robin Watts2021-04-201-74/+90
|
* Rename finish_copydevice to initialize, and remove second param.Robin Watts2021-04-201-1/+1
| | | | | | | | | | | It used to be that finish_copydevice(dev, const old_dev) would be used to copy stuff from a prototype to a new instance of a device. Now, no copying is ever done. Also, it's a confusing name. Rename it to be 'initialize', which is clearer. Also, it should become even more appropriate in future, if we have this function be the one that is responsible for filling out the procs.
* Update copyright to 2021Chris Liddell2021-03-151-1/+1
|
* Update copyright to 2020Chris Liddell2020-04-101-1/+1
|
* Move FILE * operations behind new gp_file * API.Robin Watts2019-05-291-30/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (squash of commits from filesec branch) Most of this commit is donkeywork conversions of calls from FILE * -> gp_file *, fwrite -> gp_fwrite etc. Pretty much every device is touched, along with the clist and parsing code. The more interesting changes are within gp.h (where the actual new API is defined), gpmisc.c (where the basic implementations live), and the platform specific levels (gp_mswin.c, gp_unifs.c etc where the platform specific implementations have been tweaked/renamed). File opening path validation All file opening routines now call a central routine for path validation. This then consults new entries in gs_lib_ctx to see if validation is enabled or not. If so, it validates the paths by seeing if they match. Simple C level functions for adding/removing/clearing paths, exposed through the gsapi level. Add 2 postscript operators for path control. <name> <string> .addcontrolpath - Add the given <string> (path) to the list of paths for controlset <name>, where <name> can be: /PermitFileReading /PermitFileWriting /PermitFileControl (Anything else -> rangecheck) - .activatepathcontrol - Enable path control. At this point PS cannot make any more changes, and all file access is checked.
* Update source/header file copyright notice to 2019Chris Liddell2019-01-161-1/+1
|
* Update copyright notice with new head office address.Ken Sharp2018-01-301-3/+3
| | | | | | | | | Also update copyright dates. Remove gs_cmdl.ps as we no longer use it, and remove its entry from psfiles.htm. Remove xfonts.htm as this feature (xfont support) is long, long gone.
* Device method repair - use accessors throughoutKen Sharp2017-11-161-2/+2
| | | | | A lot of places accessed device methods directly, instead of using the accessor macros. Update all the code to use the accessors.
* Alter the fix for Coverity ID 94726Ken Sharp2017-09-041-6/+2
| | | | | | Ray objected to my original change, because the debug output would not be a valid file. So instead we choose to lose the information that logbits2 is non-zero and drop the if clause.
* Coverity IDs 94596, 94726Ken Sharp2017-09-041-9/+10
| | | | | | | | | A debug print was identical in both the if and else clauses. Not really important since its debug, but change the else to match others of the same type. line_ptrs was calculated and altered in the loop invocation, but its then immediately overwritten in the loop body, making it pointless.
* Ensure plib devices always use the clistKen Sharp2015-10-121-0/+2
| | | | | | | | | | | | Bug #696246 "Ghostscript 9.18 with -dFirstPage/-dLastPage fails for ijs and some x11 devices" the plib* class of devices only work if clist is present, but previously they left the banding_type set to 'auto', which meant that under some conditions we did not use the clist, leading to a seg fault. This commit simply forces banding_type to be 'BandingAlways'. No differences expected.
* Improve initalization of the gdevplib device.Chris Liddell2015-09-291-35/+2
| | | | | | | Tweak so it uses appropriate macro, eliminating warnings, and hopefully making long term maintenance easier. No cluster differences.
* Commit of build_consolidation branchChris Liddell2015-07-201-0/+1021
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.