18
19:- module(plcairo, [
20 21 cairo_clip/1,
22 cairo_clip_extents/5,
23 cairo_clip_preserve/1,
24 cairo_copy_clip_rectangle_list/2,
25 cairo_copy_page/1,
26 cairo_create/2,
27 cairo_fill/1,
28 cairo_fill_extents/5,
29 cairo_fill_preserve/1,
30 cairo_get_antialias/2,
31 cairo_get_dash/3,
32 cairo_get_dash_count/2,
33 cairo_get_fill_rule/2,
34 cairo_get_group_target/2,
35 cairo_get_line_cap/2,
36 cairo_get_line_join/2,
37 cairo_get_line_width/2,
38 cairo_get_miter_limit/2,
39 cairo_get_operator/2,
40 cairo_get_source/2,
41 cairo_get_target/2,
42 cairo_get_tolerance/2,
43 cairo_in_clip/3,
44 cairo_in_fill/3,
45 cairo_in_stroke/3,
46 cairo_mask/2,
47 cairo_mask_surface/4,
48 cairo_paint/1,
49 cairo_paint_with_alpha/2,
50 cairo_pop_group/2,
51 cairo_pop_group_to_source/1,
52 cairo_push_group/1,
53 cairo_push_group_with_content/2,
54 cairo_reset_clip/1,
55 cairo_restore/1,
56 cairo_save/1,
57 cairo_set_antialias/2,
58 cairo_set_dash/3,
59 cairo_set_fill_rule/2,
60 cairo_set_line_cap/2,
61 cairo_set_line_join/2,
62 cairo_set_line_width/2,
63 cairo_set_miter_limit/2,
64 cairo_set_operator/2,
65 cairo_set_source/2,
66 cairo_set_source_rgb/4,
67 cairo_set_source_rgba/5,
68 cairo_set_source_surface/4,
69 cairo_set_tolerance/2,
70 cairo_show_page/1,
71 cairo_stroke/1,
72 cairo_stroke_extents/5,
73 cairo_stroke_preserve/1,
74
75 76 cairo_append_path/2,
77 cairo_arc/6,
78 cairo_arc_negative/6,
79 cairo_close_path/1,
80 cairo_copy_path/2,
81 cairo_copy_path_flat/2,
82 cairo_curve_to/7,
83 cairo_get_current_point/3,
84 cairo_glyph_path/2,
85 cairo_has_current_point/2,
86 cairo_line_to/3,
87 cairo_move_to/3,
88 cairo_new_path/1,
89 cairo_new_sub_path/1,
90 cairo_path_extents/5,
91 cairo_rectangle/5,
92 cairo_rel_curve_to/7,
93 cairo_rel_line_to/3,
94 cairo_rel_move_to/3,
95 cairo_text_path/2,
96
97 98 cairo_pattern_add_color_stop_rgb/5,
99 cairo_pattern_add_color_stop_rgba/6,
100 cairo_pattern_create_for_surface/2,
101 cairo_pattern_create_linear/5,
102 cairo_pattern_create_mesh/1,
103 cairo_pattern_create_radial/7,
104 cairo_pattern_create_rgb/4,
105 cairo_pattern_create_rgba/5,
106 cairo_pattern_get_color_stop_count/2,
107 cairo_pattern_get_color_stop_rgba/7,
108 cairo_pattern_get_extend/2,
109 cairo_pattern_get_filter/2,
110 cairo_pattern_get_linear_points/5,
111 cairo_pattern_get_matrix/2,
112 cairo_pattern_get_radial_circles/7,
113 cairo_pattern_get_rgba/5,
114 cairo_pattern_get_surface/2,
115 cairo_pattern_get_type/2,
116 cairo_mesh_pattern_begin_patch/1,
117 cairo_mesh_pattern_curve_to/7,
118 cairo_mesh_pattern_end_patch/1,
119 cairo_mesh_pattern_get_control_point/5,
120 cairo_mesh_pattern_get_corner_color_rgba/7,
121 cairo_mesh_pattern_get_patch_count/2,
122 cairo_mesh_pattern_get_path/3,
123 cairo_mesh_pattern_line_to/3,
124 cairo_mesh_pattern_move_to/3,
125 cairo_mesh_pattern_set_control_point/4,
126 cairo_mesh_pattern_set_corner_color_rgb/5,
127 cairo_mesh_pattern_set_corner_color_rgba/6,
128 cairo_pattern_set_extend/2,
129 cairo_pattern_set_filter/2,
130 cairo_pattern_set_matrix/2,
131
132 133 cairo_region_contains_point/3,
134 cairo_region_contains_rectangle/3,
135 cairo_region_create/1,
136 cairo_region_create_rectangle/2,
137 cairo_region_create_rectangles/2,
138 cairo_region_equal/2,
139 cairo_region_get_extents/2,
140 cairo_region_get_rectangle/3,
141 cairo_region_intersect/2,
142 cairo_region_intersect_rectangle/2,
143 cairo_region_is_empty/1,
144 cairo_region_num_rectangles/2,
145 cairo_region_subtract/2,
146 cairo_region_subtract_rectangle/2,
147 cairo_region_translate/3,
148 cairo_region_union/2,
149 cairo_region_union_rectangle/2,
150 cairo_region_xor/2,
151 cairo_region_xor_rectangle/2,
152
153 154 cairo_device_to_user/5,
155 cairo_device_to_user_distance/5,
156 cairo_get_matrix/2,
157 cairo_identity_matrix/1,
158 cairo_rotate/2,
159 cairo_scale/3,
160 cairo_set_matrix/2,
161 cairo_transform/2,
162 cairo_translate/3,
163 cairo_user_to_device/5,
164 cairo_user_to_device_distance/5,
165
166 167 cairo_font_extents/2,
168 cairo_get_font_face/2,
169 cairo_get_font_matrix/2,
170 cairo_get_font_options/2,
171 cairo_get_scaled_font/2,
172 cairo_glyph_extents/3,
173 cairo_select_font_face/4,
174 cairo_set_font_face/2,
175 cairo_set_font_matrix/2,
176 cairo_set_font_options/2,
177 cairo_set_font_size/2,
178 cairo_set_scaled_font/2,
179 cairo_show_glyphs/2,
180 cairo_show_text/2,
181 cairo_show_text_glyphs/5,
182 cairo_text_extents/3,
183 cairo_toy_font_face_create/4,
184 cairo_toy_font_face_get_family/2,
185 cairo_toy_font_face_get_slant/2,
186 cairo_toy_font_face_get_weight/2,
187
188 189 cairo_pattern_create_raster_source/4,
190
191 192 cairo_tag_begin/3,
193 cairo_tag_end/2,
194
195 196 cairo_font_face_get_type/2,
197
198 199 cairo_scaled_font_create/5,
200 cairo_scaled_font_extents/2,
201 cairo_scaled_font_get_ctm/2,
202 cairo_scaled_font_get_font_face/2,
203 cairo_scaled_font_get_font_matrix/2,
204 cairo_scaled_font_get_font_options/2,
205 cairo_scaled_font_get_scale_matrix/2,
206 cairo_scaled_font_get_type/2,
207 cairo_scaled_font_glyph_extents/3,
208 cairo_scaled_font_text_extents/3,
209 cairo_scaled_font_text_to_glyphs/7,
210
211 212 cairo_font_options_create/1,
213 cairo_font_options_equal/3,
214 cairo_font_options_get_antialias/2,
215 cairo_font_options_get_hint_metrics/2,
216 cairo_font_options_get_hint_style/2,
217 cairo_font_options_get_subpixel_order/2,
218 cairo_font_options_get_variations/2,
219 cairo_font_options_hash/2,
220 cairo_font_options_merge/2,
221 cairo_font_options_set_antialias/2,
222 cairo_font_options_set_hint_metrics/2,
223 cairo_font_options_set_hint_style/2,
224 cairo_font_options_set_subpixel_order/2,
225 cairo_font_options_set_variations/2,
226
231
232 233 cairo_device_acquire/1,
234 cairo_device_finish/1,
235 cairo_device_flush/1,
236 cairo_device_get_type/2,
237 cairo_device_observer_elapsed/2,
238 cairo_device_observer_fill_elapsed/2,
239 cairo_device_observer_glyphs_elapsed/2,
240 cairo_device_observer_mask_elapsed/2,
241 cairo_device_observer_paint_elapsed/2,
242 cairo_device_observer_print/3,
243 cairo_device_observer_stroke_elapsed/2,
244 cairo_device_release/1,
245
246 247 cairo_surface_copy_page/1,
248 cairo_surface_create_for_rectangle/6,
249 cairo_surface_create_similar/5,
250 cairo_surface_create_similar_image/5,
251 cairo_surface_finish/1,
252 cairo_surface_flush/1,
253 cairo_surface_get_content/2,
254 cairo_surface_get_device/2,
255 cairo_surface_get_device_offset/3,
256 cairo_surface_get_device_scale/3,
257 cairo_surface_get_fallback_resolution/3,
258 cairo_surface_get_font_options/2,
259 cairo_surface_get_type/2,
260 cairo_surface_has_show_text_glyphs/1,
261 cairo_surface_map_to_image/3,
262 cairo_surface_mark_dirty/1,
263 cairo_surface_mark_dirty_rectangle/5,
264 cairo_surface_set_device_offset/3,
265 cairo_surface_set_device_scale/3,
266 cairo_surface_set_fallback_resolution/3,
267 cairo_surface_show_page/1,
268 cairo_surface_supports_mime_type/2,
269 cairo_surface_unmap_image/2,
270
271 272 cairo_image_surface_create/4,
273 cairo_image_surface_get_format/2,
274 cairo_image_surface_get_height/2,
275 cairo_image_surface_get_stride/2,
276 cairo_image_surface_get_width/2,
277
278 279 cairo_pdf_get_versions/1,
280 cairo_pdf_surface_add_outline/6,
281 cairo_pdf_surface_create/4,
282 cairo_pdf_surface_create_for_stream/4,
283 cairo_pdf_surface_restrict_to_version/2,
284 cairo_pdf_surface_set_metadata/3,
285 cairo_pdf_surface_set_page_label/2,
286 cairo_pdf_surface_set_size/3,
287 cairo_pdf_surface_set_thumbnail_size/3,
288 cairo_pdf_version_to_string/2,
289
290 291 cairo_image_surface_create_from_png/2,
292 cairo_image_surface_create_from_png_stream/2,
293 cairo_surface_write_to_png/2,
294 cairo_surface_write_to_png_stream/2,
295
296 297 cairo_ps_get_levels/1,
298 cairo_ps_level_to_string/2,
299 cairo_ps_surface_create/4,
300 cairo_ps_surface_create_for_stream/4,
301 cairo_ps_surface_dsc_begin_page_setup/1,
302 cairo_ps_surface_dsc_begin_setup/1,
303 cairo_ps_surface_dsc_comment/2,
304 cairo_ps_surface_get_eps/2,
305 cairo_ps_surface_restrict_to_level/2,
306 cairo_ps_surface_set_eps/2,
307 cairo_ps_surface_set_size/3,
308
309 310 cairo_recording_surface_create/3,
311 cairo_recording_surface_get_extents/2,
312 cairo_recording_surface_ink_extents/5,
313
314 315 cairo_svg_get_versions/1,
316 cairo_svg_surface_create/4,
317 cairo_svg_surface_create_for_stream/4,
318 cairo_svg_surface_get_document_unit/2,
319 cairo_svg_surface_restrict_to_version/2,
320 cairo_svg_surface_set_document_unit/2,
321 cairo_svg_version_to_string/2,
322
323 324 cairo_script_create/2,
325 cairo_script_create_for_stream/2,
326 cairo_script_from_recording_surface/3,
327 cairo_script_get_mode/2,
328 cairo_script_set_mode/2,
329 cairo_script_surface_create/5,
330 cairo_script_surface_create_for_target/3,
331 cairo_script_write_comment/2,
332
333 334 cairo_matrix_init/7,
335 cairo_matrix_init_identity/1,
336 cairo_matrix_init_rotate/2,
337 cairo_matrix_init_scale/3,
338 cairo_matrix_init_translate/3,
339 cairo_matrix_invert/1,
340 cairo_matrix_multiply/3,
341 cairo_matrix_rotate/2,
342 cairo_matrix_scale/3,
343 cairo_matrix_transform_distance/5,
344 cairo_matrix_transform_point/5,
345 cairo_matrix_translate/3,
346
347 348 plcairo_debug/1,
349 plcairo_version/1
350 ]). 351
352
353:- use_module(library(plgi)). 354:- use_foreign_library(foreign(plcairo), install_plcairo). 355
356:- multifile
357 prolog:message/3. 358
359prolog:error_message(plcairo_error(Message)) -->
360 [ 'PLcairo Error: ~w'-[Message] ].
361
362prolog:error_message(cairo_error(Code, Message)) -->
363 [ 'cairo Error: [~w] ~w'-[Code, Message] ]