-
Notifications
You must be signed in to change notification settings - Fork 6
/
Copy pathpaths-package.lisp
68 lines (65 loc) · 1.84 KB
/
paths-package.lisp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
;;;; cl-vectors -- Rasterizer and paths manipulation library
;;;; Copyright (C) 2007-2013 Frédéric Jolliton <[email protected]>
;;;; This code is licensed under the MIT license.
(defpackage #:net.tuxee.paths
(:use #:cl)
(:nicknames #:paths)
(:export ;; 2D points (knot and control points)
#:make-point
#:point-x
#:point-y
#:p+
#:p-
#:p*
#:point-rotate
#:point-angle
#:point-norm
#:point-distance
;; Paths
#:create-path
#:path-clear
#:path-reset
#:path-extend
#:path-concatenate
#:path-replace
#:path-size
#:path-last-knot
#:path-orient
#:path-clone
#:path-reverse
#:path-reversed
#:path-translate
#:path-rotate
#:path-scale
#:path-transform-as-marker
;; Interpolators
#:make-straight-line
#:make-arc
#:make-catmull-rom
#:make-bezier-curve
;; Path iterators
#:path-iterator-reset
#:path-iterator-next
#:path-iterator
#:path-iterator-segmented
#:filter-distinct
;; Misc
#:make-discrete-path
#:make-circle-path
#:make-rectangle-path
#:make-rectangle-path/center
#:make-regular-polygon-path
#:make-simple-path
#:path-annotated
#:make-simple-path
;; Transformations
#:stroke-path
#:dash-path
#:clip-path
#:clip-path/path
;; Variables
#:*bezier-distance-tolerance*
#:*bezier-angle-tolerance*
#:*arc-length-tolerance*
))
(in-package #:net.tuxee.paths)