From 85d2330289395ea4c2706db59c0257d95b98d3ee Mon Sep 17 00:00:00 2001 From: Matthew Willis Date: Sun, 11 May 2008 20:51:33 -0700 Subject: [PATCH] fixed bugs in cairo, added cairo.samples MAIN: word --- extra/cairo/cairo.factor | 4 ++-- extra/cairo/ffi/ffi.factor | 20 +------------------- extra/cairo/gadgets/gadgets.factor | 2 +- extra/cairo/samples/samples.factor | 11 +++++++++-- 4 files changed, 13 insertions(+), 24 deletions(-) diff --git a/extra/cairo/cairo.factor b/extra/cairo/cairo.factor index c9700e82c0..077152a3c2 100755 --- a/extra/cairo/cairo.factor +++ b/extra/cairo/cairo.factor @@ -1,8 +1,8 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: cairo kernel accessors sequences +USING: cairo.ffi kernel accessors sequences namespaces fry continuations ; -IN: cairo.lib +IN: cairo TUPLE: cairo-t alien ; C: cairo-t diff --git a/extra/cairo/ffi/ffi.factor b/extra/cairo/ffi/ffi.factor index b82191f72c..451806c0a7 100644 --- a/extra/cairo/ffi/ffi.factor +++ b/extra/cairo/ffi/ffi.factor @@ -7,7 +7,7 @@ USING: system combinators alien alien.syntax kernel alien.c-types accessors sequences arrays ui.gadgets ; -IN: cairo +IN: cairo.ffi << "cairo" { { [ os winnt? ] [ "libcairo-2.dll" ] } { [ os macosx? ] [ "libcairo.dylib" ] } @@ -340,24 +340,6 @@ C-STRUCT: cairo_rectangle_t { "double" "y" } { "double" "width" } { "double" "height" } ; - -: ( x y width height -- cairo_rectangle_t ) - "cairo_rectangle_t" dup - { - [ set-cairo_rectangle_t-height ] [ set-cairo_rectangle_t-width ] - [ set-cairo_rectangle_t-y ] [ set-cairo_rectangle_t-x ] - } cleave ; - -: rect>cairo ( rect -- cairo_rectangle_t ) - [ loc>> ] [ dim>> ] bi [ [ first ] [ second ] bi ] bi@ - ; - -: cairo>rect ( cairo_rectangle_t -- rect ) - { - [ cairo_rectangle_t-x ] [ cairo_rectangle_t-y ] - [ cairo_rectangle_t-width ] [ cairo_rectangle_t-height ] - } cleave - [ 2array ] 2bi@ ; C-STRUCT: cairo_rectangle_list_t { "cairo_status_t" "status" } diff --git a/extra/cairo/gadgets/gadgets.factor b/extra/cairo/gadgets/gadgets.factor index 98b3c452eb..e0daefd63c 100644 --- a/extra/cairo/gadgets/gadgets.factor +++ b/extra/cairo/gadgets/gadgets.factor @@ -1,6 +1,6 @@ ! Copyright (C) 2008 Matthew Willis. ! See http://factorcode.org/license.txt for BSD license. -USING: cairo cairo.lib ui.render kernel opengl.gl opengl +USING: cairo cairo.ffi ui.render kernel opengl.gl opengl math byte-arrays ui.gadgets accessors arrays namespaces io.backend ; diff --git a/extra/cairo/samples/samples.factor b/extra/cairo/samples/samples.factor index 2d8d34a376..402c3881f4 100644 --- a/extra/cairo/samples/samples.factor +++ b/extra/cairo/samples/samples.factor @@ -3,7 +3,7 @@ ! ! these samples are a subset of the samples on ! http://cairographics.org/samples/ -USING: cairo cairo.lib locals math.constants math +USING: cairo cairo.ffi locals math.constants math io.backend kernel alien.c-types libc namespaces ; IN: cairo.samples @@ -137,4 +137,11 @@ IN: cairo.samples cr 0 256 cairo_rel_line_to cr 0 128 cairo_move_to cr 256 0 cairo_rel_line_to - cr cairo_stroke ; \ No newline at end of file + cr cairo_stroke ; + + USING: quotations cairo.gadgets ui.gadgets.panes sequences ; + : samples ( -- ) + { arc clip clip-image dash gradient text utf8 } + [ 256 256 rot 1quotation gadget. ] each ; + + MAIN: samples \ No newline at end of file