Author: tpapp Date: Thu Jul 26 10:52:20 2007 New Revision: 10
Modified: cl-cairo2-swig.lisp cl-cairo2.asd cl-cairo2.i context.lisp package.lisp tutorial/tutorial.tex Log: interface using cl-colors added
Modified: cl-cairo2-swig.lisp ============================================================================== --- cl-cairo2-swig.lisp (original) +++ cl-cairo2-swig.lisp Thu Jul 26 10:52:20 2007 @@ -2,10 +2,10 @@ (in-package :cl-cairo2)
(defctype my-double :double) -(defmethod cffi:expand-to-foreign (value (type (eql 'my-double))) - `(coerce ,value 'double-float)) -;; (defmethod translate-to-foreign (value (type my-double)) -;; (coerce value 'double-float)) +;; (defmethod cffi:expand-to-foreign (value (type (eql 'my-double))) +;; `(coerce ,value 'double-float)) +(defmethod translate-to-foreign (value (type (eql 'my-double))) + (coerce value 'double-float))
;; typedefs: we don't want to create all of them automatically, ;; because typedefs for structures confuse with-foreign-slots
Modified: cl-cairo2.asd ============================================================================== --- cl-cairo2.asd (original) +++ cl-cairo2.asd Thu Jul 26 10:52:20 2007 @@ -1,6 +1,6 @@ (defsystem cl-cairo2 :description "Cairo 1.4 bindings" - :version "0.2.2" + :version "0.2.3" :author "Tamas K Papp" :license "GPL" :components ((:file "package") @@ -15,4 +15,4 @@ (:file "xlib-context" :depends-on ("context") :in-order-to ((load-op (feature :unix)) (compile-op (feature :unix))))) - :depends-on (:cffi)) + :depends-on (:cffi :cl-colors))
Modified: cl-cairo2.i ============================================================================== --- cl-cairo2.i (original) +++ cl-cairo2.i Thu Jul 26 10:52:20 2007 @@ -10,10 +10,10 @@ (in-package :cl-cairo2)
(defctype my-double :double) -(defmethod cffi:expand-to-foreign (value (type (eql 'my-double))) - `(coerce ,value 'double-float)) -;; (defmethod translate-to-foreign (value (type my-double)) -;; (coerce value 'double-float)) +;; (defmethod cffi:expand-to-foreign (value (type (eql 'my-double))) +;; `(coerce ,value 'double-float)) +(defmethod translate-to-foreign (value (type (eql 'my-double))) + (coerce value 'double-float))
;; typedefs: we don't want to create all of them automatically, ;; because typedefs for structures confuse with-foreign-slots
Modified: context.lisp ============================================================================== --- context.lisp (original) +++ context.lisp Thu Jul 26 10:52:20 2007 @@ -150,6 +150,29 @@ (define-with-default-context-sync stroke) (define-with-default-context-sync stroke-preserve)
+;;;; +;;;; set colors using the color library +;;;; +(defgeneric set-source-color (color &optional context)) + +(defmethod set-source-color + ((color rgb-color) &optional (context *context*)) + (set-source-rgb + (rgb-color-red color) + (rgb-color-green color) + (rgb-color-blue color) + context)) + +(defmethod set-source-color + ((color rgba-color) &optional (context *context*)) + (set-source-rgba + (rgba-color-red color) + (rgba-color-green color) + (rgba-color-blue color) + (rgba-color-alpha color) + context)) + + ;;;; ;;;; functions that get/set a property without any conversion ;;;;
Modified: package.lisp ============================================================================== --- package.lisp (original) +++ package.lisp Thu Jul 26 10:52:20 2007 @@ -1,5 +1,5 @@ (defpackage :cl-cairo2 - (:use :common-lisp :cffi) + (:use :common-lisp :cffi :cl-colors) (:export ; !!! when the interface ; stabilizes, remove export's ; from all other places and @@ -7,7 +7,7 @@ ;; utility functions deg-to-rad ;; context - *context* + *context* set-source-color ;; transformations make-trans-matrix trans-matrix-xx trans-matrix-yx trans-matrix-xy trans-matrix-yy trans-matrix-x0 trans-matrix-y0 trans-matrix-p))
Modified: tutorial/tutorial.tex ============================================================================== --- tutorial/tutorial.tex (original) +++ tutorial/tutorial.tex Thu Jul 26 10:52:20 2007 @@ -261,6 +261,14 @@ I doubt that Lisp users need \lstinline!get/set-user-data! or \lstinline!get-reference-count!. Let me know if you do.
+Since version 0.2.3, you can use colors from +\href{http://www.cliki.net/cl-colors%7D%7Bcl-colors%7D with the generic +function \lstinline!set-source-color!, for example, +\begin{lstlisting} + (set-source-color +darkolivegreen+) +\end{lstlisting} + + \subsection{Paths} \label{sec:paths}