@@ -45,18 +45,17 @@ CAIRO_BEGIN_DECLS
4545
4646/**
4747 * cairo_pdf_version_t:
48- * @CAIRO_PDF_VERSION_1_4: The version 1.4 of the PDF specification.
49- * @CAIRO_PDF_VERSION_1_5: The version 1.5 of the PDF specification.
48+ * @CAIRO_PDF_VERSION_1_4: The version 1.4 of the PDF specification. (Since 1.10)
49+ * @CAIRO_PDF_VERSION_1_5: The version 1.5 of the PDF specification. (Since 1.10)
50+ * @CAIRO_PDF_VERSION_1_6: The version 1.6 of the PDF specification. (Since 1.18)
51+ * @CAIRO_PDF_VERSION_1_7: The version 1.7 of the PDF specification. (Since 1.18)
5052 *
5153 * #cairo_pdf_version_t is used to describe the version number of the PDF
5254 * specification that a generated PDF file will conform to.
5355 *
54- * Since 1.10
55- */
56- typedef enum _cairo_pdf_version {
57- CAIRO_PDF_VERSION_1_4 ,
58- CAIRO_PDF_VERSION_1_5
59- } cairo_pdf_version_t ;
56+ * Since: 1.10
57+ **/
58+ typedef enum _cairo_pdf_version { CAIRO_PDF_VERSION_1_4 , CAIRO_PDF_VERSION_1_5 , CAIRO_PDF_VERSION_1_6 , CAIRO_PDF_VERSION_1_7 } cairo_pdf_version_t ;
6059
6160cairo_public cairo_surface_t *
6261cairo_pdf_surface_create (const char * filename ,
@@ -85,6 +84,62 @@ cairo_pdf_surface_set_size (cairo_surface_t *surface,
8584 double width_in_points ,
8685 double height_in_points );
8786
87+ /**
88+ * cairo_pdf_outline_flags_t:
89+ * @CAIRO_PDF_OUTLINE_FLAG_OPEN: The outline item defaults to open in the PDF viewer (Since 1.16)
90+ * @CAIRO_PDF_OUTLINE_FLAG_BOLD: The outline item is displayed by the viewer in bold text (Since 1.16)
91+ * @CAIRO_PDF_OUTLINE_FLAG_ITALIC: The outline item is displayed by the viewer in italic text (Since 1.16)
92+ *
93+ * #cairo_pdf_outline_flags_t is used by the
94+ * cairo_pdf_surface_add_outline() function specify the attributes of
95+ * an outline item. These flags may be bitwise-or'd to produce any
96+ * combination of flags.
97+ *
98+ * Since: 1.16
99+ **/
100+ typedef enum _cairo_pdf_outline_flags {
101+ CAIRO_PDF_OUTLINE_FLAG_OPEN = 0x1 ,
102+ CAIRO_PDF_OUTLINE_FLAG_BOLD = 0x2 ,
103+ CAIRO_PDF_OUTLINE_FLAG_ITALIC = 0x4 ,
104+ } cairo_pdf_outline_flags_t ;
105+
106+ #define CAIRO_PDF_OUTLINE_ROOT 0
107+
108+ cairo_public int cairo_pdf_surface_add_outline ( cairo_surface_t * surface , int parent_id , const char * utf8 , const char * link_attribs , cairo_pdf_outline_flags_t flags );
109+
110+ /**
111+ * cairo_pdf_metadata_t:
112+ * @CAIRO_PDF_METADATA_TITLE: The document title (Since 1.16)
113+ * @CAIRO_PDF_METADATA_AUTHOR: The document author (Since 1.16)
114+ * @CAIRO_PDF_METADATA_SUBJECT: The document subject (Since 1.16)
115+ * @CAIRO_PDF_METADATA_KEYWORDS: The document keywords (Since 1.16)
116+ * @CAIRO_PDF_METADATA_CREATOR: The document creator (Since 1.16)
117+ * @CAIRO_PDF_METADATA_CREATE_DATE: The document creation date (Since 1.16)
118+ * @CAIRO_PDF_METADATA_MOD_DATE: The document modification date (Since 1.16)
119+ *
120+ * #cairo_pdf_metadata_t is used by the
121+ * cairo_pdf_surface_set_metadata() function specify the metadata to set.
122+ *
123+ * Since: 1.16
124+ **/
125+ typedef enum _cairo_pdf_metadata {
126+ CAIRO_PDF_METADATA_TITLE ,
127+ CAIRO_PDF_METADATA_AUTHOR ,
128+ CAIRO_PDF_METADATA_SUBJECT ,
129+ CAIRO_PDF_METADATA_KEYWORDS ,
130+ CAIRO_PDF_METADATA_CREATOR ,
131+ CAIRO_PDF_METADATA_CREATE_DATE ,
132+ CAIRO_PDF_METADATA_MOD_DATE ,
133+ } cairo_pdf_metadata_t ;
134+
135+ cairo_public void cairo_pdf_surface_set_metadata ( cairo_surface_t * surface , cairo_pdf_metadata_t metadata , const char * utf8 );
136+
137+ cairo_public void cairo_pdf_surface_set_custom_metadata ( cairo_surface_t * surface , const char * name , const char * value );
138+
139+ cairo_public void cairo_pdf_surface_set_page_label ( cairo_surface_t * surface , const char * utf8 );
140+
141+ cairo_public void cairo_pdf_surface_set_thumbnail_size ( cairo_surface_t * surface , int width , int height );
142+
88143CAIRO_END_DECLS
89144
90145#else /* CAIRO_HAS_PDF_SURFACE */
0 commit comments