Fix auto-orientation.
[cl-vectors.git] / paths-package.lisp
blobe6283605a2a915a7a7135125586090882ff46dec
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-orient
37 #:path-clone
38 #:path-reverse
39 #:path-reversed
40 #:path-translate
41 #:path-rotate
42 #:path-scale
43 #:path-transform-as-marker
44 ;; Interpolators
45 #:make-straight-line
46 #:make-arc
47 #:make-catmull-rom
48 #:make-bezier-curve
49 ;; Path iterators
50 #:path-iterator-reset
51 #:path-iterator-next
52 #:path-iterator
53 #:path-iterator-segmented
54 #:filter-distinct
55 ;; Misc
56 #:make-discrete-path
57 #:make-circle-path
58 #:make-rectangle-path
59 #:make-rectangle-path/center
60 #:make-regular-polygon-path
61 #:make-simple-path
62 #:path-annotated
63 #:make-simple-path
64 ;; Transformations
65 #:stroke-path
66 #:dash-path
67 #:clip-path
68 #:clip-path/path
69 ;; Variables
70 #:*bezier-distance-tolerance*
71 #:*bezier-angle-tolerance*
72 #:*arc-length-tolerance*
75 (in-package #:net.tuxee.paths)