/[cl-cairo2]/cl-cairo2-swig.lisp
ViewVC logotype

Contents of /cl-cairo2-swig.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (show annotations)
Thu Jul 12 14:01:08 2007 UTC (6 years, 9 months ago) by tpapp
File size: 37567 byte(s)
Code cleanup, also added finalizers
1
2 (in-package :cl-cairo2)
3
4 (defctype my-double :double)
5 (defmethod cffi:expand-to-foreign (value (type (eql 'my-double)))
6 `(coerce ,value 'double-float))
7 ;; (defmethod translate-to-foreign (value (type my-double))
8 ;; (coerce value 'double-float))
9
10 ;; typedefs: we don't want to create all of them automatically,
11 ;; because typedefs for structures confuse with-foreign-slots
12 ;; the ones we don't want are commented out
13 (cffi:defctype cairo_bool_t :int)
14 (cffi:defctype cairo_t :pointer)
15 (cffi:defctype cairo_surface_t :pointer)
16 ;; (cffi:defctype cairo_matrix_t :pointer)
17 (cffi:defctype cairo_pattern_t :pointer)
18 (cffi:defctype cairo_destroy_func_t :pointer)
19 (cffi:defctype cairo_user_data_key_t :pointer)
20 (cffi:defctype cairo_write_func_t :pointer)
21 (cffi:defctype cairo_read_func_t :pointer)
22 ;; (cffi:defctype cairo_rectangle_t :pointer)
23 (cffi:defctype cairo_rectangle_list_t :pointer)
24 (cffi:defctype cairo_scaled_font_t :pointer)
25 (cffi:defctype cairo_font_face_t :pointer)
26 (cffi:defctype cairo_font_options_t :pointer)
27 (cffi:defctype cairo_path_data_t :pointer)
28 (cffi:defctype cairo_path_t :pointer)
29
30
31
32 ;;;SWIG wrapper code starts here
33
34 (cl:defmacro defanonenum (&body enums)
35 "Converts anonymous enums to defconstants."
36 `(cl:progn ,@(cl:loop for value in enums
37 for index = 0 then (cl:1+ index)
38 when (cl:listp value) do (cl:setf index (cl:second value)
39 value (cl:first value))
40 collect `(cl:defconstant ,value ,index))))
41
42 (cl:eval-when (:compile-toplevel :load-toplevel)
43 (cl:unless (cl:fboundp 'swig-lispify)
44 (cl:defun swig-lispify (name flag cl:&optional (package cl:*package*))
45 (cl:labels ((helper (lst last rest cl:&aux (c (cl:car lst)))
46 (cl:cond
47 ((cl:null lst)
48 rest)
49 ((cl:upper-case-p c)
50 (helper (cl:cdr lst) 'upper
51 (cl:case last
52 ((lower digit) (cl:list* c #\- rest))
53 (cl:t (cl:cons c rest)))))
54 ((cl:lower-case-p c)
55 (helper (cl:cdr lst) 'lower (cl:cons (cl:char-upcase c) rest)))
56 ((cl:digit-char-p c)
57 (helper (cl:cdr lst) 'digit
58 (cl:case last
59 ((upper lower) (cl:list* c #\- rest))
60 (cl:t (cl:cons c rest)))))
61 ((cl:char-equal c #\_)
62 (helper (cl:cdr lst) '_ (cl:cons #\- rest)))
63 (cl:t
64 (cl:error "Invalid character: ~A" c)))))
65 (cl:let ((fix (cl:case flag
66 ((constant enumvalue) "+")
67 (variable "*")
68 (cl:t ""))))
69 (cl:intern
70 (cl:concatenate
71 'cl:string
72 fix
73 (cl:nreverse (helper (cl:concatenate 'cl:list name) cl:nil cl:nil))
74 fix)
75 package))))))
76
77 ;;;SWIG wrapper code ends here
78
79
80 (cl:defconstant CAIRO_VERSION_MAJOR 1)
81
82 (cl:defconstant CAIRO_VERSION_MINOR 4)
83
84 (cl:defconstant CAIRO_VERSION_MICRO 10)
85
86 (cl:defconstant CAIRO_HAS_SVG_SURFACE 1)
87
88 (cl:defconstant CAIRO_HAS_PDF_SURFACE 1)
89
90 (cl:defconstant CAIRO_HAS_PS_SURFACE 1)
91
92 (cl:defconstant CAIRO_HAS_FT_FONT 1)
93
94 (cl:defconstant CAIRO_HAS_PNG_FUNCTIONS 1)
95
96 (cl:defconstant CAIRO_HAS_XLIB_XRENDER_SURFACE 1)
97
98 (cl:defconstant CAIRO_HAS_XLIB_SURFACE 1)
99
100 (cl:defconstant CAIRO_FORMAT_RGB16_565 4)
101
102 (cffi:defcfun ("cairo_version" cairo_version) :int)
103
104 (cffi:defcfun ("cairo_version_string" cairo_version_string) :string)
105
106 (cffi:defcstruct cairo_matrix_t
107 (xx my-double)
108 (yx my-double)
109 (xy my-double)
110 (yy my-double)
111 (x0 my-double)
112 (y0 my-double))
113
114 (cffi:defcstruct cairo_user_data_key_t
115 (unused :int))
116
117 (cffi:defcenum cairo_status_t
118 (:CAIRO_STATUS_SUCCESS 0)
119 :CAIRO_STATUS_NO_MEMORY
120 :CAIRO_STATUS_INVALID_RESTORE
121 :CAIRO_STATUS_INVALID_POP_GROUP
122 :CAIRO_STATUS_NO_CURRENT_POINT
123 :CAIRO_STATUS_INVALID_MATRIX
124 :CAIRO_STATUS_INVALID_STATUS
125 :CAIRO_STATUS_NULL_POINTER
126 :CAIRO_STATUS_INVALID_STRING
127 :CAIRO_STATUS_INVALID_PATH_DATA
128 :CAIRO_STATUS_READ_ERROR
129 :CAIRO_STATUS_WRITE_ERROR
130 :CAIRO_STATUS_SURFACE_FINISHED
131 :CAIRO_STATUS_SURFACE_TYPE_MISMATCH
132 :CAIRO_STATUS_PATTERN_TYPE_MISMATCH
133 :CAIRO_STATUS_INVALID_CONTENT
134 :CAIRO_STATUS_INVALID_FORMAT
135 :CAIRO_STATUS_INVALID_VISUAL
136 :CAIRO_STATUS_FILE_NOT_FOUND
137 :CAIRO_STATUS_INVALID_DASH
138 :CAIRO_STATUS_INVALID_DSC_COMMENT
139 :CAIRO_STATUS_INVALID_INDEX
140 :CAIRO_STATUS_CLIP_NOT_REPRESENTABLE)
141
142 (cffi:defcenum cairo_content_t
143 (:CAIRO_CONTENT_COLOR #x1000)
144 (:CAIRO_CONTENT_ALPHA #x2000)
145 (:CAIRO_CONTENT_COLOR_ALPHA #x3000))
146
147 (cffi:defcfun ("cairo_create" cairo_create) :pointer
148 (target :pointer))
149
150 (cffi:defcfun ("cairo_reference" cairo_reference) :pointer
151 (cr :pointer))
152
153 (cffi:defcfun ("cairo_destroy" cairo_destroy) :void
154 (cr :pointer))
155
156 (cffi:defcfun ("cairo_get_reference_count" cairo_get_reference_count) :unsigned-int
157 (cr :pointer))
158
159 (cffi:defcfun ("cairo_get_user_data" cairo_get_user_data) :pointer
160 (cr :pointer)
161 (key :pointer))
162
163 (cffi:defcfun ("cairo_set_user_data" cairo_set_user_data) cairo_status_t
164 (cr :pointer)
165 (key :pointer)
166 (user_data :pointer)
167 (destroy :pointer))
168
169 (cffi:defcfun ("cairo_save" cairo_save) :void
170 (cr :pointer))
171
172 (cffi:defcfun ("cairo_restore" cairo_restore) :void
173 (cr :pointer))
174
175 (cffi:defcfun ("cairo_push_group" cairo_push_group) :void
176 (cr :pointer))
177
178 (cffi:defcfun ("cairo_push_group_with_content" cairo_push_group_with_content) :void
179 (cr :pointer)
180 (content cairo_content_t))
181
182 (cffi:defcfun ("cairo_pop_group" cairo_pop_group) :pointer
183 (cr :pointer))
184
185 (cffi:defcfun ("cairo_pop_group_to_source" cairo_pop_group_to_source) :void
186 (cr :pointer))
187
188 (cffi:defcenum cairo_operator_t
189 :CAIRO_OPERATOR_CLEAR
190 :CAIRO_OPERATOR_SOURCE
191 :CAIRO_OPERATOR_OVER
192 :CAIRO_OPERATOR_IN
193 :CAIRO_OPERATOR_OUT
194 :CAIRO_OPERATOR_ATOP
195 :CAIRO_OPERATOR_DEST
196 :CAIRO_OPERATOR_DEST_OVER
197 :CAIRO_OPERATOR_DEST_IN
198 :CAIRO_OPERATOR_DEST_OUT
199 :CAIRO_OPERATOR_DEST_ATOP
200 :CAIRO_OPERATOR_XOR
201 :CAIRO_OPERATOR_ADD
202 :CAIRO_OPERATOR_SATURATE)
203
204 (cffi:defcfun ("cairo_set_operator" cairo_set_operator) :void
205 (cr :pointer)
206 (op cairo_operator_t))
207
208 (cffi:defcfun ("cairo_set_source" cairo_set_source) :void
209 (cr :pointer)
210 (source :pointer))
211
212 (cffi:defcfun ("cairo_set_source_rgb" cairo_set_source_rgb) :void
213 (cr :pointer)
214 (red my-double)
215 (green my-double)
216 (blue my-double))
217
218 (cffi:defcfun ("cairo_set_source_rgba" cairo_set_source_rgba) :void
219 (cr :pointer)
220 (red my-double)
221 (green my-double)
222 (blue my-double)
223 (alpha my-double))
224
225 (cffi:defcfun ("cairo_set_source_surface" cairo_set_source_surface) :void
226 (cr :pointer)
227 (surface :pointer)
228 (x my-double)
229 (y my-double))
230
231 (cffi:defcfun ("cairo_set_tolerance" cairo_set_tolerance) :void
232 (cr :pointer)
233 (tolerance my-double))
234
235 (cffi:defcenum cairo_antialias_t
236 :CAIRO_ANTIALIAS_DEFAULT
237 :CAIRO_ANTIALIAS_NONE
238 :CAIRO_ANTIALIAS_GRAY
239 :CAIRO_ANTIALIAS_SUBPIXEL)
240
241 (cffi:defcfun ("cairo_set_antialias" cairo_set_antialias) :void
242 (cr :pointer)
243 (antialias cairo_antialias_t))
244
245 (cffi:defcenum cairo_fill_rule_t
246 :CAIRO_FILL_RULE_WINDING
247 :CAIRO_FILL_RULE_EVEN_ODD)
248
249 (cffi:defcfun ("cairo_set_fill_rule" cairo_set_fill_rule) :void
250 (cr :pointer)
251 (fill_rule cairo_fill_rule_t))
252
253 (cffi:defcfun ("cairo_set_line_width" cairo_set_line_width) :void
254 (cr :pointer)
255 (width my-double))
256
257 (cffi:defcenum cairo_line_cap_t
258 :CAIRO_LINE_CAP_BUTT
259 :CAIRO_LINE_CAP_ROUND
260 :CAIRO_LINE_CAP_SQUARE)
261
262 (cffi:defcfun ("cairo_set_line_cap" cairo_set_line_cap) :void
263 (cr :pointer)
264 (line_cap cairo_line_cap_t))
265
266 (cffi:defcenum cairo_line_join_t
267 :CAIRO_LINE_JOIN_MITER
268 :CAIRO_LINE_JOIN_ROUND
269 :CAIRO_LINE_JOIN_BEVEL)
270
271 (cffi:defcfun ("cairo_set_line_join" cairo_set_line_join) :void
272 (cr :pointer)
273 (line_join cairo_line_join_t))
274
275 (cffi:defcfun ("cairo_set_dash" cairo_set_dash) :void
276 (cr :pointer)
277 (dashes :pointer)
278 (num_dashes :int)
279 (offset my-double))
280
281 (cffi:defcfun ("cairo_set_miter_limit" cairo_set_miter_limit) :void
282 (cr :pointer)
283 (limit my-double))
284
285 (cffi:defcfun ("cairo_translate" cairo_translate) :void
286 (cr :pointer)
287 (tx my-double)
288 (ty my-double))
289
290 (cffi:defcfun ("cairo_scale" cairo_scale) :void
291 (cr :pointer)
292 (sx my-double)
293 (sy my-double))
294
295 (cffi:defcfun ("cairo_rotate" cairo_rotate) :void
296 (cr :pointer)
297 (angle my-double))
298
299 (cffi:defcfun ("cairo_transform" cairo_transform) :void
300 (cr :pointer)
301 (matrix :pointer))
302
303 (cffi:defcfun ("cairo_set_matrix" cairo_set_matrix) :void
304 (cr :pointer)
305 (matrix :pointer))
306
307 (cffi:defcfun ("cairo_identity_matrix" cairo_identity_matrix) :void
308 (cr :pointer))
309
310 (cffi:defcfun ("cairo_user_to_device" cairo_user_to_device) :void
311 (cr :pointer)
312 (x :pointer)
313 (y :pointer))
314
315 (cffi:defcfun ("cairo_user_to_device_distance" cairo_user_to_device_distance) :void
316 (cr :pointer)
317 (dx :pointer)
318 (dy :pointer))
319
320 (cffi:defcfun ("cairo_device_to_user" cairo_device_to_user) :void
321 (cr :pointer)
322 (x :pointer)
323 (y :pointer))
324
325 (cffi:defcfun ("cairo_device_to_user_distance" cairo_device_to_user_distance) :void
326 (cr :pointer)
327 (dx :pointer)
328 (dy :pointer))
329
330 (cffi:defcfun ("cairo_new_path" cairo_new_path) :void
331 (cr :pointer))
332
333 (cffi:defcfun ("cairo_move_to" cairo_move_to) :void
334 (cr :pointer)
335 (x my-double)
336 (y my-double))
337
338 (cffi:defcfun ("cairo_new_sub_path" cairo_new_sub_path) :void
339 (cr :pointer))
340
341 (cffi:defcfun ("cairo_line_to" cairo_line_to) :void
342 (cr :pointer)
343 (x my-double)
344 (y my-double))
345
346 (cffi:defcfun ("cairo_curve_to" cairo_curve_to) :void
347 (cr :pointer)
348 (x1 my-double)
349 (y1 my-double)
350 (x2 my-double)
351 (y2 my-double)
352 (x3 my-double)
353 (y3 my-double))
354
355 (cffi:defcfun ("cairo_arc" cairo_arc) :void
356 (cr :pointer)
357 (xc my-double)
358 (yc my-double)
359 (radius my-double)
360 (angle1 my-double)
361 (angle2 my-double))
362
363 (cffi:defcfun ("cairo_arc_negative" cairo_arc_negative) :void
364 (cr :pointer)
365 (xc my-double)
366 (yc my-double)
367 (radius my-double)
368 (angle1 my-double)
369 (angle2 my-double))
370
371 (cffi:defcfun ("cairo_rel_move_to" cairo_rel_move_to) :void
372 (cr :pointer)
373 (dx my-double)
374 (dy my-double))
375
376 (cffi:defcfun ("cairo_rel_line_to" cairo_rel_line_to) :void
377 (cr :pointer)
378 (dx my-double)
379 (dy my-double))
380
381 (cffi:defcfun ("cairo_rel_curve_to" cairo_rel_curve_to) :void
382 (cr :pointer)
383 (dx1 my-double)
384 (dy1 my-double)
385 (dx2 my-double)
386 (dy2 my-double)
387 (dx3 my-double)
388 (dy3 my-double))
389
390 (cffi:defcfun ("cairo_rectangle" cairo_rectangle) :void
391 (cr :pointer)
392 (x my-double)
393 (y my-double)
394 (width my-double)
395 (height my-double))
396
397 (cffi:defcfun ("cairo_close_path" cairo_close_path) :void
398 (cr :pointer))
399
400 (cffi:defcfun ("cairo_paint" cairo_paint) :void
401 (cr :pointer))
402
403 (cffi:defcfun ("cairo_paint_with_alpha" cairo_paint_with_alpha) :void
404 (cr :pointer)
405 (alpha my-double))
406
407 (cffi:defcfun ("cairo_mask" cairo_mask) :void
408 (cr :pointer)
409 (pattern :pointer))
410
411 (cffi:defcfun ("cairo_mask_surface" cairo_mask_surface) :void
412 (cr :pointer)
413 (surface :pointer)
414 (surface_x my-double)
415 (surface_y my-double))
416
417 (cffi:defcfun ("cairo_stroke" cairo_stroke) :void
418 (cr :pointer))
419
420 (cffi:defcfun ("cairo_stroke_preserve" cairo_stroke_preserve) :void
421 (cr :pointer))
422
423 (cffi:defcfun ("cairo_fill" cairo_fill) :void
424 (cr :pointer))
425
426 (cffi:defcfun ("cairo_fill_preserve" cairo_fill_preserve) :void
427 (cr :pointer))
428
429 (cffi:defcfun ("cairo_copy_page" cairo_copy_page) :void
430 (cr :pointer))
431
432 (cffi:defcfun ("cairo_show_page" cairo_show_page) :void
433 (cr :pointer))
434
435 (cffi:defcfun ("cairo_in_stroke" cairo_in_stroke) :int
436 (cr :pointer)
437 (x my-double)
438 (y my-double))
439
440 (cffi:defcfun ("cairo_in_fill" cairo_in_fill) :int
441 (cr :pointer)
442 (x my-double)
443 (y my-double))
444
445 (cffi:defcfun ("cairo_stroke_extents" cairo_stroke_extents) :void
446 (cr :pointer)
447 (x1 :pointer)
448 (y1 :pointer)
449 (x2 :pointer)
450 (y2 :pointer))
451
452 (cffi:defcfun ("cairo_fill_extents" cairo_fill_extents) :void
453 (cr :pointer)
454 (x1 :pointer)
455 (y1 :pointer)
456 (x2 :pointer)
457 (y2 :pointer))
458
459 (cffi:defcfun ("cairo_reset_clip" cairo_reset_clip) :void
460 (cr :pointer))
461
462 (cffi:defcfun ("cairo_clip" cairo_clip) :void
463 (cr :pointer))
464
465 (cffi:defcfun ("cairo_clip_preserve" cairo_clip_preserve) :void
466 (cr :pointer))
467
468 (cffi:defcfun ("cairo_clip_extents" cairo_clip_extents) :void
469 (cr :pointer)
470 (x1 :pointer)
471 (y1 :pointer)
472 (x2 :pointer)
473 (y2 :pointer))
474
475 (cffi:defcstruct cairo_rectangle_t
476 (x my-double)
477 (y my-double)
478 (width my-double)
479 (height my-double))
480
481 (cffi:defcstruct cairo_rectangle_list_t
482 (status cairo_status_t)
483 (rectangles :pointer)
484 (num_rectangles :int))
485
486 (cffi:defcfun ("cairo_copy_clip_rectangle_list" cairo_copy_clip_rectangle_list) :pointer
487 (cr :pointer))
488
489 (cffi:defcfun ("cairo_rectangle_list_destroy" cairo_rectangle_list_destroy) :void
490 (rectangle_list :pointer))
491
492 (cffi:defcstruct cairo_glyph_t
493 (index :unsigned-long)
494 (x my-double)
495 (y my-double))
496
497 (cffi:defcstruct cairo_text_extents_t
498 (x_bearing my-double)
499 (y_bearing my-double)
500 (width my-double)
501 (height my-double)
502 (x_advance my-double)
503 (y_advance my-double))
504
505 (cffi:defcstruct cairo_font_extents_t
506 (ascent my-double)
507 (descent my-double)
508 (height my-double)
509 (max_x_advance my-double)
510 (max_y_advance my-double))
511
512 (cffi:defcenum cairo_font_slant_t
513 :CAIRO_FONT_SLANT_NORMAL
514 :CAIRO_FONT_SLANT_ITALIC
515 :CAIRO_FONT_SLANT_OBLIQUE)
516
517 (cffi:defcenum cairo_font_weight_t
518 :CAIRO_FONT_WEIGHT_NORMAL
519 :CAIRO_FONT_WEIGHT_BOLD)
520
521 (cffi:defcenum cairo_subpixel_order_t
522 :CAIRO_SUBPIXEL_ORDER_DEFAULT
523 :CAIRO_SUBPIXEL_ORDER_RGB
524 :CAIRO_SUBPIXEL_ORDER_BGR
525 :CAIRO_SUBPIXEL_ORDER_VRGB
526 :CAIRO_SUBPIXEL_ORDER_VBGR)
527
528 (cffi:defcenum cairo_hint_style_t
529 :CAIRO_HINT_STYLE_DEFAULT
530 :CAIRO_HINT_STYLE_NONE
531 :CAIRO_HINT_STYLE_SLIGHT
532 :CAIRO_HINT_STYLE_MEDIUM
533 :CAIRO_HINT_STYLE_FULL)
534
535 (cffi:defcenum cairo_hint_metrics_t
536 :CAIRO_HINT_METRICS_DEFAULT
537 :CAIRO_HINT_METRICS_OFF
538 :CAIRO_HINT_METRICS_ON)
539
540 (cffi:defcfun ("cairo_font_options_create" cairo_font_options_create) :pointer)
541
542 (cffi:defcfun ("cairo_font_options_copy" cairo_font_options_copy) :pointer
543 (original :pointer))
544
545 (cffi:defcfun ("cairo_font_options_destroy" cairo_font_options_destroy) :void
546 (options :pointer))
547
548 (cffi:defcfun ("cairo_font_options_status" cairo_font_options_status) cairo_status_t
549 (options :pointer))
550
551 (cffi:defcfun ("cairo_font_options_merge" cairo_font_options_merge) :void
552 (options :pointer)
553 (other :pointer))
554
555 (cffi:defcfun ("cairo_font_options_equal" cairo_font_options_equal) :int
556 (options :pointer)
557 (other :pointer))
558
559 (cffi:defcfun ("cairo_font_options_hash" cairo_font_options_hash) :unsigned-long
560 (options :pointer))
561
562 (cffi:defcfun ("cairo_font_options_set_antialias" cairo_font_options_set_antialias) :void
563 (options :pointer)
564 (antialias cairo_antialias_t))
565
566 (cffi:defcfun ("cairo_font_options_get_antialias" cairo_font_options_get_antialias) cairo_antialias_t
567 (options :pointer))
568
569 (cffi:defcfun ("cairo_font_options_set_subpixel_order" cairo_font_options_set_subpixel_order) :void
570 (options :pointer)
571 (subpixel_order cairo_subpixel_order_t))
572
573 (cffi:defcfun ("cairo_font_options_get_subpixel_order" cairo_font_options_get_subpixel_order) cairo_subpixel_order_t
574 (options :pointer))
575
576 (cffi:defcfun ("cairo_font_options_set_hint_style" cairo_font_options_set_hint_style) :void
577 (options :pointer)
578 (hint_style cairo_hint_style_t))
579
580 (cffi:defcfun ("cairo_font_options_get_hint_style" cairo_font_options_get_hint_style) cairo_hint_style_t
581 (options :pointer))
582
583 (cffi:defcfun ("cairo_font_options_set_hint_metrics" cairo_font_options_set_hint_metrics) :void
584 (options :pointer)
585 (hint_metrics cairo_hint_metrics_t))
586
587 (cffi:defcfun ("cairo_font_options_get_hint_metrics" cairo_font_options_get_hint_metrics) cairo_hint_metrics_t
588 (options :pointer))
589
590 (cffi:defcfun ("cairo_select_font_face" cairo_select_font_face) :void
591 (cr :pointer)
592 (family :string)
593 (slant cairo_font_slant_t)
594 (weight cairo_font_weight_t))
595
596 (cffi:defcfun ("cairo_set_font_size" cairo_set_font_size) :void
597 (cr :pointer)
598 (size my-double))
599
600 (cffi:defcfun ("cairo_set_font_matrix" cairo_set_font_matrix) :void
601 (cr :pointer)
602 (matrix :pointer))
603
604 (cffi:defcfun ("cairo_get_font_matrix" cairo_get_font_matrix) :void
605 (cr :pointer)
606 (matrix :pointer))
607
608 (cffi:defcfun ("cairo_set_font_options" cairo_set_font_options) :void
609 (cr :pointer)
610 (options :pointer))
611
612 (cffi:defcfun ("cairo_get_font_options" cairo_get_font_options) :void
613 (cr :pointer)
614 (options :pointer))
615
616 (cffi:defcfun ("cairo_set_font_face" cairo_set_font_face) :void
617 (cr :pointer)
618 (font_face :pointer))
619
620 (cffi:defcfun ("cairo_get_font_face" cairo_get_font_face) :pointer
621 (cr :pointer))
622
623 (cffi:defcfun ("cairo_set_scaled_font" cairo_set_scaled_font) :void
624 (cr :pointer)
625 (scaled_font :pointer))
626
627 (cffi:defcfun ("cairo_get_scaled_font" cairo_get_scaled_font) :pointer
628 (cr :pointer))
629
630 (cffi:defcfun ("cairo_show_text" cairo_show_text) :void
631 (cr :pointer)
632 (utf8 :string))
633
634 (cffi:defcfun ("cairo_show_glyphs" cairo_show_glyphs) :void
635 (cr :pointer)
636 (glyphs :pointer)
637 (num_glyphs :int))
638
639 (cffi:defcfun ("cairo_text_path" cairo_text_path) :void
640 (cr :pointer)
641 (utf8 :string))
642
643 (cffi:defcfun ("cairo_glyph_path" cairo_glyph_path) :void
644 (cr :pointer)
645 (glyphs :pointer)
646 (num_glyphs :int))
647
648 (cffi:defcfun ("cairo_text_extents" cairo_text_extents) :void
649 (cr :pointer)
650 (utf8 :string)
651 (extents :pointer))
652
653 (cffi:defcfun ("cairo_glyph_extents" cairo_glyph_extents) :void
654 (cr :pointer)
655 (glyphs :pointer)
656 (num_glyphs :int)
657 (extents :pointer))
658
659 (cffi:defcfun ("cairo_font_extents" cairo_font_extents) :void
660 (cr :pointer)
661 (extents :pointer))
662
663 (cffi:defcfun ("cairo_font_face_reference" cairo_font_face_reference) :pointer
664 (font_face :pointer))
665
666 (cffi:defcfun ("cairo_font_face_destroy" cairo_font_face_destroy) :void
667 (font_face :pointer))
668
669 (cffi:defcfun ("cairo_font_face_get_reference_count" cairo_font_face_get_reference_count) :unsigned-int
670 (font_face :pointer))
671
672 (cffi:defcfun ("cairo_font_face_status" cairo_font_face_status) cairo_status_t
673 (font_face :pointer))
674
675 (cffi:defcenum cairo_font_type_t
676 :CAIRO_FONT_TYPE_TOY
677 :CAIRO_FONT_TYPE_FT
678 :CAIRO_FONT_TYPE_WIN32
679 :CAIRO_FONT_TYPE_ATSUI)
680
681 (cffi:defcfun ("cairo_font_face_get_type" cairo_font_face_get_type) cairo_font_type_t
682 (font_face :pointer))
683
684 (cffi:defcfun ("cairo_font_face_get_user_data" cairo_font_face_get_user_data) :pointer
685 (font_face :pointer)
686 (key :pointer))
687
688 (cffi:defcfun ("cairo_font_face_set_user_data" cairo_font_face_set_user_data) cairo_status_t
689 (font_face :pointer)
690 (key :pointer)
691 (user_data :pointer)
692 (destroy :pointer))
693
694 (cffi:defcfun ("cairo_scaled_font_create" cairo_scaled_font_create) :pointer
695 (font_face :pointer)
696 (font_matrix :pointer)
697 (ctm :pointer)
698 (options :pointer))
699
700 (cffi:defcfun ("cairo_scaled_font_reference" cairo_scaled_font_reference) :pointer
701 (scaled_font :pointer))
702
703 (cffi:defcfun ("cairo_scaled_font_destroy" cairo_scaled_font_destroy) :void
704 (scaled_font :pointer))
705
706 (cffi:defcfun ("cairo_scaled_font_get_reference_count" cairo_scaled_font_get_reference_count) :unsigned-int
707 (scaled_font :pointer))
708
709 (cffi:defcfun ("cairo_scaled_font_status" cairo_scaled_font_status) cairo_status_t
710 (scaled_font :pointer))
711
712 (cffi:defcfun ("cairo_scaled_font_get_type" cairo_scaled_font_get_type) cairo_font_type_t
713 (scaled_font :pointer))
714
715 (cffi:defcfun ("cairo_scaled_font_get_user_data" cairo_scaled_font_get_user_data) :pointer
716 (scaled_font :pointer)
717 (key :pointer))
718
719 (cffi:defcfun ("cairo_scaled_font_set_user_data" cairo_scaled_font_set_user_data) cairo_status_t
720 (scaled_font :pointer)
721 (key :pointer)
722 (user_data :pointer)
723 (destroy :pointer))
724
725 (cffi:defcfun ("cairo_scaled_font_extents" cairo_scaled_font_extents) :void
726 (scaled_font :pointer)
727 (extents :pointer))
728
729 (cffi:defcfun ("cairo_scaled_font_text_extents" cairo_scaled_font_text_extents) :void
730 (scaled_font :pointer)
731 (utf8 :string)
732 (extents :pointer))
733
734 (cffi:defcfun ("cairo_scaled_font_glyph_extents" cairo_scaled_font_glyph_extents) :void
735 (scaled_font :pointer)
736 (glyphs :pointer)
737 (num_glyphs :int)
738 (extents :pointer))
739
740 (cffi:defcfun ("cairo_scaled_font_get_font_face" cairo_scaled_font_get_font_face) :pointer
741 (scaled_font :pointer))
742
743 (cffi:defcfun ("cairo_scaled_font_get_font_matrix" cairo_scaled_font_get_font_matrix) :void
744 (scaled_font :pointer)
745 (font_matrix :pointer))
746
747 (cffi:defcfun ("cairo_scaled_font_get_ctm" cairo_scaled_font_get_ctm) :void
748 (scaled_font :pointer)
749 (ctm :pointer))
750
751 (cffi:defcfun ("cairo_scaled_font_get_font_options" cairo_scaled_font_get_font_options) :void
752 (scaled_font :pointer)
753 (options :pointer))
754
755 (cffi:defcfun ("cairo_get_operator" cairo_get_operator) cairo_operator_t
756 (cr :pointer))
757
758 (cffi:defcfun ("cairo_get_source" cairo_get_source) :pointer
759 (cr :pointer))
760
761 (cffi:defcfun ("cairo_get_tolerance" cairo_get_tolerance) :double
762 (cr :pointer))
763
764 (cffi:defcfun ("cairo_get_antialias" cairo_get_antialias) cairo_antialias_t
765 (cr :pointer))
766
767 (cffi:defcfun ("cairo_get_current_point" cairo_get_current_point) :void
768 (cr :pointer)
769 (x :pointer)
770 (y :pointer))
771
772 (cffi:defcfun ("cairo_get_fill_rule" cairo_get_fill_rule) cairo_fill_rule_t
773 (cr :pointer))
774
775 (cffi:defcfun ("cairo_get_line_width" cairo_get_line_width) :double
776 (cr :pointer))
777
778 (cffi:defcfun ("cairo_get_line_cap" cairo_get_line_cap) cairo_line_cap_t
779 (cr :pointer))
780
781 (cffi:defcfun ("cairo_get_line_join" cairo_get_line_join) cairo_line_join_t
782 (cr :pointer))
783
784 (cffi:defcfun ("cairo_get_miter_limit" cairo_get_miter_limit) :double
785 (cr :pointer))
786
787 (cffi:defcfun ("cairo_get_dash_count" cairo_get_dash_count) :int
788 (cr :pointer))
789
790 (cffi:defcfun ("cairo_get_dash" cairo_get_dash) :void
791 (cr :pointer)
792 (dashes :pointer)
793 (offset :pointer))
794
795 (cffi:defcfun ("cairo_get_matrix" cairo_get_matrix) :void
796 (cr :pointer)
797 (matrix :pointer))
798
799 (cffi:defcfun ("cairo_get_target" cairo_get_target) :pointer
800 (cr :pointer))
801
802 (cffi:defcfun ("cairo_get_group_target" cairo_get_group_target) :pointer
803 (cr :pointer))
804
805 (cffi:defcenum cairo_path_data_type_t
806 :CAIRO_PATH_MOVE_TO
807 :CAIRO_PATH_LINE_TO
808 :CAIRO_PATH_CURVE_TO
809 :CAIRO_PATH_CLOSE_PATH)
810
811 (cffi:defcunion _cairo_path_data_t
812 (point :pointer)
813 (header :pointer))
814
815 (cffi:defcstruct _cairo_path_data_t_point
816 (x my-double)
817 (y my-double))
818
819 (cffi:defcstruct _cairo_path_data_t_header
820 (type cairo_path_data_type_t)
821 (length :int))
822
823 (cffi:defcstruct cairo_path_t
824 (status cairo_status_t)
825 (data :pointer)
826 (num_data :int))
827
828 (cffi:defcfun ("cairo_copy_path" cairo_copy_path) :pointer
829 (cr :pointer))
830
831 (cffi:defcfun ("cairo_copy_path_flat" cairo_copy_path_flat) :pointer
832 (cr :pointer))
833
834 (cffi:defcfun ("cairo_append_path" cairo_append_path) :void
835 (cr :pointer)
836 (path :pointer))
837
838 (cffi:defcfun ("cairo_path_destroy" cairo_path_destroy) :void
839 (path :pointer))
840
841 (cffi:defcfun ("cairo_status" cairo_status) cairo_status_t
842 (cr :pointer))
843
844 (cffi:defcfun ("cairo_status_to_string" cairo_status_to_string) :string
845 (status cairo_status_t))
846
847 (cffi:defcfun ("cairo_surface_create_similar" cairo_surface_create_similar) :pointer
848 (other :pointer)
849 (content cairo_content_t)
850 (width :int)
851 (height :int))
852
853 (cffi:defcfun ("cairo_surface_reference" cairo_surface_reference) :pointer
854 (surface :pointer))
855
856 (cffi:defcfun ("cairo_surface_finish" cairo_surface_finish) :void
857 (surface :pointer))
858
859 (cffi:defcfun ("cairo_surface_destroy" cairo_surface_destroy) :void
860 (surface :pointer))
861
862 (cffi:defcfun ("cairo_surface_get_reference_count" cairo_surface_get_reference_count) :unsigned-int
863 (surface :pointer))
864
865 (cffi:defcfun ("cairo_surface_status" cairo_surface_status) cairo_status_t
866 (surface :pointer))
867
868 (cffi:defcenum cairo_surface_type_t
869 :CAIRO_SURFACE_TYPE_IMAGE
870 :CAIRO_SURFACE_TYPE_PDF
871 :CAIRO_SURFACE_TYPE_PS
872 :CAIRO_SURFACE_TYPE_XLIB
873 :CAIRO_SURFACE_TYPE_XCB
874 :CAIRO_SURFACE_TYPE_GLITZ
875 :CAIRO_SURFACE_TYPE_QUARTZ
876 :CAIRO_SURFACE_TYPE_WIN32
877 :CAIRO_SURFACE_TYPE_BEOS
878 :CAIRO_SURFACE_TYPE_DIRECTFB
879 :CAIRO_SURFACE_TYPE_SVG
880 :CAIRO_SURFACE_TYPE_OS2)
881
882 (cffi:defcfun ("cairo_surface_get_type" cairo_surface_get_type) cairo_surface_type_t
883 (surface :pointer))
884
885 (cffi:defcfun ("cairo_surface_get_content" cairo_surface_get_content) cairo_content_t
886 (surface :pointer))
887
888 (cffi:defcfun ("cairo_surface_write_to_png" cairo_surface_write_to_png) cairo_status_t
889 (surface :pointer)
890 (filename :string))
891
892 (cffi:defcfun ("cairo_surface_write_to_png_stream" cairo_surface_write_to_png_stream) cairo_status_t
893 (surface :pointer)
894 (write_func :pointer)
895 (closure :pointer))
896
897 (cffi:defcfun ("cairo_surface_get_user_data" cairo_surface_get_user_data) :pointer
898 (surface :pointer)
899 (key :pointer))
900
901 (cffi:defcfun ("cairo_surface_set_user_data" cairo_surface_set_user_data) cairo_status_t
902 (surface :pointer)
903 (key :pointer)
904 (user_data :pointer)
905 (destroy :pointer))
906
907 (cffi:defcfun ("cairo_surface_get_font_options" cairo_surface_get_font_options) :void
908 (surface :pointer)
909 (options :pointer))
910
911 (cffi:defcfun ("cairo_surface_flush" cairo_surface_flush) :void
912 (surface :pointer))
913
914 (cffi:defcfun ("cairo_surface_mark_dirty" cairo_surface_mark_dirty) :void
915 (surface :pointer))
916
917 (cffi:defcfun ("cairo_surface_mark_dirty_rectangle" cairo_surface_mark_dirty_rectangle) :void
918 (surface :pointer)
919 (x :int)
920 (y :int)
921 (width :int)
922 (height :int))
923
924 (cffi:defcfun ("cairo_surface_set_device_offset" cairo_surface_set_device_offset) :void
925 (surface :pointer)
926 (x_offset my-double)
927 (y_offset my-double))
928
929 (cffi:defcfun ("cairo_surface_get_device_offset" cairo_surface_get_device_offset) :void
930 (surface :pointer)
931 (x_offset :pointer)
932 (y_offset :pointer))
933
934 (cffi:defcfun ("cairo_surface_set_fallback_resolution" cairo_surface_set_fallback_resolution) :void
935 (surface :pointer)
936 (x_pixels_per_inch my-double)
937 (y_pixels_per_inch my-double))
938
939 (cffi:defcenum cairo_format_t
940 :CAIRO_FORMAT_ARGB32
941 :CAIRO_FORMAT_RGB24
942 :CAIRO_FORMAT_A8
943 :CAIRO_FORMAT_A1)
944
945 (cffi:defcfun ("cairo_image_surface_create" cairo_image_surface_create) :pointer
946 (format cairo_format_t)
947 (width :int)
948 (height :int))
949
950 (cffi:defcfun ("cairo_image_surface_create_for_data" cairo_image_surface_create_for_data) :pointer
951 (data :pointer)
952 (format cairo_format_t)
953 (width :int)
954 (height :int)
955 (stride :int))
956
957 (cffi:defcfun ("cairo_image_surface_get_data" cairo_image_surface_get_data) :pointer
958 (surface :pointer))
959
960 (cffi:defcfun ("cairo_image_surface_get_format" cairo_image_surface_get_format) cairo_format_t
961 (surface :pointer))
962
963 (cffi:defcfun ("cairo_image_surface_get_width" cairo_image_surface_get_width) :int
964 (surface :pointer))
965
966 (cffi:defcfun ("cairo_image_surface_get_height" cairo_image_surface_get_height) :int
967 (surface :pointer))
968
969 (cffi:defcfun ("cairo_image_surface_get_stride" cairo_image_surface_get_stride) :int
970 (surface :pointer))
971
972 (cffi:defcfun ("cairo_image_surface_create_from_png" cairo_image_surface_create_from_png) :pointer
973 (filename :string))
974
975 (cffi:defcfun ("cairo_image_surface_create_from_png_stream" cairo_image_surface_create_from_png_stream) :pointer
976 (read_func :pointer)
977 (closure :pointer))
978
979 (cffi:defcfun ("cairo_pattern_create_rgb" cairo_pattern_create_rgb) :pointer
980 (red my-double)
981 (green my-double)
982 (blue my-double))
983
984 (cffi:defcfun ("cairo_pattern_create_rgba" cairo_pattern_create_rgba) :pointer
985 (red my-double)
986 (green my-double)
987 (blue my-double)
988 (alpha my-double))
989
990 (cffi:defcfun ("cairo_pattern_create_for_surface" cairo_pattern_create_for_surface) :pointer
991 (surface :pointer))
992
993 (cffi:defcfun ("cairo_pattern_create_linear" cairo_pattern_create_linear) :pointer
994 (x0 my-double)
995 (y0 my-double)
996 (x1 my-double)
997 (y1 my-double))
998
999 (cffi:defcfun ("cairo_pattern_create_radial" cairo_pattern_create_radial) :pointer
1000 (cx0 my-double)
1001 (cy0 my-double)
1002 (radius0 my-double)
1003 (cx1 my-double)
1004 (cy1 my-double)
1005 (radius1 my-double))
1006
1007 (cffi:defcfun ("cairo_pattern_reference" cairo_pattern_reference) :pointer
1008 (pattern :pointer))
1009
1010 (cffi:defcfun ("cairo_pattern_destroy" cairo_pattern_destroy) :void
1011 (pattern :pointer))
1012
1013 (cffi:defcfun ("cairo_pattern_get_reference_count" cairo_pattern_get_reference_count) :unsigned-int
1014 (pattern :pointer))
1015
1016 (cffi:defcfun ("cairo_pattern_status" cairo_pattern_status) cairo_status_t
1017 (pattern :pointer))
1018
1019 (cffi:defcfun ("cairo_pattern_get_user_data" cairo_pattern_get_user_data) :pointer
1020 (pattern :pointer)
1021 (key :pointer))
1022
1023 (cffi:defcfun ("cairo_pattern_set_user_data" cairo_pattern_set_user_data) cairo_status_t
1024 (pattern :pointer)
1025 (key :pointer)
1026 (user_data :pointer)
1027 (destroy :pointer))
1028
1029 (cffi:defcenum cairo_pattern_type_t
1030 :CAIRO_PATTERN_TYPE_SOLID
1031 :CAIRO_PATTERN_TYPE_SURFACE
1032 :CAIRO_PATTERN_TYPE_LINEAR
1033 :CAIRO_PATTERN_TYPE_RADIAL)
1034
1035 (cffi:defcfun ("cairo_pattern_get_type" cairo_pattern_get_type) cairo_pattern_type_t
1036 (pattern :pointer))
1037
1038 (cffi:defcfun ("cairo_pattern_add_color_stop_rgb" cairo_pattern_add_color_stop_rgb) :void
1039 (pattern :pointer)
1040 (offset my-double)
1041 (red my-double)
1042 (green my-double)
1043 (blue my-double))
1044
1045 (cffi:defcfun ("cairo_pattern_add_color_stop_rgba" cairo_pattern_add_color_stop_rgba) :void
1046 (pattern :pointer)
1047 (offset my-double)
1048 (red my-double)
1049 (green my-double)
1050 (blue my-double)
1051 (alpha my-double))
1052
1053 (cffi:defcfun ("cairo_pattern_set_matrix" cairo_pattern_set_matrix) :void
1054 (pattern :pointer)
1055 (matrix :pointer))
1056
1057 (cffi:defcfun ("cairo_pattern_get_matrix" cairo_pattern_get_matrix) :void
1058 (pattern :pointer)
1059 (matrix :pointer))
1060
1061 (cffi:defcenum cairo_extend_t
1062 :CAIRO_EXTEND_NONE
1063 :CAIRO_EXTEND_REPEAT
1064 :CAIRO_EXTEND_REFLECT
1065 :CAIRO_EXTEND_PAD)
1066
1067 (cffi:defcfun ("cairo_pattern_set_extend" cairo_pattern_set_extend) :void
1068 (pattern :pointer)
1069 (extend cairo_extend_t))
1070
1071 (cffi:defcfun ("cairo_pattern_get_extend" cairo_pattern_get_extend) cairo_extend_t
1072 (pattern :pointer))
1073
1074 (cffi:defcenum cairo_filter_t
1075 :CAIRO_FILTER_FAST
1076 :CAIRO_FILTER_GOOD
1077 :CAIRO_FILTER_BEST
1078 :CAIRO_FILTER_NEAREST
1079 :CAIRO_FILTER_BILINEAR
1080 :CAIRO_FILTER_GAUSSIAN)
1081
1082 (cffi:defcfun ("cairo_pattern_set_filter" cairo_pattern_set_filter) :void
1083 (pattern :pointer)
1084 (filter cairo_filter_t))
1085
1086 (cffi:defcfun ("cairo_pattern_get_filter" cairo_pattern_get_filter) cairo_filter_t
1087 (pattern :pointer))
1088
1089 (cffi:defcfun ("cairo_pattern_get_rgba" cairo_pattern_get_rgba) cairo_status_t
1090 (pattern :pointer)
1091 (red :pointer)
1092 (green :pointer)
1093 (blue :pointer)
1094 (alpha :pointer))
1095
1096 (cffi:defcfun ("cairo_pattern_get_surface" cairo_pattern_get_surface) cairo_status_t
1097 (pattern :pointer)
1098 (surface :pointer))
1099
1100 (cffi:defcfun ("cairo_pattern_get_color_stop_rgba" cairo_pattern_get_color_stop_rgba) cairo_status_t
1101 (pattern :pointer)
1102 (index :int)
1103 (offset :pointer)
1104 (red :pointer)
1105 (green :pointer)
1106 (blue :pointer)
1107 (alpha :pointer))
1108
1109 (cffi:defcfun ("cairo_pattern_get_color_stop_count" cairo_pattern_get_color_stop_count) cairo_status_t
1110 (pattern :pointer)
1111 (count :pointer))
1112
1113 (cffi:defcfun ("cairo_pattern_get_linear_points" cairo_pattern_get_linear_points) cairo_status_t
1114 (pattern :pointer)
1115 (x0 :pointer)
1116 (y0 :pointer)
1117 (x1 :pointer)
1118 (y1 :pointer))
1119
1120 (cffi:defcfun ("cairo_pattern_get_radial_circles" cairo_pattern_get_radial_circles) cairo_status_t
1121 (pattern :pointer)
1122 (x0 :pointer)
1123 (y0 :pointer)
1124 (r0 :pointer)
1125 (x1 :pointer)
1126 (y1 :pointer)
1127 (r1 :pointer))
1128
1129 (cffi:defcfun ("cairo_matrix_init" cairo_matrix_init) :void
1130 (matrix :pointer)
1131 (xx my-double)
1132 (yx my-double)
1133 (xy my-double)
1134 (yy my-double)
1135 (x0 my-double)
1136 (y0 my-double))
1137
1138 (cffi:defcfun ("cairo_matrix_init_identity" cairo_matrix_init_identity) :void
1139 (matrix :pointer))
1140
1141 (cffi:defcfun ("cairo_matrix_init_translate" cairo_matrix_init_translate) :void
1142 (matrix :pointer)
1143 (tx my-double)
1144 (ty my-double))
1145
1146 (cffi:defcfun ("cairo_matrix_init_scale" cairo_matrix_init_scale) :void
1147 (matrix :pointer)
1148 (sx my-double)
1149 (sy my-double))
1150
1151 (cffi:defcfun ("cairo_matrix_init_rotate" cairo_matrix_init_rotate) :void
1152 (matrix :pointer)
1153 (radians my-double))
1154
1155 (cffi:defcfun ("cairo_matrix_translate" cairo_matrix_translate) :void
1156 (matrix :pointer)
1157 (tx my-double)
1158 (ty my-double))
1159
1160 (cffi:defcfun ("cairo_matrix_scale" cairo_matrix_scale) :void
1161 (matrix :pointer)
1162 (sx my-double)
1163 (sy my-double))
1164
1165 (cffi:defcfun ("cairo_matrix_rotate" cairo_matrix_rotate) :void
1166 (matrix :pointer)
1167 (radians my-double))
1168
1169 (cffi:defcfun ("cairo_matrix_invert" cairo_matrix_invert) cairo_status_t
1170 (matrix :pointer))
1171
1172 (cffi:defcfun ("cairo_matrix_multiply" cairo_matrix_multiply) :void
1173 (result :pointer)
1174 (a :pointer)
1175 (b :pointer))
1176
1177 (cffi:defcfun ("cairo_matrix_transform_distance" cairo_matrix_transform_distance) :void
1178 (matrix :pointer)
1179 (dx :pointer)
1180 (dy :pointer))
1181
1182 (cffi:defcfun ("cairo_matrix_transform_point" cairo_matrix_transform_point) :void
1183 (matrix :pointer)
1184 (x :pointer)
1185 (y :pointer))
1186
1187 (cffi:defcfun ("cairo_debug_reset_static_data" cairo_debug_reset_static_data) :void)
1188
1189 (cffi:defcfun ("cairo_ft_font_face_create_for_pattern" cairo_ft_font_face_create_for_pattern) :pointer
1190 (pattern :pointer))
1191
1192 (cffi:defcfun ("cairo_ft_font_options_substitute" cairo_ft_font_options_substitute) :void
1193 (options :pointer)
1194 (pattern :pointer))
1195
1196 (cffi:defcfun ("cairo_ft_font_face_create_for_ft_face" cairo_ft_font_face_create_for_ft_face) :pointer
1197 (face :pointer)
1198 (load_flags :int))
1199
1200 (cffi:defcfun ("cairo_ft_scaled_font_lock_face" cairo_ft_scaled_font_lock_face) :pointer
1201 (scaled_font :pointer))
1202
1203 (cffi:defcfun ("cairo_ft_scaled_font_unlock_face" cairo_ft_scaled_font_unlock_face) :void
1204 (scaled_font :pointer))
1205
1206 (cffi:defcfun ("cairo_ps_surface_create" cairo_ps_surface_create) :pointer
1207 (filename :string)
1208 (width_in_points my-double)
1209 (height_in_points my-double))
1210
1211 (cffi:defcfun ("cairo_ps_surface_create_for_stream" cairo_ps_surface_create_for_stream) :pointer
1212 (write_func :pointer)
1213 (closure :pointer)
1214 (width_in_points my-double)
1215 (height_in_points my-double))
1216
1217 (cffi:defcfun ("cairo_ps_surface_set_size" cairo_ps_surface_set_size) :void
1218 (surface :pointer)
1219 (width_in_points my-double)
1220 (height_in_points my-double))
1221
1222 (cffi:defcfun ("cairo_ps_surface_dsc_comment" cairo_ps_surface_dsc_comment) :void
1223 (surface :pointer)
1224 (comment :string))
1225
1226 (cffi:defcfun ("cairo_ps_surface_dsc_begin_setup" cairo_ps_surface_dsc_begin_setup) :void
1227 (surface :pointer))
1228
1229 (cffi:defcfun ("cairo_ps_surface_dsc_begin_page_setup" cairo_ps_surface_dsc_begin_page_setup) :void
1230 (surface :pointer))
1231
1232 (cffi:defcfun ("cairo_xlib_surface_create_with_xrender_format" cairo_xlib_surface_create_with_xrender_format) :pointer
1233 (dpy :pointer)
1234 (drawable :pointer)
1235 (screen :pointer)
1236 (format :pointer)
1237 (width :int)
1238 (height :int))
1239
1240 (cffi:defcfun ("cairo_pdf_surface_create" cairo_pdf_surface_create) :pointer
1241 (filename :string)
1242 (width_in_points my-double)
1243 (height_in_points my-double))
1244
1245 (cffi:defcfun ("cairo_pdf_surface_create_for_stream" cairo_pdf_surface_create_for_stream) :pointer
1246 (write_func :pointer)
1247 (closure :pointer)
1248 (width_in_points my-double)
1249 (height_in_points my-double))
1250
1251 (cffi:defcfun ("cairo_pdf_surface_set_size" cairo_pdf_surface_set_size) :void
1252 (surface :pointer)
1253 (width_in_points my-double)
1254 (height_in_points my-double))
1255
1256 (cffi:defcenum cairo_svg_version_t
1257 :CAIRO_SVG_VERSION_1_1
1258 :CAIRO_SVG_VERSION_1_2)
1259
1260 (cffi:defcfun ("cairo_svg_surface_create" cairo_svg_surface_create) :pointer
1261 (filename :string)
1262 (width_in_points my-double)
1263 (height_in_points my-double))
1264
1265 (cffi:defcfun ("cairo_svg_surface_create_for_stream" cairo_svg_surface_create_for_stream) :pointer
1266 (write_func :pointer)
1267 (closure :pointer)
1268 (width_in_points my-double)
1269 (height_in_points my-double))
1270
1271 (cffi:defcfun ("cairo_svg_surface_restrict_to_version" cairo_svg_surface_restrict_to_version) :void
1272 (surface :pointer)
1273 (version cairo_svg_version_t))
1274
1275 (cffi:defcfun ("cairo_svg_get_versions" cairo_svg_get_versions) :void
1276 (versions :pointer)
1277 (num_versions :pointer))
1278
1279 (cffi:defcfun ("cairo_svg_version_to_string" cairo_svg_version_to_string) :string
1280 (version cairo_svg_version_t))
1281
1282 (cffi:defcfun ("cairo_xlib_surface_create" cairo_xlib_surface_create) :pointer
1283 (dpy :pointer)
1284 (drawable :pointer)
1285 (visual :pointer)
1286 (width :int)
1287 (height :int))
1288
1289 (cffi:defcfun ("cairo_xlib_surface_create_for_bitmap" cairo_xlib_surface_create_for_bitmap) :pointer
1290 (dpy :pointer)
1291 (bitmap :pointer)
1292 (screen :pointer)
1293 (width :int)
1294 (height :int))
1295
1296 (cffi:defcfun ("cairo_xlib_surface_set_size" cairo_xlib_surface_set_size) :void
1297 (surface :pointer)
1298 (width :int)
1299 (height :int))
1300
1301 (cffi:defcfun ("cairo_xlib_surface_set_drawable" cairo_xlib_surface_set_drawable) :void
1302 (surface :pointer)
1303 (drawable :pointer)
1304 (width :int)
1305 (height :int))
1306
1307 (cffi:defcfun ("cairo_xlib_surface_get_display" cairo_xlib_surface_get_display) :pointer
1308 (surface :pointer))
1309
1310 (cffi:defcfun ("cairo_xlib_surface_get_drawable" cairo_xlib_surface_get_drawable) :pointer
1311 (surface :pointer))
1312
1313 (cffi:defcfun ("cairo_xlib_surface_get_screen" cairo_xlib_surface_get_screen) :pointer
1314 (surface :pointer))
1315
1316 (cffi:defcfun ("cairo_xlib_surface_get_visual" cairo_xlib_surface_get_visual) :pointer
1317 (surface :pointer))
1318
1319 (cffi:defcfun ("cairo_xlib_surface_get_depth" cairo_xlib_surface_get_depth) :int
1320 (surface :pointer))
1321
1322 (cffi:defcfun ("cairo_xlib_surface_get_width" cairo_xlib_surface_get_width) :int
1323 (surface :pointer))
1324
1325 (cffi:defcfun ("cairo_xlib_surface_get_height" cairo_xlib_surface_get_height) :int
1326 (surface :pointer))
1327
1328

  ViewVC Help
Powered by ViewVC 1.1.5