X-Git-Url: https://git.distorted.org.uk/~mdw/clg/blobdiff_plain/1762d4014e35b461cb6561ddb6d4c62a4a21d8d5..a5ac639f04ec80ce4bcc9f3c6c3cd58c01fc9a44:/cairo/cairo.lisp diff --git a/cairo/cairo.lisp b/cairo/cairo.lisp index 4fa79f1..d90b658 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.8 2007/01/11 10:20:22 espen Exp $ +;; $Id: cairo.lisp,v 1.10 2007/01/13 00:15:36 espen Exp $ (in-package "CAIRO") @@ -77,13 +77,13 @@ :type double-float)) (:metaclass struct-class)) - (defclass font-face (proxy) + (defclass font-face (ref-counted-object) () (:metaclass proxy-class) (:ref %font-face-reference) (:unref %font-face-destroy)) - (defclass font-options (proxy) + (defclass font-options (ref-counted-object) ((antialias :allocation :virtual :getter "font_options_get_antialias" @@ -112,7 +112,7 @@ (:ref %font-options-reference) (:unref %font-options-destroy)) - (defclass scaled-font (proxy) + (defclass scaled-font (ref-counted-object) () (:metaclass proxy-class) (:ref %scaled-font-reference) @@ -143,7 +143,7 @@ (y-advance :allocation :alien :reader text-extents-y-advance :type double-float)) (:metaclass struct-class)) - (defclass pattern (proxy) + (defclass pattern (ref-counted-object) ((extend :allocation :virtual :getter "cairo_pattern_get_extend" @@ -167,11 +167,11 @@ (:unref %pattern-destroy)) - (defclass surface (proxy) + (defclass surface (ref-counted-object) (#?(pkg-exists-p "cairo" :atleast-version "1.2") (type :allocation :virtual - :getter "cairo_surface_get_tyoe" + :getter "cairo_surface_get_type" :reader surface-type :type surface-type) #?(pkg-exists-p "cairo" :atleast-version "1.2") @@ -184,7 +184,7 @@ (:ref %surface-reference) (:unref %surface-destroy)) - (defclass context (proxy) + (defclass context (ref-counted-object) ((target :allocation :virtual :getter "cairo_get_target" @@ -274,7 +274,19 @@ (:unref %destroy)) (defclass image-surface (surface) - ((width + (#?(pkg-exists-p "cairo" :atleast-version "1.2") + (data + :allocation :virtual + :getter "cairo_image_surface_get_data" + :reader surface-data + :type pointer) + #?(pkg-exists-p "cairo" :atleast-version "1.2") + (format + :allocation :virtual + :getter "cairo_image_surface_get_format" + :reader surface-format + :type surface-format) + (width :allocation :virtual :getter "cairo_image_surface_get_width" :reader surface-width @@ -283,10 +295,42 @@ :allocation :virtual :getter "cairo_image_surface_get_height" :reader surface-height + :type int) + #?(pkg-exists-p "cairo" :atleast-version "1.2") + (stride + :allocation :virtual + :getter "cairo_image_surface_get_stride" + :reader surface-height :type int)) - (:metaclass proxy-class) - (:ref %surface-reference) - (:unref %surface-destroy)) + (:metaclass proxy-class)) + + #?(pkg-exists-p "cairo" :atleast-version "1.2") + (progn + (defclass xlib-surface (surface) + ((width + :allocation :virtual + :getter "cairo_xlib_surface_get_width" + :reader surface-width + :type int) + (height + :allocation :virtual + :getter "cairo_xlib_surface_get_height" + :reader surface-height + :type int)) + (:metaclass proxy-class)) + + (defclass pdf-surface (surface) + () + (:metaclass proxy-class)) + + (defclass ps-surface (surface) + () + (:metaclass proxy-class)) + + (defclass svg-surface (surface) + () + (:metaclass proxy-class))) + ;; (defclass path (proxy) @@ -298,7 +342,7 @@ ;;; Cairo context -(defbinding %reference () nil +(defbinding %reference () pointer (location pointer)) (defbinding %destroy () nil @@ -387,7 +431,7 @@ (cr context) (x double-float) (y double-float)) - (defbinding ,ename () boolean + (defbinding ,ename () nil (cr context) (x1 double-float :out) (y1 double-float :out) @@ -504,7 +548,7 @@ (cy1 double-float) (radius1 double-float)) -(defbinding %pattern-reference () nil +(defbinding %pattern-reference () pointer (location pointer)) (defbinding %pattern-destroy () nil @@ -609,7 +653,7 @@ ;;; Fonts -(defbinding %font-face-reference () nil +(defbinding %font-face-reference () pointer (location pointer)) (defbinding %font-face-destroy () nil @@ -622,7 +666,7 @@ ;;; Scaled Fonts -(defbinding %scaled-font-reference () nil +(defbinding %scaled-font-reference () pointer (location pointer)) (defbinding %scaled-font-destroy () nil @@ -685,7 +729,7 @@ ;;; Surfaces -(defbinding %surface-reference () nil +(defbinding %surface-reference () pointer (location pointer)) (defbinding %surface-destroy () nil