X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/1ed0a2c57d1624d098f180bff1c567960a9b1b36..cc74b2c987edc3e2bc85413e92f33e2690a32b1c:/cairo/cairo.lisp?ds=inline diff --git a/cairo/cairo.lisp b/cairo/cairo.lisp index ea493f4..fbf3863 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.1 2005-11-10 08:50:45 espen Exp $ +;; $Id: cairo.lisp,v 1.4 2006-02-08 22:19:44 espen Exp $ (in-package "CAIRO") @@ -52,7 +52,7 @@ (define-enum-type subpixel-order :default :rgb :bgr :vrgb :vbgr) (define-enum-type hint-style :default :none :slight :medium :full) (define-enum-type hint-metrics :default :off :on) - (defclass glyph (proxy) + (defclass glyph (struct) ((index :allocation :alien :initarg :index @@ -339,7 +339,7 @@ (defun ,name (cr &optional preserve) (,pname cr) (,iname cr))) ,(unless clip-p - (let ((tname (intern (format nil "IN~A-P" name))) + (let ((tname (intern (format nil "IN-~A-P" name))) (ename (intern (format nil "~A-EXTENTS" name)))) `(progn (defbinding ,tname () boolean @@ -633,7 +633,7 @@ (defbinding %scaled-font-create () pointer (defmethod initialize-instance ((scaled-font scaled-font) &key font-face font-matrix cmt options) (setf - (slot-value scaled-font 'location) + (foreign-location scaled-font) (%scaled-font-create font-face font-matrix cmt options)) (call-next-method)) @@ -649,7 +649,7 @@ (defbinding %font-options-destroy () nil (location pointer)) (defmethod reference-foreign ((class (eql (find-class 'font-options))) location) - (%font-options-reference location)) + (%font-options-copy location)) (defmethod unreference-foreign ((class (eql (find-class 'font-options))) location) (%font-options-destroy location)) @@ -661,7 +661,7 @@ (defbinding %font-options-create () pointer) (defmethod initialize-instance ((font-options font-options) &rest initargs) (declare (ignore initargs)) - (setf (slot-value font-options 'location) (%font-options-create)) + (setf (foreign-location font-options) (%font-options-create)) (call-next-method)) (defbinding font-options-merge () nil @@ -738,7 +738,7 @@ (defun surface-mark-dirty (surface &optional x y width height) (defmethod initialize-instance ((surface image-surface) &key width height stride format data) (setf - (slot-value surface 'location) + (foreign-location surface) (if (not data) (%image-surface-create format width height) (%image-surface-create-for-data data format width height