update structs in cairo.ffi

Joe Groff 2009-09-18 17:42:25 -05:00
parent fd579c7f6f
commit 9d73018ec1
1 changed files with 52 additions and 50 deletions

View File

@ -6,7 +6,7 @@
USING: system combinators alien alien.syntax alien.c-types USING: system combinators alien alien.syntax alien.c-types
alien.destructors kernel accessors sequences arrays ui.gadgets alien.destructors kernel accessors sequences arrays ui.gadgets
alien.libraries ; alien.libraries classes.struct ;
IN: cairo.ffi IN: cairo.ffi
<< { << {
@ -26,23 +26,23 @@ TYPEDEF: int cairo_bool_t
TYPEDEF: void* cairo_t TYPEDEF: void* cairo_t
TYPEDEF: void* cairo_surface_t TYPEDEF: void* cairo_surface_t
C-STRUCT: cairo_matrix_t STRUCT: cairo_matrix_t
{ "double" "xx" } { xx double }
{ "double" "yx" } { yx double }
{ "double" "xy" } { xy double }
{ "double" "yy" } { yy double }
{ "double" "x0" } { x0 double }
{ "double" "y0" } ; { y0 double } ;
TYPEDEF: void* cairo_pattern_t 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 )
[ "void" { "void*" } "cdecl" ] dip 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 STRUCT: cairo_user_data_key_t
{ "int" "unused" } ; { unused int } ;
TYPEDEF: int cairo_status_t TYPEDEF: int cairo_status_t
C-ENUM: C-ENUM:
@ -79,11 +79,11 @@ CONSTANT: CAIRO_CONTENT_COLOR_ALPHA HEX: 3000
TYPEDEF: void* cairo_write_func_t TYPEDEF: void* cairo_write_func_t
: cairo-write-func ( quot -- callback ) : cairo-write-func ( quot -- callback )
[ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline [ cairo_status_t { void* uchar* int } "cdecl" ] dip 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 )
[ "cairo_status_t" { "void*" "uchar*" "int" } "cdecl" ] dip alien-callback ; inline [ cairo_status_t { void* uchar* int } "cdecl" ] dip alien-callback ; inline
! Functions for manipulating state objects ! Functions for manipulating state objects
FUNCTION: cairo_t* FUNCTION: cairo_t*
@ -336,16 +336,16 @@ cairo_clip_preserve ( cairo_t* cr ) ;
FUNCTION: void FUNCTION: void
cairo_clip_extents ( cairo_t* cr, double* x1, double* y1, double* x2, double* y2 ) ; cairo_clip_extents ( cairo_t* cr, double* x1, double* y1, double* x2, double* y2 ) ;
C-STRUCT: cairo_rectangle_t STRUCT: cairo_rectangle_t
{ "double" "x" } { x double }
{ "double" "y" } { y double }
{ "double" "width" } { width double }
{ "double" "height" } ; { height double } ;
C-STRUCT: cairo_rectangle_list_t STRUCT: cairo_rectangle_list_t
{ "cairo_status_t" "status" } { status cairo_status_t }
{ "cairo_rectangle_t*" "rectangles" } { rectangles cairo_rectangle_t* }
{ "int" "num_rectangles" } ; { num_rectangles int } ;
FUNCTION: cairo_rectangle_list_t* FUNCTION: cairo_rectangle_list_t*
cairo_copy_clip_rectangle_list ( cairo_t* cr ) ; cairo_copy_clip_rectangle_list ( cairo_t* cr ) ;
@ -359,25 +359,25 @@ TYPEDEF: void* cairo_scaled_font_t
TYPEDEF: void* cairo_font_face_t TYPEDEF: void* cairo_font_face_t
C-STRUCT: cairo_glyph_t STRUCT: cairo_glyph_t
{ "ulong" "index" } { index ulong }
{ "double" "x" } { x double }
{ "double" "y" } ; { y double } ;
C-STRUCT: cairo_text_extents_t STRUCT: cairo_text_extents_t
{ "double" "x_bearing" } { x_bearing double }
{ "double" "y_bearing" } { y_bearing double }
{ "double" "width" } { width double }
{ "double" "height" } { height double }
{ "double" "x_advance" } { x_advance double }
{ "double" "y_advance" } ; { y_advance double } ;
C-STRUCT: cairo_font_extents_t STRUCT: cairo_font_extents_t
{ "double" "ascent" } { ascent double }
{ "double" "descent" } { descent double }
{ "double" "height" } { height double }
{ "double" "max_x_advance" } { max_x_advance double }
{ "double" "max_y_advance" } ; { max_y_advance double } ;
TYPEDEF: int cairo_font_slant_t TYPEDEF: int cairo_font_slant_t
C-ENUM: C-ENUM:
@ -648,20 +648,22 @@ C-ENUM:
CAIRO_PATH_CLOSE_PATH ; CAIRO_PATH_CLOSE_PATH ;
! NEED TO DO UNION HERE ! NEED TO DO UNION HERE
C-STRUCT: cairo_path_data_t-point STRUCT: cairo_path_data_t-point
{ "double" "x" } { x double }
{ "double" "y" } ; { y double } ;
C-STRUCT: cairo_path_data_t-header STRUCT: cairo_path_data_t-header
{ "cairo_path_data_type_t" "type" } { type cairo_path_data_type_t }
{ "int" "length" } ; { length int } ;
C-UNION: cairo_path_data_t "cairo_path_data_t-point" "cairo_path_data_t-header" ; UNION-STRUCT: cairo_path_data_t
{ point cairo_path_data_t-point }
{ header cairo_path_data_t-header } ;
C-STRUCT: cairo_path_t STRUCT: cairo_path_t
{ "cairo_status_t" "status" } { status cairo_status_t }
{ "cairo_path_data_t*" "data" } { data cairo_path_data_t* }
{ "int" "num_data" } ; { num_data int } ;
FUNCTION: cairo_path_t* FUNCTION: cairo_path_t*
cairo_copy_path ( cairo_t* cr ) ; cairo_copy_path ( cairo_t* cr ) ;