Re-add coordinates to COMPOSE
[vecto.git] / vectometry / package.lisp
blob2da459a6a428fa4aa1d7ff93aa2a7540f4fa2830
1 ;;;; package.lisp
3 (defpackage #:vecto-geometry
4 (:use #:cl)
5 (:export #:point
6 #:coordinates
7 #:apoint
8 #:xpoint
9 #:ypoint
10 #:x #:y
11 #:*origin*
12 #:midpoint
13 #:eqv
14 #:add #:sub #:mul #:div #:neg #:abs*
15 #:angle
16 #:distance
17 #:scale
18 #:box
19 #:bbox-box
20 #:point-box
21 #:origin-box
22 #:bounding-box
23 #:bounding-box-delegate
24 #:displace
25 #:transpose
26 #:xmin #:ymin #:xmax #:ymax
27 #:centerpoint
28 #:maxpoint
29 #:minpoint
30 #:combine
31 #:contract
32 #:expand
33 #:area
34 #:emptyp
35 #:containsp
36 #:width #:height
37 #:*identity-matrix*
38 #:transform-matrix
39 #:translation-matrix
40 #:scaling-matrix
41 #:rotation-matrix
42 #:skewing-matrix
43 #:transform
44 #:transform-function))
46 (defpackage #:vectometry
47 (:use #:cl)
48 (:use #:vecto-geometry #:vecto)
49 (:shadowing-import-from
50 #:vecto-geometry
51 #:scale)
52 (:shadow
53 ;; vecto wrappers
54 #:move-to
55 #:line-to
56 #:curve-to
57 #:quadratic-to
58 #:draw-centered-string
59 #:draw-string
60 #:string-paths
61 #:centered-string-paths
62 #:string-bounding-box
63 #:arc
64 #:arcn
65 #:rectangle
66 #:rounded-rectangle
67 #:centered-ellipse-path
68 #:centered-circle-path
69 #:set-gradient-fill
70 #:translate
72 (:export
73 ;; colors
74 #:rgb-color
75 #:rgba-color
76 #:hsv-color
77 #:red #:green #:blue #:alpha
78 #:rgb-values
79 #:hsv-values
80 #:gray-color
81 #:graya-color
82 #:*black* #:*white*
83 #:html-code
84 #:html-color
85 #:add-alpha
86 #:set-fill-color
87 #:set-stroke-color
88 ;; extended geometry
89 #:top-left
90 #:bottom-left
91 #:top-right
92 #:bottom-right
93 #:northpoint
94 #:northeastpoint
95 #:eastpoint
96 #:southeastpoint
97 #:southpoint
98 #:southwestpoint
99 #:westpoint
100 #:northwestpoint
101 #:with-box-canvas
102 ;; re-exported geometry bits
103 #:point
104 #:apoint
105 #:xpoint
106 #:ypoint
107 #:x #:y
108 #:*origin*
109 #:midpoint
110 #:eqv
111 #:add #:sub #:mul #:div #:neg #:abs*
112 #:angle
113 #:distance
114 #:box
115 #:scale
116 #:bbox-box
117 #:point-box
118 #:origin-box
119 #:bounding-box
120 #:displace
121 #:xmin #:ymin #:xmax #:ymax
122 #:centerpoint
123 #:maxpoint
124 #:minpoint
125 #:combine
126 #:contract
127 #:expand
128 #:area
129 #:emptyp
130 #:containsp
131 #:width #:height
132 #:*identity-matrix*
133 #:transform-matrix
134 #:translation-matrix
135 #:scaling-matrix
136 #:rotation-matrix
137 #:skewing-matrix
138 #:transform
139 #:transform-function
140 ;; re-exported vecto bits
141 #:with-canvas
142 #:with-graphics-state
143 #:clear-canvas
144 #:save-png
145 #:save-png-stream
146 ;; path construction
147 #:move-to
148 #:line-to
149 #:curve-to
150 #:quadratic-to
151 #:close-subpath
152 #:stroke-to-paths
153 #:arc
154 #:arcn
155 ;; Clipping
156 #:end-path-no-op
157 #:clip-path
158 #:even-odd-clip-path
159 ;; path construction one-offs
160 #:rectangle
161 #:rounded-rectangle
162 #:centered-ellipse-path
163 #:centered-circle-path
164 #:+kappa+
165 ;; painting
166 #:fill-path
167 #:even-odd-fill
168 #:stroke
169 #:fill-and-stroke
170 #:even-odd-fill-and-stroke
171 ;; graphics state
172 #:with-graphics-state
173 #:set-line-cap
174 #:set-line-join
175 #:set-line-width
176 #:set-dash-pattern
177 #:set-rgba-stroke
178 #:set-rgb-stroke
179 #:set-rgba-fill
180 #:set-rgb-fill
181 #:set-gradient-fill
182 #:linear-domain
183 #:bilinear-domain
184 ;; graphics state coordinate transforms
185 #:translate
186 #:rotate
187 #:rotate-degrees
188 #:skew
189 ;; text
190 #:get-font
191 #:set-font
192 #:draw-string
193 #:string-paths
194 #:draw-centered-string
195 #:centered-string-paths
196 #:string-bounding-box
197 #:draw-box-text))
200 (in-package #:vectometry)