;; 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")
: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"
(: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)
(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"
(: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")
(:ref %surface-reference)
(:unref %surface-destroy))
- (defclass context (proxy)
+ (defclass context (ref-counted-object)
((target
:allocation :virtual
:getter "cairo_get_target"
(: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
: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)
;;; Cairo context
-(defbinding %reference () nil
+(defbinding %reference () pointer
(location pointer))
(defbinding %destroy () nil
(cr context)
(x double-float)
(y double-float))
- (defbinding ,ename () boolean
+ (defbinding ,ename () nil
(cr context)
(x1 double-float :out)
(y1 double-float :out)
(cy1 double-float)
(radius1 double-float))
-(defbinding %pattern-reference () nil
+(defbinding %pattern-reference () pointer
(location pointer))
(defbinding %pattern-destroy () nil
;;; Fonts
-(defbinding %font-face-reference () nil
+(defbinding %font-face-reference () pointer
(location pointer))
(defbinding %font-face-destroy () nil
;;; Scaled Fonts
-(defbinding %scaled-font-reference () nil
+(defbinding %scaled-font-reference () pointer
(location pointer))
(defbinding %scaled-font-destroy () nil
;;; Surfaces
-(defbinding %surface-reference () nil
+(defbinding %surface-reference () pointer
(location pointer))
(defbinding %surface-destroy () nil