From 22fadf4ed05e0bd23d9a07a328bd471e2215aa87 Mon Sep 17 00:00:00 2001 From: Slava Pestov Date: Wed, 17 Dec 2008 20:02:37 -0600 Subject: [PATCH] Get cairo binding to load --- extra/cairo/cairo.factor | 13 +++++++------ extra/cairo/ffi/ffi.factor | 8 +++----- extra/cairo/gadgets/gadgets.factor | 2 +- 3 files changed, 11 insertions(+), 12 deletions(-) diff --git a/extra/cairo/cairo.factor b/extra/cairo/cairo.factor index aa7d1159a6..da7f5a2f32 100755 --- a/extra/cairo/cairo.factor +++ b/extra/cairo/cairo.factor @@ -17,20 +17,21 @@ M: cairo-surface-t dispose ( alien -- ) alien>> cairo_surface_destroy ; [ cairo_status_to_string "Cairo error: " prepend throw ] if ; SYMBOL: cairo -: cr ( -- cairo ) cairo get ; +: cr ( -- cairo ) cairo get ; inline : (with-cairo) ( cairo-t quot -- ) - >r alien>> cairo r> [ cr cairo_status check-cairo ] - compose with-variable ; inline + [ alien>> cairo ] dip + '[ @ cr cairo_status check-cairo ] + with-variable ; inline : with-cairo ( cairo quot -- ) - >r r> [ (with-cairo) ] curry with-disposal ; inline + [ ] dip '[ _ (with-cairo) ] with-disposal ; inline : (with-surface) ( cairo-surface-t quot -- ) - >r alien>> r> [ cairo_surface_status check-cairo ] bi ; inline + [ alien>> ] dip [ cairo_surface_status check-cairo ] bi ; inline : with-surface ( cairo_surface quot -- ) - >r r> [ (with-surface) ] curry with-disposal ; inline + [ ] dip '[ _ (with-surface) ] with-disposal ; inline : with-cairo-from-surface ( cairo_surface quot -- ) '[ cairo_create _ with-cairo ] with-surface ; inline diff --git a/extra/cairo/ffi/ffi.factor b/extra/cairo/ffi/ffi.factor index db18320fee..d29a3fb097 100644 --- a/extra/cairo/ffi/ffi.factor +++ b/extra/cairo/ffi/ffi.factor @@ -37,7 +37,7 @@ TYPEDEF: void* cairo_pattern_t TYPEDEF: void* cairo_destroy_func_t : cairo-destroy-func ( quot -- callback ) - >r "void" { "void*" } "cdecl" r> alien-callback ; inline + [ "void" { "void*" } "cdecl" ] dip alien-callback ; inline ! See cairo.h for details C-STRUCT: cairo_user_data_key_t @@ -78,13 +78,11 @@ TYPEDEF: int cairo_content_t TYPEDEF: void* cairo_write_func_t : cairo-write-func ( quot -- callback ) - >r "cairo_status_t" { "void*" "uchar*" "int" } - "cdecl" r> alien-callback ; inline + [ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline TYPEDEF: void* cairo_read_func_t : cairo-read-func ( quot -- callback ) - >r "cairo_status_t" { "void*" "uchar*" "int" } - "cdecl" r> alien-callback ; inline + [ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline ! Functions for manipulating state objects FUNCTION: cairo_t* diff --git a/extra/cairo/gadgets/gadgets.factor b/extra/cairo/gadgets/gadgets.factor index 8ed7a3c31b..131f7425c9 100644 --- a/extra/cairo/gadgets/gadgets.factor +++ b/extra/cairo/gadgets/gadgets.factor @@ -26,7 +26,7 @@ M: cairo-gadget draw-gadget* [ dim>> ] [ render-cairo ] bi origin get first2 glRasterPos2i 1.0 -1.0 glPixelZoom - >r first2 GL_BGRA GL_UNSIGNED_BYTE r> + [ first2 GL_BGRA GL_UNSIGNED_BYTE ] dip glDrawPixels ; : copy-surface ( surface -- )