Added cl-aa-bin, a version of cl-aa specialized for non-antialiasing rendering.
[cl-vectors.git] / paths-package.lisp
blob237fdc1fbd50d05b14edba48720ecab66a52b119
1 ;;;; cl-vectors -- Rasterizer and paths manipulation library
2 ;;;; Copyright (C) 2007 Frédéric Jolliton <frederic@jolliton.com>
3 ;;;;
4 ;;;; This library is free software; you can redistribute it and/or
5 ;;;; modify it under the terms of the Lisp Lesser GNU Public License
6 ;;;; (http://opensource.franz.com/preamble.html), known as the LLGPL.
7 ;;;;
8 ;;;; This library is distributed in the hope that it will be useful, but
9 ;;;; WITHOUT ANY WARRANTY; without even the implied warranty of
10 ;;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the Lisp
11 ;;;; Lesser GNU Public License for more details.
13 (defpackage #:net.tuxee.paths
14 (:use #:cl)
15 (:nicknames #:paths)
16 (:export ;; 2D points (knot and control points)
17 #:make-point
18 #:point-x
19 #:point-y
20 #:p+
21 #:p-
22 #:p*
23 #:point-rotate
24 #:point-angle
25 #:point-norm
26 #:point-distance
27 ;; Paths
28 #:create-path
29 #:path-clear
30 #:path-reset
31 #:path-extend
32 #:path-concatenate
33 #:path-replace
34 #:path-size
35 #:path-last-knot
36 #:path-clone
37 #:path-reverse
38 #:path-reversed
39 #:path-translate
40 #:path-rotate
41 #:path-scale
42 ;; Interpolators
43 #:make-straight-line
44 #:make-arc
45 #:make-catmull-rom
46 #:make-bezier-curve
47 ;; Path iterators
48 #:path-iterator-reset
49 #:path-iterator-next
50 #:path-iterator
51 #:path-iterator-segmented
52 #:filter-distinct
53 ;; Misc
54 #:make-discrete-path
55 #:make-circle-path
56 #:make-rectangle-path
57 #:make-rectangle-path/center
58 #:make-regular-polygon-path
59 #:make-simple-path
60 #:path-annotated
61 #:make-simple-path
62 ;; Transformations
63 #:stroke-path
64 #:dash-path
65 #:clip-path
66 #:clip-path/path
67 ;; Variables
68 #:*bezier-distance-tolerance*
69 #:*bezier-angle-tolerance*
70 #:*arc-length-tolerance*
73 (in-package #:net.tuxee.paths)