chiark / gitweb /
Changed to use of settable FOREIGN-LOCATION
[clg] / cairo / cairo.lisp
index 142a22d585ba34358d11cf71b054ee25b58c7c53..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.2 2005-11-15 10:03:04 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 
@@ -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