@@ -31,11 +31,8 @@ extern std::array<uint8_t, 0x10000> unpremultiplication_table;
31
31
extern void (*cairo_tag_begin)(cairo_t *, char const *, char const *);
32
32
extern void (*cairo_tag_end)(cairo_t *, char const *);
33
33
34
- // Copy-pasted from cairo-pdf.h.
35
- typedef enum _cairo_pdf_version {
36
- CAIRO_PDF_VERSION_1_4,
37
- CAIRO_PDF_VERSION_1_5
38
- } cairo_pdf_version_t ;
34
+ // Modified from cairo-pdf.h.
35
+ enum cairo_pdf_version_t {};
39
36
typedef enum _cairo_pdf_metadata {
40
37
CAIRO_PDF_METADATA_TITLE,
41
38
CAIRO_PDF_METADATA_AUTHOR,
@@ -46,6 +43,7 @@ typedef enum _cairo_pdf_metadata {
46
43
CAIRO_PDF_METADATA_MOD_DATE,
47
44
} cairo_pdf_metadata_t ;
48
45
46
+ extern void (*cairo_pdf_get_versions)(cairo_pdf_version_t const **, int *);
49
47
extern cairo_surface_t * (*cairo_pdf_surface_create_for_stream)(
50
48
cairo_write_func_t , void *, double , double );
51
49
extern void (*cairo_pdf_surface_restrict_to_version)(
@@ -54,11 +52,9 @@ extern void (*cairo_pdf_surface_set_metadata)(
54
52
cairo_surface_t *, cairo_pdf_metadata_t , char const *);
55
53
extern void (*cairo_pdf_surface_set_size)(cairo_surface_t *, double , double );
56
54
57
- // Copy-pasted from cairo-ps.h.
58
- typedef enum _cairo_ps_level {
59
- CAIRO_PS_LEVEL_2,
60
- CAIRO_PS_LEVEL_3
61
- } cairo_ps_level_t ;
55
+ // Modified from cairo-ps.h.
56
+ enum cairo_ps_level_t {};
57
+ extern void (*cairo_ps_get_levels)(cairo_ps_level_t const **, int *);
62
58
extern cairo_surface_t * (*cairo_ps_surface_create_for_stream)(
63
59
cairo_write_func_t , void *, double , double );
64
60
extern void (*cairo_ps_surface_dsc_comment)(cairo_surface_t *, char const *);
@@ -67,11 +63,9 @@ extern void (*cairo_ps_surface_restrict_to_level)(
67
63
extern void (*cairo_ps_surface_set_eps)(cairo_surface_t *, cairo_bool_t );
68
64
extern void (*cairo_ps_surface_set_size)(cairo_surface_t *, double , double );
69
65
70
- // Copy-pasted from cairo-svg.h.
71
- typedef enum _cairo_svg_version {
72
- CAIRO_SVG_VERSION_1_1,
73
- CAIRO_SVG_VERSION_1_2
74
- } cairo_svg_version_t ;
66
+ // Modified from cairo-svg.h.
67
+ enum cairo_svg_version_t {};
68
+ extern void (*cairo_svg_get_versions)(cairo_svg_version_t const **, int *);
75
69
extern cairo_surface_t * (*cairo_svg_surface_create_for_stream)(
76
70
cairo_write_func_t , void *, double , double );
77
71
extern void (*cairo_svg_surface_restrict_to_version)(
@@ -80,15 +74,18 @@ extern void (*cairo_svg_surface_restrict_to_version)(
80
74
#define ITER_CAIRO_OPTIONAL_API (_ ) \
81
75
_ (cairo_tag_begin) \
82
76
_ (cairo_tag_end) \
77
+ _ (cairo_pdf_get_versions) \
83
78
_ (cairo_pdf_surface_create_for_stream) \
84
79
_ (cairo_pdf_surface_restrict_to_version) \
85
80
_ (cairo_pdf_surface_set_metadata) \
86
81
_ (cairo_pdf_surface_set_size) \
82
+ _ (cairo_ps_get_levels) \
87
83
_ (cairo_ps_surface_create_for_stream) \
88
84
_ (cairo_ps_surface_dsc_comment) \
89
85
_ (cairo_ps_surface_restrict_to_level) \
90
86
_ (cairo_ps_surface_set_eps) \
91
87
_ (cairo_ps_surface_set_size) \
88
+ _ (cairo_svg_get_versions) \
92
89
_ (cairo_svg_surface_create_for_stream) \
93
90
_ (cairo_svg_surface_restrict_to_version)
94
91
0 commit comments