X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~mdw/git/clg/blobdiff_plain/2f60440d56a8a467b43b6a4a981e5e8c9544f2d5..cc74b2c987edc3e2bc85413e92f33e2690a32b1c:/cairo/cairo.lisp?ds=sidebyside diff --git a/cairo/cairo.lisp b/cairo/cairo.lisp index 142a22d..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.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