From: espen Date: Fri, 6 Apr 2007 14:12:09 +0000 (+0000) Subject: Added optional NEGATIVE-P argument to function CIRCLE X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/commitdiff_plain/015f771e0ce4720e5d0da59d61c1942ed8ada079?hp=fb37007601c271878ec48d5714d7dce76518fafc Added optional NEGATIVE-P argument to function CIRCLE --- diff --git a/cairo/cairo.lisp b/cairo/cairo.lisp index 993d0f1..40d7414 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.12 2007-04-06 14:12:09 espen Exp $ (in-package "CAIRO") @@ -498,8 +498,13 @@ (defpath line-to (x y) t) (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)