Get cairo binding to load
parent
d108d58058
commit
22fadf4ed0
|
|
@ -17,20 +17,21 @@ M: cairo-surface-t dispose ( alien -- ) alien>> cairo_surface_destroy ;
|
||||||
[ cairo_status_to_string "Cairo error: " prepend throw ] if ;
|
[ cairo_status_to_string "Cairo error: " prepend throw ] if ;
|
||||||
|
|
||||||
SYMBOL: cairo
|
SYMBOL: cairo
|
||||||
: cr ( -- cairo ) cairo get ;
|
: cr ( -- cairo ) cairo get ; inline
|
||||||
|
|
||||||
: (with-cairo) ( cairo-t quot -- )
|
: (with-cairo) ( cairo-t quot -- )
|
||||||
>r alien>> cairo r> [ cr cairo_status check-cairo ]
|
[ alien>> cairo ] dip
|
||||||
compose with-variable ; inline
|
'[ @ cr cairo_status check-cairo ]
|
||||||
|
with-variable ; inline
|
||||||
|
|
||||||
: with-cairo ( cairo quot -- )
|
: with-cairo ( cairo quot -- )
|
||||||
>r <cairo-t> r> [ (with-cairo) ] curry with-disposal ; inline
|
[ <cairo-t> ] dip '[ _ (with-cairo) ] with-disposal ; inline
|
||||||
|
|
||||||
: (with-surface) ( cairo-surface-t quot -- )
|
: (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 -- )
|
: with-surface ( cairo_surface quot -- )
|
||||||
>r <cairo-surface-t> r> [ (with-surface) ] curry with-disposal ; inline
|
[ <cairo-surface-t> ] dip '[ _ (with-surface) ] with-disposal ; inline
|
||||||
|
|
||||||
: with-cairo-from-surface ( cairo_surface quot -- )
|
: with-cairo-from-surface ( cairo_surface quot -- )
|
||||||
'[ cairo_create _ with-cairo ] with-surface ; inline
|
'[ cairo_create _ with-cairo ] with-surface ; inline
|
||||||
|
|
|
||||||
|
|
@ -37,7 +37,7 @@ TYPEDEF: void* cairo_pattern_t
|
||||||
|
|
||||||
TYPEDEF: void* cairo_destroy_func_t
|
TYPEDEF: void* cairo_destroy_func_t
|
||||||
: cairo-destroy-func ( quot -- callback )
|
: 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
|
! See cairo.h for details
|
||||||
C-STRUCT: cairo_user_data_key_t
|
C-STRUCT: cairo_user_data_key_t
|
||||||
|
|
@ -78,13 +78,11 @@ TYPEDEF: int cairo_content_t
|
||||||
|
|
||||||
TYPEDEF: void* cairo_write_func_t
|
TYPEDEF: void* cairo_write_func_t
|
||||||
: cairo-write-func ( quot -- callback )
|
: cairo-write-func ( quot -- callback )
|
||||||
>r "cairo_status_t" { "void*" "uchar*" "int" }
|
[ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline
|
||||||
"cdecl" r> alien-callback ; inline
|
|
||||||
|
|
||||||
TYPEDEF: void* cairo_read_func_t
|
TYPEDEF: void* cairo_read_func_t
|
||||||
: cairo-read-func ( quot -- callback )
|
: cairo-read-func ( quot -- callback )
|
||||||
>r "cairo_status_t" { "void*" "uchar*" "int" }
|
[ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline
|
||||||
"cdecl" r> alien-callback ; inline
|
|
||||||
|
|
||||||
! Functions for manipulating state objects
|
! Functions for manipulating state objects
|
||||||
FUNCTION: cairo_t*
|
FUNCTION: cairo_t*
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ M: cairo-gadget draw-gadget*
|
||||||
[ dim>> ] [ render-cairo ] bi
|
[ dim>> ] [ render-cairo ] bi
|
||||||
origin get first2 glRasterPos2i
|
origin get first2 glRasterPos2i
|
||||||
1.0 -1.0 glPixelZoom
|
1.0 -1.0 glPixelZoom
|
||||||
>r first2 GL_BGRA GL_UNSIGNED_BYTE r>
|
[ first2 GL_BGRA GL_UNSIGNED_BYTE ] dip
|
||||||
glDrawPixels ;
|
glDrawPixels ;
|
||||||
|
|
||||||
: copy-surface ( surface -- )
|
: copy-surface ( surface -- )
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue