root/trunk/cairo/cairo/cairofuncs.d

Revision 228, 53.3 kB (checked in by DRK, 5 years ago)

* Updated the bindings to support cairo 1.2 and cairo 1.4. Support for these can be enabled with the cairo_1_2 and cairo_1_4 version identifiers.
* Added pdf, ps and svg support.
* Updated the build script appropriately.
* Note that cairooo is not likely to receive any further updates in its current form. It is being forked and rewritten for Tango's graphics package, although a port back to Phobos isn't out of the question.

Line 
1 /**
2  * This module contains all the "standard" cairo function calls.
3  *
4  * This file is automatically generated; do not directly modify.
5  *
6  * Authors: Daniel Keep
7  * Copyright: 2006, Daniel Keep
8  * License: BSD v2 (http://www.opensource.org/licenses/bsd-license.php).
9  */
10 /*
11  * Copyright © 2006 Daniel Keep
12  * All rights reserved.
13  *
14  * Redistribution and use in source and binary forms, with or without
15  * modification, are permitted provided that the following conditions are
16  * met:
17  *
18  * * Redistributions of source code must retain the above copyright
19  *   notice, this list of conditions and the following disclaimer.
20  *
21  * * Redistributions in binary form must reproduce the above copyright
22  *   notice, this list of conditions and the following disclaimer in the
23  *   documentation and/or other materials provided with the distribution.
24  *
25  * * Neither the name of this software, nor the names of its contributors
26  *   may be used to endorse or promote products derived from this software
27  *   without specific prior written permission.
28  *
29  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
30  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
31  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
32  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
33  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
34  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
35  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
36  * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
37  * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
38  * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
39  * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
40  */
41 module cairo.cairofuncs;
42
43 version( cairo_1_4 ) { version = cairo_1_2; }
44
45 private
46 {
47     import cairo.cairotypes;
48     import cairo.loader;
49 }
50
51 /**
52  * This function encodes the given cairo version into an integer. The numbers
53  * returned by cairo_version() are encoded using this function. Two encoded
54  * version numbers can be compared as integers. The encoding ensures that
55  * later versions compare greater than earlier versions.
56  */
57 int CAIRO_VERSION_ENCODE(int major, int minor, int micro)
58 {
59     return major*10_000 + minor*100 + micro;
60 }
61
62 package void cairo_loadprocs(SharedLib lib)
63 {
64     // cairo functions
65     //Name = cast(pfName)getProc(lib, "Name");
66     cairo_matrix_init_identity = cast(pf_cairo_matrix_init_identity)getProc(lib, "cairo_matrix_init_identity");
67     cairo_font_options_get_antialias = cast(pf_cairo_font_options_get_antialias)getProc(lib, "cairo_font_options_get_antialias");
68     cairo_arc_negative = cast(pf_cairo_arc_negative)getProc(lib, "cairo_arc_negative");
69     cairo_device_to_user_distance = cast(pf_cairo_device_to_user_distance)getProc(lib, "cairo_device_to_user_distance");
70     cairo_set_matrix = cast(pf_cairo_set_matrix)getProc(lib, "cairo_set_matrix");
71     cairo_new_path = cast(pf_cairo_new_path)getProc(lib, "cairo_new_path");
72     cairo_surface_finish = cast(pf_cairo_surface_finish)getProc(lib, "cairo_surface_finish");
73     cairo_reference = cast(pf_cairo_reference)getProc(lib, "cairo_reference");
74     cairo_surface_get_user_data = cast(pf_cairo_surface_get_user_data)getProc(lib, "cairo_surface_get_user_data");
75     cairo_rectangle = cast(pf_cairo_rectangle)getProc(lib, "cairo_rectangle");
76     cairo_scaled_font_reference = cast(pf_cairo_scaled_font_reference)getProc(lib, "cairo_scaled_font_reference");
77     cairo_status_to_string = cast(pf_cairo_status_to_string)getProc(lib, "cairo_status_to_string");
78     cairo_mask = cast(pf_cairo_mask)getProc(lib, "cairo_mask");
79     cairo_get_font_matrix = cast(pf_cairo_get_font_matrix)getProc(lib, "cairo_get_font_matrix");
80     cairo_surface_reference = cast(pf_cairo_surface_reference)getProc(lib, "cairo_surface_reference");
81     cairo_rotate = cast(pf_cairo_rotate)getProc(lib, "cairo_rotate");
82     cairo_show_text = cast(pf_cairo_show_text)getProc(lib, "cairo_show_text");
83     cairo_pattern_create_rgba = cast(pf_cairo_pattern_create_rgba)getProc(lib, "cairo_pattern_create_rgba");
84     cairo_font_face_reference = cast(pf_cairo_font_face_reference)getProc(lib, "cairo_font_face_reference");
85     cairo_reset_clip = cast(pf_cairo_reset_clip)getProc(lib, "cairo_reset_clip");
86     cairo_font_options_create = cast(pf_cairo_font_options_create)getProc(lib, "cairo_font_options_create");
87     cairo_matrix_scale = cast(pf_cairo_matrix_scale)getProc(lib, "cairo_matrix_scale");
88     cairo_set_line_width = cast(pf_cairo_set_line_width)getProc(lib, "cairo_set_line_width");
89     cairo_pattern_destroy = cast(pf_cairo_pattern_destroy)getProc(lib, "cairo_pattern_destroy");
90     cairo_get_source = cast(pf_cairo_get_source)getProc(lib, "cairo_get_source");
91     cairo_surface_flush = cast(pf_cairo_surface_flush)getProc(lib, "cairo_surface_flush");
92     cairo_font_options_set_antialias = cast(pf_cairo_font_options_set_antialias)getProc(lib, "cairo_font_options_set_antialias");
93     cairo_font_options_set_subpixel_order = cast(pf_cairo_font_options_set_subpixel_order)getProc(lib, "cairo_font_options_set_subpixel_order");
94     cairo_font_extents = cast(pf_cairo_font_extents)getProc(lib, "cairo_font_extents");
95     cairo_scaled_font_destroy = cast(pf_cairo_scaled_font_destroy)getProc(lib, "cairo_scaled_font_destroy");
96     cairo_pattern_get_matrix = cast(pf_cairo_pattern_get_matrix)getProc(lib, "cairo_pattern_get_matrix");
97     cairo_image_surface_create_for_data = cast(pf_cairo_image_surface_create_for_data)getProc(lib, "cairo_image_surface_create_for_data");
98     cairo_pattern_set_matrix = cast(pf_cairo_pattern_set_matrix)getProc(lib, "cairo_pattern_set_matrix");
99     cairo_version_string = cast(pf_cairo_version_string)getProc(lib, "cairo_version_string");
100     cairo_set_source = cast(pf_cairo_set_source)getProc(lib, "cairo_set_source");
101     cairo_surface_mark_dirty_rectangle = cast(pf_cairo_surface_mark_dirty_rectangle)getProc(lib, "cairo_surface_mark_dirty_rectangle");
102     cairo_translate = cast(pf_cairo_translate)getProc(lib, "cairo_translate");
103     cairo_scaled_font_glyph_extents = cast(pf_cairo_scaled_font_glyph_extents)getProc(lib, "cairo_scaled_font_glyph_extents");
104     cairo_set_tolerance = cast(pf_cairo_set_tolerance)getProc(lib, "cairo_set_tolerance");
105     cairo_surface_set_device_offset = cast(pf_cairo_surface_set_device_offset)getProc(lib, "cairo_surface_set_device_offset");
106     cairo_set_line_cap = cast(pf_cairo_set_line_cap)getProc(lib, "cairo_set_line_cap");
107     cairo_stroke_extents = cast(pf_cairo_stroke_extents)getProc(lib, "cairo_stroke_extents");
108     cairo_glyph_path = cast(pf_cairo_glyph_path)getProc(lib, "cairo_glyph_path");
109     cairo_scaled_font_extents = cast(pf_cairo_scaled_font_extents)getProc(lib, "cairo_scaled_font_extents");
110     cairo_show_page = cast(pf_cairo_show_page)getProc(lib, "cairo_show_page");
111     cairo_in_stroke = cast(pf_cairo_in_stroke)getProc(lib, "cairo_in_stroke");
112     cairo_get_font_options = cast(pf_cairo_get_font_options)getProc(lib, "cairo_get_font_options");
113     cairo_pattern_set_filter = cast(pf_cairo_pattern_set_filter)getProc(lib, "cairo_pattern_set_filter");
114     cairo_copy_page = cast(pf_cairo_copy_page)getProc(lib, "cairo_copy_page");
115     cairo_set_source_surface = cast(pf_cairo_set_source_surface)getProc(lib, "cairo_set_source_surface");
116     cairo_font_options_get_hint_style = cast(pf_cairo_font_options_get_hint_style)getProc(lib, "cairo_font_options_get_hint_style");
117     cairo_set_source_rgb = cast(pf_cairo_set_source_rgb)getProc(lib, "cairo_set_source_rgb");
118     cairo_matrix_init_rotate = cast(pf_cairo_matrix_init_rotate)getProc(lib, "cairo_matrix_init_rotate");
119     cairo_restore = cast(pf_cairo_restore)getProc(lib, "cairo_restore");
120     cairo_set_fill_rule = cast(pf_cairo_set_fill_rule)getProc(lib, "cairo_set_fill_rule");
121     cairo_user_to_device_distance = cast(pf_cairo_user_to_device_distance)getProc(lib, "cairo_user_to_device_distance");
122     cairo_font_options_get_hint_metrics = cast(pf_cairo_font_options_get_hint_metrics)getProc(lib, "cairo_font_options_get_hint_metrics");
123     cairo_version = cast(pf_cairo_version)getProc(lib, "cairo_version");
124     cairo_pattern_create_linear = cast(pf_cairo_pattern_create_linear)getProc(lib, "cairo_pattern_create_linear");
125     cairo_status = cast(pf_cairo_status)getProc(lib, "cairo_status");
126     cairo_matrix_rotate = cast(pf_cairo_matrix_rotate)getProc(lib, "cairo_matrix_rotate");
127     cairo_get_antialias = cast(pf_cairo_get_antialias)getProc(lib, "cairo_get_antialias");
128     cairo_in_fill = cast(pf_cairo_in_fill)getProc(lib, "cairo_in_fill");
129     cairo_font_options_copy = cast(pf_cairo_font_options_copy)getProc(lib, "cairo_font_options_copy");
130     cairo_font_options_set_hint_metrics = cast(pf_cairo_font_options_set_hint_metrics)getProc(lib, "cairo_font_options_set_hint_metrics");
131     cairo_set_dash = cast(pf_cairo_set_dash)getProc(lib, "cairo_set_dash");
132     cairo_text_extents = cast(pf_cairo_text_extents)getProc(lib, "cairo_text_extents");
133     cairo_surface_set_user_data = cast(pf_cairo_surface_set_user_data)getProc(lib, "cairo_surface_set_user_data");
134     cairo_font_options_merge = cast(pf_cairo_font_options_merge)getProc(lib, "cairo_font_options_merge");
135     cairo_stroke = cast(pf_cairo_stroke)getProc(lib, "cairo_stroke");
136     cairo_rel_move_to = cast(pf_cairo_rel_move_to)getProc(lib, "cairo_rel_move_to");
137     cairo_scaled_font_create = cast(pf_cairo_scaled_font_create)getProc(lib, "cairo_scaled_font_create");
138     cairo_pattern_add_color_stop_rgba = cast(pf_cairo_pattern_add_color_stop_rgba)getProc(lib, "cairo_pattern_add_color_stop_rgba");
139     cairo_get_line_width = cast(pf_cairo_get_line_width)getProc(lib, "cairo_get_line_width");
140     cairo_pattern_add_color_stop_rgb = cast(pf_cairo_pattern_add_color_stop_rgb)getProc(lib, "cairo_pattern_add_color_stop_rgb");
141     cairo_set_font_face = cast(pf_cairo_set_font_face)getProc(lib, "cairo_set_font_face");
142     cairo_transform = cast(pf_cairo_transform)getProc(lib, "cairo_transform");
143     cairo_font_options_destroy = cast(pf_cairo_font_options_destroy)getProc(lib, "cairo_font_options_destroy");
144     cairo_set_miter_limit = cast(pf_cairo_set_miter_limit)getProc(lib, "cairo_set_miter_limit");
145     cairo_destroy = cast(pf_cairo_destroy)getProc(lib, "cairo_destroy");
146     cairo_copy_path_flat = cast(pf_cairo_copy_path_flat)getProc(lib, "cairo_copy_path_flat");
147     cairo_pattern_get_extend = cast(pf_cairo_pattern_get_extend)getProc(lib, "cairo_pattern_get_extend");
148     cairo_append_path = cast(pf_cairo_append_path)getProc(lib, "cairo_append_path");
149     cairo_get_tolerance = cast(pf_cairo_get_tolerance)getProc(lib, "cairo_get_tolerance");
150     cairo_set_font_matrix = cast(pf_cairo_set_font_matrix)getProc(lib, "cairo_set_font_matrix");
151     cairo_set_line_join = cast(pf_cairo_set_line_join)getProc(lib, "cairo_set_line_join");
152     cairo_font_options_status = cast(pf_cairo_font_options_status)getProc(lib, "cairo_font_options_status");
153     cairo_font_options_get_subpixel_order = cast(pf_cairo_font_options_get_subpixel_order)getProc(lib, "cairo_font_options_get_subpixel_order");
154     cairo_font_face_destroy = cast(pf_cairo_font_face_destroy)getProc(lib, "cairo_font_face_destroy");
155     cairo_pattern_create_rgb = cast(pf_cairo_pattern_create_rgb)getProc(lib, "cairo_pattern_create_rgb");
156     cairo_text_path = cast(pf_cairo_text_path)getProc(lib, "cairo_text_path");
157     cairo_pattern_set_extend = cast(pf_cairo_pattern_set_extend)getProc(lib, "cairo_pattern_set_extend");
158     cairo_get_current_point = cast(pf_cairo_get_current_point)getProc(lib, "cairo_get_current_point");
159     cairo_set_font_options = cast(pf_cairo_set_font_options)getProc(lib, "cairo_set_font_options");
160     cairo_font_face_get_user_data = cast(pf_cairo_font_face_get_user_data)getProc(lib, "cairo_font_face_get_user_data");
161     cairo_pattern_status = cast(pf_cairo_pattern_status)getProc(lib, "cairo_pattern_status");
162     cairo_font_options_hash = cast(pf_cairo_font_options_hash)getProc(lib, "cairo_font_options_hash");
163     cairo_mask_surface = cast(pf_cairo_mask_surface)getProc(lib, "cairo_mask_surface");
164     cairo_rel_line_to = cast(pf_cairo_rel_line_to)getProc(lib, "cairo_rel_line_to");
165     cairo_matrix_init = cast(pf_cairo_matrix_init)getProc(lib, "cairo_matrix_init");
166     cairo_device_to_user = cast(pf_cairo_device_to_user)getProc(lib, "cairo_device_to_user");
167     cairo_scaled_font_status = cast(pf_cairo_scaled_font_status)getProc(lib, "cairo_scaled_font_status");
168     cairo_fill = cast(pf_cairo_fill)getProc(lib, "cairo_fill");
169     cairo_get_line_join = cast(pf_cairo_get_line_join)getProc(lib, "cairo_get_line_join");
170     cairo_copy_path = cast(pf_cairo_copy_path)getProc(lib, "cairo_copy_path");
171     cairo_font_face_set_user_data = cast(pf_cairo_font_face_set_user_data)getProc(lib, "cairo_font_face_set_user_data");
172     cairo_set_operator = cast(pf_cairo_set_operator)getProc(lib, "cairo_set_operator");
173     cairo_font_face_status = cast(pf_cairo_font_face_status)getProc(lib, "cairo_font_face_status");
174     cairo_matrix_transform_distance = cast(pf_cairo_matrix_transform_distance)getProc(lib, "cairo_matrix_transform_distance");
175     cairo_clip = cast(pf_cairo_clip)getProc(lib, "cairo_clip");
176     cairo_matrix_translate = cast(pf_cairo_matrix_translate)getProc(lib, "cairo_matrix_translate");
177     cairo_get_font_face = cast(pf_cairo_get_font_face)getProc(lib, "cairo_get_font_face");
178     cairo_get_matrix = cast(pf_cairo_get_matrix)getProc(lib, "cairo_get_matrix");
179     cairo_surface_get_font_options = cast(pf_cairo_surface_get_font_options)getProc(lib, "cairo_surface_get_font_options");
180     cairo_rel_curve_to = cast(pf_cairo_rel_curve_to)getProc(lib, "cairo_rel_curve_to");
181     cairo_pattern_create_for_surface = cast(pf_cairo_pattern_create_for_surface)getProc(lib, "cairo_pattern_create_for_surface");
182     cairo_save = cast(pf_cairo_save)getProc(lib, "cairo_save");
183     cairo_move_to = cast(pf_cairo_move_to)getProc(lib, "cairo_move_to");
184     cairo_clip_preserve = cast(pf_cairo_clip_preserve)getProc(lib, "cairo_clip_preserve");
185     cairo_set_source_rgba = cast(pf_cairo_set_source_rgba)getProc(lib, "cairo_set_source_rgba");
186     cairo_image_surface_create = cast(pf_cairo_image_surface_create)getProc(lib, "cairo_image_surface_create");
187     cairo_paint = cast(pf_cairo_paint)getProc(lib, "cairo_paint");
188     cairo_path_destroy = cast(pf_cairo_path_destroy)getProc(lib, "cairo_path_destroy");
189     cairo_surface_mark_dirty = cast(pf_cairo_surface_mark_dirty)getProc(lib, "cairo_surface_mark_dirty");
190     cairo_line_to = cast(pf_cairo_line_to)getProc(lib, "cairo_line_to");
191     cairo_stroke_preserve = cast(pf_cairo_stroke_preserve)getProc(lib, "cairo_stroke_preserve");
192     cairo_select_font_face = cast(pf_cairo_select_font_face)getProc(lib, "cairo_select_font_face");
193     cairo_image_surface_get_width = cast(pf_cairo_image_surface_get_width)getProc(lib, "cairo_image_surface_get_width");
194     cairo_get_miter_limit = cast(pf_cairo_get_miter_limit)getProc(lib, "cairo_get_miter_limit");
195     cairo_get_line_cap = cast(pf_cairo_get_line_cap)getProc(lib, "cairo_get_line_cap");
196     cairo_surface_create_similar = cast(pf_cairo_surface_create_similar)getProc(lib, "cairo_surface_create_similar");
197     cairo_pattern_get_filter = cast(pf_cairo_pattern_get_filter)getProc(lib, "cairo_pattern_get_filter");
198     cairo_show_glyphs = cast(pf_cairo_show_glyphs)getProc(lib, "cairo_show_glyphs");
199     cairo_matrix_init_scale = cast(pf_cairo_matrix_init_scale)getProc(lib, "cairo_matrix_init_scale");
200     cairo_surface_destroy = cast(pf_cairo_surface_destroy)getProc(lib, "cairo_surface_destroy");
201     cairo_font_options_set_hint_style = cast(pf_cairo_font_options_set_hint_style)getProc(lib, "cairo_font_options_set_hint_style");
202     cairo_surface_status = cast(pf_cairo_surface_status)getProc(lib, "cairo_surface_status");
203     cairo_font_options_equal = cast(pf_cairo_font_options_equal)getProc(lib, "cairo_font_options_equal");
204     cairo_curve_to = cast(pf_cairo_curve_to)getProc(lib, "cairo_curve_to");
205     cairo_create = cast(pf_cairo_create)getProc(lib, "cairo_create");
206     cairo_fill_preserve = cast(pf_cairo_fill_preserve)getProc(lib, "cairo_fill_preserve");
207     cairo_pattern_create_radial = cast(pf_cairo_pattern_create_radial)getProc(lib, "cairo_pattern_create_radial");
208     cairo_get_fill_rule = cast(pf_cairo_get_fill_rule)getProc(lib, "cairo_get_fill_rule");
209     cairo_paint_with_alpha = cast(pf_cairo_paint_with_alpha)getProc(lib, "cairo_paint_with_alpha");
210     cairo_matrix_invert = cast(pf_cairo_matrix_invert)getProc(lib, "cairo_matrix_invert");
211     cairo_glyph_extents = cast(pf_cairo_glyph_extents)getProc(lib, "cairo_glyph_extents");
212     cairo_set_antialias = cast(pf_cairo_set_antialias)getProc(lib, "cairo_set_antialias");
213     cairo_pattern_reference = cast(pf_cairo_pattern_reference)getProc(lib, "cairo_pattern_reference");
214     cairo_user_to_device = cast(pf_cairo_user_to_device)getProc(lib, "cairo_user_to_device");
215     cairo_fill_extents = cast(pf_cairo_fill_extents)getProc(lib, "cairo_fill_extents");
216     cairo_matrix_transform_point = cast(pf_cairo_matrix_transform_point)getProc(lib, "cairo_matrix_transform_point");
217     cairo_get_target = cast(pf_cairo_get_target)getProc(lib, "cairo_get_target");
218     cairo_get_operator = cast(pf_cairo_get_operator)getProc(lib, "cairo_get_operator");
219     cairo_set_font_size = cast(pf_cairo_set_font_size)getProc(lib, "cairo_set_font_size");
220     cairo_image_surface_get_height = cast(pf_cairo_image_surface_get_height)getProc(lib, "cairo_image_surface_get_height");
221     cairo_arc = cast(pf_cairo_arc)getProc(lib, "cairo_arc");
222     cairo_close_path = cast(pf_cairo_close_path)getProc(lib, "cairo_close_path");
223     cairo_matrix_multiply = cast(pf_cairo_matrix_multiply)getProc(lib, "cairo_matrix_multiply");
224     cairo_identity_matrix = cast(pf_cairo_identity_matrix)getProc(lib, "cairo_identity_matrix");
225     cairo_scale = cast(pf_cairo_scale)getProc(lib, "cairo_scale");
226     cairo_matrix_init_translate = cast(pf_cairo_matrix_init_translate)getProc(lib, "cairo_matrix_init_translate");
227     version( cairo_1_2 )
228     {
229         cairo_scaled_font_get_ctm = cast(pf_cairo_scaled_font_get_ctm)getProc(lib, "cairo_scaled_font_get_ctm");
230         cairo_image_surface_get_format = cast(pf_cairo_image_surface_get_format)getProc(lib, "cairo_image_surface_get_format");
231         cairo_surface_get_content = cast(pf_cairo_surface_get_content)getProc(lib, "cairo_surface_get_content");
232         cairo_set_scaled_font = cast(pf_cairo_set_scaled_font)getProc(lib, "cairo_set_scaled_font");
233         cairo_surface_get_device_offset = cast(pf_cairo_surface_get_device_offset)getProc(lib, "cairo_surface_get_device_offset");
234         cairo_scaled_font_get_font_options = cast(pf_cairo_scaled_font_get_font_options)getProc(lib, "cairo_scaled_font_get_font_options");
235         cairo_pop_group_to_source = cast(pf_cairo_pop_group_to_source)getProc(lib, "cairo_pop_group_to_source");
236         cairo_scaled_font_text_extents = cast(pf_cairo_scaled_font_text_extents)getProc(lib, "cairo_scaled_font_text_extents");
237         cairo_push_group_with_content = cast(pf_cairo_push_group_with_content)getProc(lib, "cairo_push_group_with_content");
238         cairo_pattern_get_type = cast(pf_cairo_pattern_get_type)getProc(lib, "cairo_pattern_get_type");
239         cairo_image_surface_get_data = cast(pf_cairo_image_surface_get_data)getProc(lib, "cairo_image_surface_get_data");
240         cairo_get_group_target = cast(pf_cairo_get_group_target)getProc(lib, "cairo_get_group_target");
241         cairo_surface_set_fallback_resolution = cast(pf_cairo_surface_set_fallback_resolution)getProc(lib, "cairo_surface_set_fallback_resolution");
242         cairo_scaled_font_get_font_matrix = cast(pf_cairo_scaled_font_get_font_matrix)getProc(lib, "cairo_scaled_font_get_font_matrix");
243         cairo_scaled_font_get_font_face = cast(pf_cairo_scaled_font_get_font_face)getProc(lib, "cairo_scaled_font_get_font_face");
244         cairo_scaled_font_get_type = cast(pf_cairo_scaled_font_get_type)getProc(lib, "cairo_scaled_font_get_type");
245         cairo_pop_group = cast(pf_cairo_pop_group)getProc(lib, "cairo_pop_group");
246         cairo_font_face_get_type = cast(pf_cairo_font_face_get_type)getProc(lib, "cairo_font_face_get_type");
247         cairo_surface_get_type = cast(pf_cairo_surface_get_type)getProc(lib, "cairo_surface_get_type");
248         cairo_push_group = cast(pf_cairo_push_group)getProc(lib, "cairo_push_group");
249         cairo_new_sub_path = cast(pf_cairo_new_sub_path)getProc(lib, "cairo_new_sub_path");
250         cairo_image_surface_get_stride = cast(pf_cairo_image_surface_get_stride)getProc(lib, "cairo_image_surface_get_stride");
251     }
252     version( cairo_1_4 )
253     {
254         cairo_get_user_data = cast(pf_cairo_get_user_data)getProc(lib, "cairo_get_user_data");
255         cairo_scaled_font_get_user_data = cast(pf_cairo_scaled_font_get_user_data)getProc(lib, "cairo_scaled_font_get_user_data");
256         cairo_pattern_get_rgba = cast(pf_cairo_pattern_get_rgba)getProc(lib, "cairo_pattern_get_rgba");
257         cairo_font_face_get_reference_count = cast(pf_cairo_font_face_get_reference_count)getProc(lib, "cairo_font_face_get_reference_count");
258         cairo_scaled_font_set_user_data = cast(pf_cairo_scaled_font_set_user_data)getProc(lib, "cairo_scaled_font_set_user_data");
259         cairo_pattern_get_radial_circles = cast(pf_cairo_pattern_get_radial_circles)getProc(lib, "cairo_pattern_get_radial_circles");
260         cairo_clip_extents = cast(pf_cairo_clip_extents)getProc(lib, "cairo_clip_extents");
261         cairo_pattern_get_color_stop_rgba = cast(pf_cairo_pattern_get_color_stop_rgba)getProc(lib, "cairo_pattern_get_color_stop_rgba");
262         cairo_get_dash_count = cast(pf_cairo_get_dash_count)getProc(lib, "cairo_get_dash_count");
263         cairo_get_reference_count = cast(pf_cairo_get_reference_count)getProc(lib, "cairo_get_reference_count");
264         cairo_rectangle_list_destroy = cast(pf_cairo_rectangle_list_destroy)getProc(lib, "cairo_rectangle_list_destroy");
265         cairo_pattern_get_reference_count = cast(pf_cairo_pattern_get_reference_count)getProc(lib, "cairo_pattern_get_reference_count");
266         cairo_pattern_get_surface = cast(pf_cairo_pattern_get_surface)getProc(lib, "cairo_pattern_get_surface");
267         cairo_pattern_set_user_data = cast(pf_cairo_pattern_set_user_data)getProc(lib, "cairo_pattern_set_user_data");
268         cairo_get_dash = cast(pf_cairo_get_dash)getProc(lib, "cairo_get_dash");
269         cairo_set_user_data = cast(pf_cairo_set_user_data)getProc(lib, "cairo_set_user_data");
270         cairo_scaled_font_get_reference_count = cast(pf_cairo_scaled_font_get_reference_count)getProc(lib, "cairo_scaled_font_get_reference_count");
271         cairo_get_scaled_font = cast(pf_cairo_get_scaled_font)getProc(lib, "cairo_get_scaled_font");
272         cairo_copy_clip_rectangle_list = cast(pf_cairo_copy_clip_rectangle_list)getProc(lib, "cairo_copy_clip_rectangle_list");
273         cairo_pattern_get_color_stop_count = cast(pf_cairo_pattern_get_color_stop_count)getProc(lib, "cairo_pattern_get_color_stop_count");
274         cairo_surface_get_reference_count = cast(pf_cairo_surface_get_reference_count)getProc(lib, "cairo_surface_get_reference_count");
275         cairo_pattern_get_user_data = cast(pf_cairo_pattern_get_user_data)getProc(lib, "cairo_pattern_get_user_data");
276         cairo_pattern_get_linear_points = cast(pf_cairo_pattern_get_linear_points)getProc(lib, "cairo_pattern_get_linear_points");
277     }
278 }
279
280 // C calling convention for BOTH linux and Windows
281 extern(C):
282
283 //typedef Tr function( Ta... ) pfName;
284 typedef void function(cairo_matrix_t* matrix) pf_cairo_matrix_init_identity;
285 typedef cairo_antialias_t function(cairo_font_options_t* options) pf_cairo_font_options_get_antialias;
286 typedef void function(cairo_t* cr, double xc, double yc, double radius, double angle1, double angle2) pf_cairo_arc_negative;
287 typedef void function(cairo_t* cr, double* dx, double* dy) pf_cairo_device_to_user_distance;
288 typedef void function(cairo_t* cr, cairo_matrix_t* matrix) pf_cairo_set_matrix;
289 typedef void function(cairo_t* cr) pf_cairo_new_path;
290 typedef void function(cairo_surface_t* surface) pf_cairo_surface_finish;
291 typedef cairo_t* function(cairo_t* cr) pf_cairo_reference;
292 typedef void* function(cairo_surface_t* surface, cairo_user_data_key_t* key) pf_cairo_surface_get_user_data;
293 typedef void function(cairo_t* cr, double x, double y, double width, double height) pf_cairo_rectangle;
294 typedef cairo_scaled_font_t* function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_reference;
295 typedef char* function(cairo_status_t status) pf_cairo_status_to_string;
296 typedef void function(cairo_t* cr, cairo_pattern_t* pattern) pf_cairo_mask;
297 typedef void function(cairo_t* cr, cairo_matrix_t* matrix) pf_cairo_get_font_matrix;
298 typedef cairo_surface_t* function(cairo_surface_t* surface) pf_cairo_surface_reference;
299 typedef void function(cairo_t* cr, double angle) pf_cairo_rotate;
300 typedef void function(cairo_t* cr, char* utf8) pf_cairo_show_text;
301 typedef cairo_pattern_t* function(double red, double green, double blue, double alpha) pf_cairo_pattern_create_rgba;
302 typedef cairo_font_face_t* function(cairo_font_face_t* font_face) pf_cairo_font_face_reference;
303 typedef void function(cairo_t* cr) pf_cairo_reset_clip;
304 typedef cairo_font_options_t* function() pf_cairo_font_options_create;
305 typedef void function(cairo_matrix_t* matrix, double sx, double sy) pf_cairo_matrix_scale;
306 typedef void function(cairo_t* cr, double width) pf_cairo_set_line_width;
307 typedef void function(cairo_pattern_t* pattern) pf_cairo_pattern_destroy;
308 typedef cairo_pattern_t* function(cairo_t* cr) pf_cairo_get_source;
309 typedef void function(cairo_surface_t* surface) pf_cairo_surface_flush;
310 typedef void function(cairo_font_options_t* options, cairo_antialias_t antialias) pf_cairo_font_options_set_antialias;
311 typedef void function(cairo_font_options_t* options, cairo_subpixel_order_t subpixel_order) pf_cairo_font_options_set_subpixel_order;
312 typedef void function(cairo_t* cr, cairo_font_extents_t* extents) pf_cairo_font_extents;
313 typedef void function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_destroy;
314 typedef void function(cairo_pattern_t* pattern, cairo_matrix_t* matrix) pf_cairo_pattern_get_matrix;
315 typedef cairo_surface_t* function(ubyte* data, cairo_format_t format, int width, int height, int stride) pf_cairo_image_surface_create_for_data;
316 typedef void function(cairo_pattern_t* pattern, cairo_matrix_t* matrix) pf_cairo_pattern_set_matrix;
317 typedef char* function() pf_cairo_version_string;
318 typedef void function(cairo_t* cr, cairo_pattern_t* source) pf_cairo_set_source;
319 typedef void function(cairo_surface_t* surface, int x, int y, int width, int height) pf_cairo_surface_mark_dirty_rectangle;
320 typedef void function(cairo_t* cr, double tx, double ty) pf_cairo_translate;
321 typedef void function(cairo_scaled_font_t* scaled_font, cairo_glyph_t* glyphs, int num_glyphs, cairo_text_extents_t* extents) pf_cairo_scaled_font_glyph_extents;
322 typedef void function(cairo_t* cr, double tolerance) pf_cairo_set_tolerance;
323 typedef void function(cairo_surface_t* surface, double x_offset, double y_offset) pf_cairo_surface_set_device_offset;
324 typedef void function(cairo_t* cr, cairo_line_cap_t line_width) pf_cairo_set_line_cap;
325 typedef cairo_bool_t function(cairo_t* cr, double* x1, double* y1, double* x2, double* y2) pf_cairo_stroke_extents;
326 typedef void function(cairo_t* cr, cairo_glyph_t* glyphs, int num_glyphs) pf_cairo_glyph_path;
327 typedef void function(cairo_scaled_font_t* scaled_font, cairo_font_extents_t* extents) pf_cairo_scaled_font_extents;
328 typedef void function(cairo_t* cr) pf_cairo_show_page;
329 typedef cairo_bool_t function(cairo_t* cr, double x, double y) pf_cairo_in_stroke;
330 typedef void function(cairo_t* cr, cairo_font_options_t* options) pf_cairo_get_font_options;
331 typedef void function(cairo_pattern_t* pattern, cairo_filter_t filter) pf_cairo_pattern_set_filter;
332 typedef void function(cairo_t* cr) pf_cairo_copy_page;
333 typedef void function(cairo_t* cr, cairo_surface_t* surface, double x, double y) pf_cairo_set_source_surface;
334 typedef cairo_hint_style_t function(cairo_font_options_t* options) pf_cairo_font_options_get_hint_style;
335 typedef void function(cairo_t* cr, double red, double green, double blue) pf_cairo_set_source_rgb;
336 typedef void function(cairo_matrix_t* matrix, double radians) pf_cairo_matrix_init_rotate;
337 typedef void function(cairo_t* cr) pf_cairo_restore;
338 typedef void function(cairo_t* cr, cairo_fill_rule_t fill_rule) pf_cairo_set_fill_rule;
339 typedef void function(cairo_t* cr, double* dx, double *dy) pf_cairo_user_to_device_distance;
340 typedef cairo_hint_metrics_t function(cairo_font_options_t* options) pf_cairo_font_options_get_hint_metrics;
341 typedef int function() pf_cairo_version;
342 typedef cairo_pattern_t* function(double x0, double y0, double x1, double y1) pf_cairo_pattern_create_linear;
343 typedef cairo_status_t function(cairo_t* cr) pf_cairo_status;
344 typedef void function(cairo_matrix_t* matrix, double radians) pf_cairo_matrix_rotate;
345 typedef cairo_antialias_t function(cairo_t* cr) pf_cairo_get_antialias;
346 typedef cairo_bool_t function(cairo_t* cr, double x, double y) pf_cairo_in_fill;
347 typedef cairo_font_options_t* function(cairo_font_options_t* original) pf_cairo_font_options_copy;
348 typedef void function(cairo_font_options_t* options, cairo_hint_metrics_t hint_metrics) pf_cairo_font_options_set_hint_metrics;
349 typedef void function(cairo_t* cr, double* dashes, int num_dashes, double offset) pf_cairo_set_dash;
350 typedef void function(cairo_t* cr, char* utf8, cairo_text_extents_t* extents) pf_cairo_text_extents;
351 typedef cairo_status_t function(cairo_surface_t* surface, cairo_user_data_key_t* ket, void* user_data, cairo_destroy_func_t destroy) pf_cairo_surface_set_user_data;
352 typedef void function(cairo_font_options_t* options, cairo_font_options_t* other) pf_cairo_font_options_merge;
353 typedef void function(cairo_t* cr) pf_cairo_stroke;
354 typedef void function(cairo_t* cr, double dx, double dy) pf_cairo_rel_move_to;
355 typedef cairo_scaled_font_t* function(cairo_font_face_t* font_face, cairo_matrix_t* font_matrix, cairo_matrix_t* ctm, cairo_font_options_t* options) pf_cairo_scaled_font_create;
356 typedef void function(cairo_pattern_t* pattern, double offset, double red, double green, double blue, double alpha) pf_cairo_pattern_add_color_stop_rgba;
357 typedef double function(cairo_t* cr) pf_cairo_get_line_width;
358 typedef void function(cairo_pattern_t* pattern, double offset, double red, double green, double blue) pf_cairo_pattern_add_color_stop_rgb;
359 typedef void function(cairo_t* cr, cairo_font_face_t* font_face) pf_cairo_set_font_face;
360 typedef void function(cairo_t* cr, cairo_matrix_t* matrix) pf_cairo_transform;
361 typedef void function(cairo_font_options_t* options) pf_cairo_font_options_destroy;
362 typedef void function(cairo_t* cr, double limit) pf_cairo_set_miter_limit;
363 typedef void function(cairo_t* cr) pf_cairo_destroy;
364 typedef cairo_path_t* function(cairo_t* cr) pf_cairo_copy_path_flat;
365 typedef cairo_extend_t function(cairo_pattern_t* pattern) pf_cairo_pattern_get_extend;
366 typedef void function(cairo_t* cr, cairo_path_t* path) pf_cairo_append_path;
367 typedef double function(cairo_t* cr) pf_cairo_get_tolerance;
368 typedef void function(cairo_t* cr, cairo_matrix_t* matrix) pf_cairo_set_font_matrix;
369 typedef void function(cairo_t* cr, cairo_line_join_t line_join) pf_cairo_set_line_join;
370 typedef cairo_status_t function(cairo_font_options_t* options) pf_cairo_font_options_status;
371 typedef cairo_subpixel_order_t function(cairo_font_options_t* options) pf_cairo_font_options_get_subpixel_order;
372 typedef void function(cairo_font_face_t* font_face) pf_cairo_font_face_destroy;
373 typedef cairo_pattern_t* function(double red, double green, double blue) pf_cairo_pattern_create_rgb;
374 typedef void function(cairo_t* cr, char* utf8) pf_cairo_text_path;
375 typedef void function(cairo_pattern_t* pattern, cairo_extend_t extend) pf_cairo_pattern_set_extend;
376 typedef void function(cairo_t* cr, double* x, double* y) pf_cairo_get_current_point;
377 typedef void function(cairo_t* cr, cairo_font_options_t* options) pf_cairo_set_font_options;
378 typedef void* function(cairo_font_face_t* font_face, cairo_user_data_key_t* key) pf_cairo_font_face_get_user_data;
379 typedef cairo_status_t function(cairo_pattern_t* pattern) pf_cairo_pattern_status;
380 typedef uint function(cairo_font_options_t* options) pf_cairo_font_options_hash;
381 typedef void function(cairo_t* cr, cairo_surface_t* surface, double surface_x, double surface_y) pf_cairo_mask_surface;
382 typedef void function(cairo_t* cr, double dx, double dy) pf_cairo_rel_line_to;
383 typedef void function(cairo_matrix_t* matrix, double xx, double yx, double xy, double yy, double x0, double y0) pf_cairo_matrix_init;
384 typedef void function(cairo_t* cr, double* x, double* y) pf_cairo_device_to_user;
385 typedef cairo_status_t function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_status;
386 typedef void function(cairo_t* cr) pf_cairo_fill;
387 typedef cairo_line_join_t function(cairo_t* cr) pf_cairo_get_line_join;
388 typedef cairo_path_t* function(cairo_t* cr) pf_cairo_copy_path;
389 typedef cairo_status_t function(cairo_font_face_t* font_face, cairo_user_data_key_t* key, void* user_data, cairo_destroy_func_t destroy) pf_cairo_font_face_set_user_data;
390 typedef void function(cairo_t* cr, cairo_operator_t op) pf_cairo_set_operator;
391 typedef cairo_status_t function(cairo_font_face_t* font_face) pf_cairo_font_face_status;
392 typedef void function(cairo_matrix_t* matrix, double* dx, double* dy) pf_cairo_matrix_transform_distance;
393 typedef void function(cairo_t* cr) pf_cairo_clip;
394 typedef void function(cairo_matrix_t* matrix, double tx, double ty) pf_cairo_matrix_translate;
395 typedef cairo_font_face_t* function(cairo_t* cr) pf_cairo_get_font_face;
396 typedef void function(cairo_t* cr, cairo_matrix_t* matrix) pf_cairo_get_matrix;
397 typedef void function(cairo_surface_t* surface, cairo_font_options_t *options) pf_cairo_surface_get_font_options;
398 typedef void function(cairo_t* cr, double dx1, double dy1, double dx2, double dy2, double dx3, double dy3) pf_cairo_rel_curve_to;
399 typedef cairo_pattern_t* function(cairo_surface_t* surface) pf_cairo_pattern_create_for_surface;
400 typedef void function(cairo_t* cr) pf_cairo_save;
401 typedef void function(cairo_t* cr, double x, double y) pf_cairo_move_to;
402 typedef void function(cairo_t* cr) pf_cairo_clip_preserve;
403 typedef void function(cairo_t* cr, double red, double green, double blue, double alpha) pf_cairo_set_source_rgba;
404 typedef cairo_surface_t* function(cairo_format_t format, int width, int height) pf_cairo_image_surface_create;
405 typedef void function(cairo_t* cr) pf_cairo_paint;
406 typedef void function(cairo_path_t* path) pf_cairo_path_destroy;
407 typedef void function(cairo_surface_t* surface) pf_cairo_surface_mark_dirty;
408 typedef void function(cairo_t* cr, double x, double y) pf_cairo_line_to;
409 typedef void function(cairo_t* cr) pf_cairo_stroke_preserve;
410 typedef void function(cairo_t* cr, char* family, cairo_font_slant_t slant, cairo_font_weight_t weight) pf_cairo_select_font_face;
411 typedef int function(cairo_surface_t* surface) pf_cairo_image_surface_get_width;
412 typedef double function(cairo_t* cr) pf_cairo_get_miter_limit;
413 typedef cairo_line_cap_t function(cairo_t* cr) pf_cairo_get_line_cap;
414 typedef cairo_surface_t* function(cairo_surface_t* other, cairo_content_t content, int width, int height) pf_cairo_surface_create_similar;
415 typedef cairo_filter_t function(cairo_pattern_t* pattern) pf_cairo_pattern_get_filter;
416 typedef void function(cairo_t* cr, cairo_glyph_t* glyphs, int num_glyphs) pf_cairo_show_glyphs;
417 typedef void function(cairo_matrix_t* matrix, double sx, double sy) pf_cairo_matrix_init_scale;
418 typedef void function(cairo_surface_t* surface) pf_cairo_surface_destroy;
419 typedef void function(cairo_font_options_t* options, cairo_hint_style_t hint_style) pf_cairo_font_options_set_hint_style;
420 typedef cairo_status_t function(cairo_surface_t* surface) pf_cairo_surface_status;
421 typedef cairo_bool_t function(cairo_font_options_t* options, cairo_font_options_t* other) pf_cairo_font_options_equal;
422 typedef void function(cairo_t* cr, double x1, double y1, double x2, double y2, double x3, double y3) pf_cairo_curve_to;
423 typedef cairo_t* function(cairo_surface_t* target) pf_cairo_create;
424 typedef void function(cairo_t* cr) pf_cairo_fill_preserve;
425 typedef cairo_pattern_t* function(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1) pf_cairo_pattern_create_radial;
426 typedef cairo_fill_rule_t function(cairo_t* cr) pf_cairo_get_fill_rule;
427 typedef void function(cairo_t* cr, double alpha) pf_cairo_paint_with_alpha;
428 typedef cairo_status_t function(cairo_matrix_t* matrix) pf_cairo_matrix_invert;
429 typedef void function(cairo_t* cr, cairo_glyph_t* glyphs, int num_glyphs, cairo_text_extents_t* extents) pf_cairo_glyph_extents;
430 typedef void function(cairo_t* cr, cairo_antialias_t antialias) pf_cairo_set_antialias;
431 typedef cairo_pattern_t* function(cairo_pattern_t* pattern) pf_cairo_pattern_reference;
432 typedef void function(cairo_t* cr, double* x, double* y) pf_cairo_user_to_device;
433 typedef cairo_bool_t function(cairo_t* cr, double* x1, double* y1, double* x2, double* y2) pf_cairo_fill_extents;
434 typedef void function(cairo_matrix_t* matrix, double* x, double* y) pf_cairo_matrix_transform_point;
435 typedef cairo_surface_t* function(cairo_t* cr) pf_cairo_get_target;
436 typedef cairo_operator_t function(cairo_t* cr) pf_cairo_get_operator;
437 typedef void function(cairo_t* cr, double size) pf_cairo_set_font_size;
438 typedef int function(cairo_surface_t* surface) pf_cairo_image_surface_get_height;
439 typedef void function(cairo_t* cr, double xc, double yc, double radius, double angle1, double angle2) pf_cairo_arc;
440 typedef void function(cairo_t* cr) pf_cairo_close_path;
441 typedef void function(cairo_matrix_t* result, cairo_matrix_t* a, cairo_matrix_t* b) pf_cairo_matrix_multiply;
442 typedef void function(cairo_t* cr) pf_cairo_identity_matrix;
443 typedef void function(cairo_t* cr, double sx, double sy) pf_cairo_scale;
444 typedef void function(cairo_matrix_t* matrix, double tx, double ty) pf_cairo_matrix_init_translate;
445 version( cairo_1_2 )
446 {
447     typedef void function(cairo_scaled_font_t* scaled_font, cairo_matrix_t* ctm) pf_cairo_scaled_font_get_ctm;
448     typedef cairo_format_t function(cairo_surface_t* surface) pf_cairo_image_surface_get_format;
449     typedef cairo_content_t function(cairo_surface_t* surface) pf_cairo_surface_get_content;
450     typedef void function(cairo_t* cr, cairo_scaled_font_t* scaled_font) pf_cairo_set_scaled_font;
451     typedef void function(cairo_surface_t* surface, double* x_offset, double* y_offset) pf_cairo_surface_get_device_offset;
452     typedef void function(cairo_scaled_font_t* scaled_font, cairo_font_options_t* options) pf_cairo_scaled_font_get_font_options;
453     typedef void function(cairo_t* cr) pf_cairo_pop_group_to_source;
454     typedef void function(cairo_scaled_font_t* scaled_font, char* utf8, cairo_text_extents_t* extents) pf_cairo_scaled_font_text_extents;
455     typedef void function(cairo_t* cr, cairo_content_t content) pf_cairo_push_group_with_content;
456     typedef cairo_pattern_type_t function(cairo_pattern_t* pattern) pf_cairo_pattern_get_type;
457     typedef ubyte* function(cairo_surface_t* surface) pf_cairo_image_surface_get_data;
458     typedef cairo_surface_t* function(cairo_t* cr) pf_cairo_get_group_target;
459     typedef void function(cairo_surface_t* surface, double x_pixels_per_inch, double y_pixels_per_inch) pf_cairo_surface_set_fallback_resolution;
460     typedef void function(cairo_scaled_font_t* scaled_font, cairo_matrix_t* font_matrix) pf_cairo_scaled_font_get_font_matrix;
461     typedef cairo_font_face_t* function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_get_font_face;
462     typedef cairo_font_type_t function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_get_type;
463     typedef cairo_pattern_t* function(cairo_t* cr) pf_cairo_pop_group;
464     typedef cairo_font_type_t function(cairo_font_face_t* font_face) pf_cairo_font_face_get_type;
465     typedef cairo_surface_t function(cairo_surface_t* surface) pf_cairo_surface_get_type;
466     typedef void function(cairo_t* cr) pf_cairo_push_group;
467     typedef void function(cairo_t* cr) pf_cairo_new_sub_path;
468     typedef int function(cairo_surface_t* surface) pf_cairo_image_surface_get_stride;
469 }
470 version( cairo_1_4 )
471 {
472     typedef void* function(cairo_t* cr, cairo_user_data_key_t* key) pf_cairo_get_user_data;
473     typedef void* function(cairo_scaled_font_t* scaled_font, cairo_user_data_key_t* key) pf_cairo_scaled_font_get_user_data;
474     typedef cairo_status_t function(cairo_pattern_t* pattern, double* red, double* green, double* blue, double* alpha) pf_cairo_pattern_get_rgba;
475     typedef uint function(cairo_font_face_t* font_face) pf_cairo_font_face_get_reference_count;
476     typedef cairo_status_t function(cairo_scaled_font_t* scaled_font, cairo_user_data_key_t* key, void* user_data, cairo_destroy_func_t destroy) pf_cairo_scaled_font_set_user_data;
477     typedef cairo_status_t function(cairo_pattern_t* pattern, double* x0, double* y0, double* r0, double* x1, double* y1, double* r1) pf_cairo_pattern_get_radial_circles;
478     typedef void function(cairo_t* cr, double* x1, double* y1, double* x2, double* y2) pf_cairo_clip_extents;
479     typedef cairo_status_t function(cairo_pattern_t* pattern, int index, double* offset, double* red, double* green, double* blue, double* alpha) pf_cairo_pattern_get_color_stop_rgba;
480     typedef int function(cairo_t* cr) pf_cairo_get_dash_count;
481     typedef uint function(cairo_t* cr) pf_cairo_get_reference_count;
482     typedef void function(cairo_rectangle_list_t* rectangle_list) pf_cairo_rectangle_list_destroy;
483     typedef uint function(cairo_pattern_t* pattern) pf_cairo_pattern_get_reference_count;
484     typedef cairo_status_t function(cairo_pattern_t* pattern, cairo_surface_t** surface) pf_cairo_pattern_get_surface;
485     typedef cairo_status_t function(cairo_pattern_t* pattern, cairo_user_data_key_t* key, void* user_data, cairo_destroy_func_t destroy) pf_cairo_pattern_set_user_data;
486     typedef void function(cairo_t* cr, double* dashes, double* offset) pf_cairo_get_dash;
487     typedef cairo_status_t function(cairo_t* cr, cairo_user_data_key_t* key, void* user_data, cairo_destroy_func_t destroy) pf_cairo_set_user_data;
488     typedef uint function(cairo_scaled_font_t* scaled_font) pf_cairo_scaled_font_get_reference_count;
489     typedef cairo_scaled_font_t* function(cairo_t* cr) pf_cairo_get_scaled_font;
490     typedef cairo_rectangle_list_t* function(cairo_t* cr) pf_cairo_copy_clip_rectangle_list;
491     typedef cairo_status_t function(cairo_pattern_t* pattern, int* count) pf_cairo_pattern_get_color_stop_count;
492     typedef uint function(cairo_surface_t* surface) pf_cairo_surface_get_reference_count;
493     typedef void* function(cairo_pattern_t* pattern, cairo_user_data_key_t* key) pf_cairo_pattern_get_user_data;
494     typedef cairo_status_t function(cairo_pattern_t* pattern, double* x0, double* y0, double* x1, double* y1) pf_cairo_pattern_get_linear_points;
495 }
496
497 //pfName Name;
498 pf_cairo_matrix_init_identity cairo_matrix_init_identity;
499 pf_cairo_font_options_get_antialias cairo_font_options_get_antialias;
500 pf_cairo_arc_negative cairo_arc_negative;
501 pf_cairo_device_to_user_distance cairo_device_to_user_distance;
502 pf_cairo_set_matrix cairo_set_matrix;
503 pf_cairo_new_path cairo_new_path;
504 pf_cairo_surface_finish cairo_surface_finish;
505 pf_cairo_reference cairo_reference;
506 pf_cairo_surface_get_user_data cairo_surface_get_user_data;
507 pf_cairo_rectangle cairo_rectangle;
508 pf_cairo_scaled_font_reference cairo_scaled_font_reference;
509 pf_cairo_status_to_string cairo_status_to_string;
510 pf_cairo_mask cairo_mask;
511 pf_cairo_get_font_matrix cairo_get_font_matrix;
512 pf_cairo_surface_reference cairo_surface_reference;
513 pf_cairo_rotate cairo_rotate;
514 pf_cairo_show_text cairo_show_text;
515 pf_cairo_pattern_create_rgba cairo_pattern_create_rgba;
516 pf_cairo_font_face_reference cairo_font_face_reference;
517 pf_cairo_reset_clip cairo_reset_clip;
518 pf_cairo_font_options_create cairo_font_options_create;
519 pf_cairo_matrix_scale cairo_matrix_scale;
520 pf_cairo_set_line_width cairo_set_line_width;
521 pf_cairo_pattern_destroy cairo_pattern_destroy;
522 pf_cairo_get_source cairo_get_source;
523 pf_cairo_surface_flush cairo_surface_flush;
524 pf_cairo_font_options_set_antialias cairo_font_options_set_antialias;
525 pf_cairo_font_options_set_subpixel_order cairo_font_options_set_subpixel_order;
526 pf_cairo_font_extents cairo_font_extents;
527 pf_cairo_scaled_font_destroy cairo_scaled_font_destroy;
528 pf_cairo_pattern_get_matrix cairo_pattern_get_matrix;
529 pf_cairo_image_surface_create_for_data cairo_image_surface_create_for_data;
530 pf_cairo_pattern_set_matrix cairo_pattern_set_matrix;
531 pf_cairo_version_string cairo_version_string;
532 pf_cairo_set_source cairo_set_source;
533 pf_cairo_surface_mark_dirty_rectangle cairo_surface_mark_dirty_rectangle;
534 pf_cairo_translate cairo_translate;
535 pf_cairo_scaled_font_glyph_extents cairo_scaled_font_glyph_extents;
536 pf_cairo_set_tolerance cairo_set_tolerance;
537 pf_cairo_surface_set_device_offset cairo_surface_set_device_offset;
538 pf_cairo_set_line_cap cairo_set_line_cap;
539 pf_cairo_stroke_extents cairo_stroke_extents;
540 pf_cairo_glyph_path cairo_glyph_path;
541 pf_cairo_scaled_font_extents cairo_scaled_font_extents;
542 pf_cairo_show_page cairo_show_page;
543 pf_cairo_in_stroke cairo_in_stroke;
544 pf_cairo_get_font_options cairo_get_font_options;
545 pf_cairo_pattern_set_filter cairo_pattern_set_filter;
546 pf_cairo_copy_page cairo_copy_page;
547 pf_cairo_set_source_surface cairo_set_source_surface;
548 pf_cairo_font_options_get_hint_style cairo_font_options_get_hint_style;
549 pf_cairo_set_source_rgb cairo_set_source_rgb;
550 pf_cairo_matrix_init_rotate cairo_matrix_init_rotate;
551 pf_cairo_restore cairo_restore;
552 pf_cairo_set_fill_rule cairo_set_fill_rule;
553 pf_cairo_user_to_device_distance cairo_user_to_device_distance;
554 pf_cairo_font_options_get_hint_metrics cairo_font_options_get_hint_metrics;
555 pf_cairo_version cairo_version;
556 pf_cairo_pattern_create_linear cairo_pattern_create_linear;
557 pf_cairo_status cairo_status;
558 pf_cairo_matrix_rotate cairo_matrix_rotate;
559 pf_cairo_get_antialias cairo_get_antialias;
560 pf_cairo_in_fill cairo_in_fill;
561 pf_cairo_font_options_copy cairo_font_options_copy;
562 pf_cairo_font_options_set_hint_metrics cairo_font_options_set_hint_metrics;
563 pf_cairo_set_dash cairo_set_dash;
564 pf_cairo_text_extents cairo_text_extents;
565 pf_cairo_surface_set_user_data cairo_surface_set_user_data;
566 pf_cairo_font_options_merge cairo_font_options_merge;
567 pf_cairo_stroke cairo_stroke;
568 pf_cairo_rel_move_to cairo_rel_move_to;
569 pf_cairo_scaled_font_create cairo_scaled_font_create;
570 pf_cairo_pattern_add_color_stop_rgba cairo_pattern_add_color_stop_rgba;
571 pf_cairo_get_line_width cairo_get_line_width;
572 pf_cairo_pattern_add_color_stop_rgb cairo_pattern_add_color_stop_rgb;
573 pf_cairo_set_font_face cairo_set_font_face;
574 pf_cairo_transform cairo_transform;
575 pf_cairo_font_options_destroy cairo_font_options_destroy;
576 pf_cairo_set_miter_limit cairo_set_miter_limit;
577 pf_cairo_destroy cairo_destroy;
578 pf_cairo_copy_path_flat cairo_copy_path_flat;
579 pf_cairo_pattern_get_extend cairo_pattern_get_extend;
580 pf_cairo_append_path cairo_append_path;
581 pf_cairo_get_tolerance cairo_get_tolerance;
582 pf_cairo_set_font_matrix cairo_set_font_matrix;
583 pf_cairo_set_line_join cairo_set_line_join;
584 pf_cairo_font_options_status cairo_font_options_status;
585 pf_cairo_font_options_get_subpixel_order cairo_font_options_get_subpixel_order;
586 pf_cairo_font_face_destroy cairo_font_face_destroy;
587 pf_cairo_pattern_create_rgb cairo_pattern_create_rgb;
588 pf_cairo_text_path cairo_text_path;
589 pf_cairo_pattern_set_extend cairo_pattern_set_extend;
590 pf_cairo_get_current_point cairo_get_current_point;
591 pf_cairo_set_font_options cairo_set_font_options;
592 pf_cairo_font_face_get_user_data cairo_font_face_get_user_data;
593 pf_cairo_pattern_status cairo_pattern_status;
594 pf_cairo_font_options_hash cairo_font_options_hash;
595 pf_cairo_mask_surface cairo_mask_surface;
596 pf_cairo_rel_line_to cairo_rel_line_to;
597 pf_cairo_matrix_init cairo_matrix_init;
598 pf_cairo_device_to_user cairo_device_to_user;
599 pf_cairo_scaled_font_status cairo_scaled_font_status;
600 pf_cairo_fill cairo_fill;
601 pf_cairo_get_line_join cairo_get_line_join;
602 pf_cairo_copy_path cairo_copy_path;
603 pf_cairo_font_face_set_user_data cairo_font_face_set_user_data;
604 pf_cairo_set_operator cairo_set_operator;
605 pf_cairo_font_face_status cairo_font_face_status;
606 pf_cairo_matrix_transform_distance cairo_matrix_transform_distance;
607 pf_cairo_clip cairo_clip;
608 pf_cairo_matrix_translate cairo_matrix_translate;
609 pf_cairo_get_font_face cairo_get_font_face;
610 pf_cairo_get_matrix cairo_get_matrix;
611 pf_cairo_surface_get_font_options cairo_surface_get_font_options;
612 pf_cairo_rel_curve_to cairo_rel_curve_to;
613 pf_cairo_pattern_create_for_surface cairo_pattern_create_for_surface;
614 pf_cairo_save cairo_save;
615 pf_cairo_move_to cairo_move_to;
616 pf_cairo_clip_preserve cairo_clip_preserve;
617 pf_cairo_set_source_rgba cairo_set_source_rgba;
618 pf_cairo_image_surface_create cairo_image_surface_create;
619 pf_cairo_paint cairo_paint;
620 pf_cairo_path_destroy cairo_path_destroy;
621 pf_cairo_surface_mark_dirty cairo_surface_mark_dirty;
622 pf_cairo_line_to cairo_line_to;
623 pf_cairo_stroke_preserve cairo_stroke_preserve;
624 pf_cairo_select_font_face cairo_select_font_face;
625 pf_cairo_image_surface_get_width cairo_image_surface_get_width;
626 pf_cairo_get_miter_limit cairo_get_miter_limit;
627 pf_cairo_get_line_cap cairo_get_line_cap;
628 pf_cairo_surface_create_similar cairo_surface_create_similar;
629 pf_cairo_pattern_get_filter cairo_pattern_get_filter;
630 pf_cairo_show_glyphs cairo_show_glyphs;
631 pf_cairo_matrix_init_scale cairo_matrix_init_scale;
632 pf_cairo_surface_destroy cairo_surface_destroy;
633 pf_cairo_font_options_set_hint_style cairo_font_options_set_hint_style;
634 pf_cairo_surface_status cairo_surface_status;
635 pf_cairo_font_options_equal cairo_font_options_equal;
636 pf_cairo_curve_to cairo_curve_to;
637 pf_cairo_create cairo_create;
638 pf_cairo_fill_preserve cairo_fill_preserve;
639 pf_cairo_pattern_create_radial cairo_pattern_create_radial;
640 pf_cairo_get_fill_rule cairo_get_fill_rule;
641 pf_cairo_paint_with_alpha cairo_paint_with_alpha;
642 pf_cairo_matrix_invert cairo_matrix_invert;
643 pf_cairo_glyph_extents cairo_glyph_extents;
644 pf_cairo_set_antialias cairo_set_antialias;
645 pf_cairo_pattern_reference cairo_pattern_reference;
646 pf_cairo_user_to_device cairo_user_to_device;
647 pf_cairo_fill_extents cairo_fill_extents;
648 pf_cairo_matrix_transform_point cairo_matrix_transform_point;
649 pf_cairo_get_target cairo_get_target;
650 pf_cairo_get_operator cairo_get_operator;
651 pf_cairo_set_font_size cairo_set_font_size;
652 pf_cairo_image_surface_get_height cairo_image_surface_get_height;
653 pf_cairo_arc cairo_arc;
654 pf_cairo_close_path cairo_close_path;
655 pf_cairo_matrix_multiply cairo_matrix_multiply;
656 pf_cairo_identity_matrix cairo_identity_matrix;
657 pf_cairo_scale cairo_scale;
658 pf_cairo_matrix_init_translate cairo_matrix_init_translate;
659 version( cairo_1_2 )
660 {
661     pf_cairo_scaled_font_get_ctm cairo_scaled_font_get_ctm;
662     pf_cairo_image_surface_get_format cairo_image_surface_get_format;
663     pf_cairo_surface_get_content cairo_surface_get_content;
664     pf_cairo_set_scaled_font cairo_set_scaled_font;
665     pf_cairo_surface_get_device_offset cairo_surface_get_device_offset;
666     pf_cairo_scaled_font_get_font_options cairo_scaled_font_get_font_options;
667     pf_cairo_pop_group_to_source cairo_pop_group_to_source;
668     pf_cairo_scaled_font_text_extents cairo_scaled_font_text_extents;
669     pf_cairo_push_group_with_content cairo_push_group_with_content;
670     pf_cairo_pattern_get_type cairo_pattern_get_type;
671     pf_cairo_image_surface_get_data cairo_image_surface_get_data;
672     pf_cairo_get_group_target cairo_get_group_target;
673     pf_cairo_surface_set_fallback_resolution cairo_surface_set_fallback_resolution;
674     pf_cairo_scaled_font_get_font_matrix cairo_scaled_font_get_font_matrix;
675     pf_cairo_scaled_font_get_font_face cairo_scaled_font_get_font_face;
676     pf_cairo_scaled_font_get_type cairo_scaled_font_get_type;
677     pf_cairo_pop_group cairo_pop_group;
678     pf_cairo_font_face_get_type cairo_font_face_get_type;
679     pf_cairo_surface_get_type cairo_surface_get_type;
680     pf_cairo_push_group cairo_push_group;
681     pf_cairo_new_sub_path cairo_new_sub_path;
682     pf_cairo_image_surface_get_stride cairo_image_surface_get_stride;
683 }
684 version( cairo_1_4 )
685 {
686     pf_cairo_get_user_data cairo_get_user_data;
687     pf_cairo_scaled_font_get_user_data cairo_scaled_font_get_user_data;
688     pf_cairo_pattern_get_rgba cairo_pattern_get_rgba;
689     pf_cairo_font_face_get_reference_count cairo_font_face_get_reference_count;
690     pf_cairo_scaled_font_set_user_data cairo_scaled_font_set_user_data;
691     pf_cairo_pattern_get_radial_circles cairo_pattern_get_radial_circles;
692     pf_cairo_clip_extents cairo_clip_extents;
693     pf_cairo_pattern_get_color_stop_rgba cairo_pattern_get_color_stop_rgba;
694     pf_cairo_get_dash_count cairo_get_dash_count;
695     pf_cairo_get_reference_count cairo_get_reference_count;
696     pf_cairo_rectangle_list_destroy cairo_rectangle_list_destroy;
697     pf_cairo_pattern_get_reference_count cairo_pattern_get_reference_count;
698     pf_cairo_pattern_get_surface cairo_pattern_get_surface;
699     pf_cairo_pattern_set_user_data cairo_pattern_set_user_data;
700     pf_cairo_get_dash cairo_get_dash;
701     pf_cairo_set_user_data cairo_set_user_data;
702     pf_cairo_scaled_font_get_reference_count cairo_scaled_font_get_reference_count;
703     pf_cairo_get_scaled_font cairo_get_scaled_font;
704     pf_cairo_copy_clip_rectangle_list cairo_copy_clip_rectangle_list;
705     pf_cairo_pattern_get_color_stop_count cairo_pattern_get_color_stop_count;
706     pf_cairo_surface_get_reference_count cairo_surface_get_reference_count;
707     pf_cairo_pattern_get_user_data cairo_pattern_get_user_data;
708     pf_cairo_pattern_get_linear_points cairo_pattern_get_linear_points;
709 }
Note: See TracBrowser for help on using the browser.