X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/2e86f0c9cfe59239f2256a1e384c61a8b7fcf206..8defd3796cd7be80009341354cea9f4f98691729:/cairo/cairo.lisp diff --git a/cairo/cairo.lisp b/cairo/cairo.lisp index 993d0f1..a87c6bb 100644 --- a/cairo/cairo.lisp +++ b/cairo/cairo.lisp @@ -20,7 +20,7 @@ ;; TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ;; SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -;; $Id: cairo.lisp,v 1.11 2007-02-19 14:37:52 espen Exp $ +;; $Id: cairo.lisp,v 1.13 2007-06-04 10:42:53 espen Exp $ (in-package "CAIRO") @@ -58,7 +58,7 @@ (define-enum-type surface-type image-surface pdf-surface ps-surface xlib-surface xcb-surface glitz-surface quartz-surface win32-surface beos-surface - directfb-surface) + directfb-surface svg-surface os2-surface) (defclass surface-class (proxy-class) ()) @@ -498,8 +498,13 @@ (defpath move-to (x y) t) (defpath rectangle (x y width height)) -(defun circle (cr x y radius) - (arc cr x y radius 0.0 (* pi 2))) +(defun circle (cr x y radius &optional negative-p) + (move-to cr radius 0.0d0) + (if negative-p + (arc-negative cr x y radius (* pi 2) 0.0d0) + (arc cr x y radius 0.0d0 (* pi 2))) + (close-path cr)) + (defbinding glyph-path (cr glyphs) nil (cr context)