José Ronquillo Rivera dd184c029a New open-image method | 7 years ago | |
---|---|---|
examples | 12 years ago | |
COPYING | 12 years ago | |
COPYING.LESSER | 12 years ago | |
LICENSE | 12 years ago | |
README.org | 9 years ago | |
cffi-interface.lisp | 7 years ago | |
cl-pslib.asd | 9 years ago | |
cl-pslib.lisp | 7 years ago | |
conditions.lisp | 12 years ago | |
constants.lisp | 9 years ago | |
graphics-utils.lisp | 12 years ago | |
package.lisp | 8 years ago | |
page-metrics.lisp | 9 years ago | |
pslib.i | 12 years ago | |
pslib.lisp | 12 years ago |
http://quickdocs.org/badge/cl-pslib.svg
Cl-pslib is a (thin) wrapper around pslib a library for generating PostScript files.
Cl-pslib use CFFI and SWIG to interface with foreign (non lisp) library and generate the low-level lisp wrapper respectively.
cl-pslib does not export the raw (CFFI) pslib API but use CLOS instead.
A psdoc C struct pointer is wrapped in the class psdoc, most of the functions to manipulate this pointer are wrapped in lisp methods specialized for that class.
Pslib use a lot of parameters to configure its behavior.
Example:
(get-value doc "boxheight")
I found this very unpractical so i tried to generate lisp constants to match the corresponding string parameter
(get-value doc +value-key-boxheight+)
As general rule the methods for the class psdoc are the same of the ones of the pslib with the character "_" substituted by "-".
There are some exceptions listed below.
native name | lisp name |
---|---|
PS\_set\_border\_color | set-border-link-color |
PS\_set\_border\_dash | set-border-link-dash |
PS\_set\_border\_style | set-border-link-style |
PS\_open, PS\_open\_mem | open-doc |
PS\_fill | fill-path |
PS\_show and PS\_show2 | show |
PS\_show\_xy and PS\_show\_xy2 | show-xy |
PS\_string\_geometry, PS\_stringwidth and PS\_stringwidth2 | string-geometry |
PS\_symbol | font-symbol |
PS\_symbol\_name | font-symbol-name |
PS\_symbol\_width | font-symbol-width |
Note that the whole library is in an alpha stage, testing is still in progress, please see section below
The high-level API does not still remap this functions:
Please send bug report to cage at katamail dot com
This library is released under Lisp Lesser General Public license (see COPYING.LESSER file)
Examples are released under GPL version 3 or later
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.