chiark / gitweb /
Changed to use of settable FOREIGN-LOCATION
[clg] / cairo / cairo.lisp
index ea493f4d1ae0de9e0fbd176aec58f1430578530e..fbf38639d22784e5142f12a360755c6a5dc3d6f8 100644 (file)
@@ -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