Skip to main content

poppler_sys/
lib.rs

1// Generated by gir (https://github.com/gtk-rs/gir @ 36917718ae60)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files @ 6cef10cd64df)
4// DO NOT EDIT
5
6#![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)]
7#![allow(
8    clippy::approx_constant,
9    clippy::type_complexity,
10    clippy::unreadable_literal,
11    clippy::upper_case_acronyms
12)]
13#![cfg_attr(docsrs, feature(doc_cfg))]
14
15use cairo_sys as cairo;
16use gio_sys as gio;
17use glib_sys as glib;
18use gobject_sys as gobject;
19
20#[allow(unused_imports)]
21use libc::{FILE, intptr_t, off_t, size_t, ssize_t, time_t, uintptr_t};
22#[cfg(unix)]
23#[allow(unused_imports)]
24use libc::{dev_t, gid_t, pid_t, socklen_t, uid_t};
25#[allow(unused_imports)]
26use std::ffi::{
27    c_char, c_double, c_float, c_int, c_long, c_short, c_uchar, c_uint, c_ulong, c_ushort, c_void,
28};
29
30#[allow(unused_imports)]
31use glib::{GType, gboolean, gconstpointer, gpointer};
32
33// Enums
34pub type PopplerActionLayerAction = c_int;
35pub const POPPLER_ACTION_LAYER_ON: PopplerActionLayerAction = 0;
36pub const POPPLER_ACTION_LAYER_OFF: PopplerActionLayerAction = 1;
37pub const POPPLER_ACTION_LAYER_TOGGLE: PopplerActionLayerAction = 2;
38
39pub type PopplerActionMovieOperation = c_int;
40pub const POPPLER_ACTION_MOVIE_PLAY: PopplerActionMovieOperation = 0;
41pub const POPPLER_ACTION_MOVIE_PAUSE: PopplerActionMovieOperation = 1;
42pub const POPPLER_ACTION_MOVIE_RESUME: PopplerActionMovieOperation = 2;
43pub const POPPLER_ACTION_MOVIE_STOP: PopplerActionMovieOperation = 3;
44
45pub type PopplerActionType = c_int;
46pub const POPPLER_ACTION_UNKNOWN: PopplerActionType = 0;
47pub const POPPLER_ACTION_NONE: PopplerActionType = 1;
48pub const POPPLER_ACTION_GOTO_DEST: PopplerActionType = 2;
49pub const POPPLER_ACTION_GOTO_REMOTE: PopplerActionType = 3;
50pub const POPPLER_ACTION_LAUNCH: PopplerActionType = 4;
51pub const POPPLER_ACTION_URI: PopplerActionType = 5;
52pub const POPPLER_ACTION_NAMED: PopplerActionType = 6;
53pub const POPPLER_ACTION_MOVIE: PopplerActionType = 7;
54pub const POPPLER_ACTION_RENDITION: PopplerActionType = 8;
55pub const POPPLER_ACTION_OCG_STATE: PopplerActionType = 9;
56pub const POPPLER_ACTION_JAVASCRIPT: PopplerActionType = 10;
57pub const POPPLER_ACTION_RESET_FORM: PopplerActionType = 11;
58
59pub type PopplerAdditionalActionType = c_int;
60pub const POPPLER_ADDITIONAL_ACTION_FIELD_MODIFIED: PopplerAdditionalActionType = 0;
61pub const POPPLER_ADDITIONAL_ACTION_FORMAT_FIELD: PopplerAdditionalActionType = 1;
62pub const POPPLER_ADDITIONAL_ACTION_VALIDATE_FIELD: PopplerAdditionalActionType = 2;
63pub const POPPLER_ADDITIONAL_ACTION_CALCULATE_FIELD: PopplerAdditionalActionType = 3;
64
65pub type PopplerAnnotExternalDataType = c_int;
66pub const POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D: PopplerAnnotExternalDataType = 0;
67pub const POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN: PopplerAnnotExternalDataType = 1;
68
69pub type PopplerAnnotFreeTextQuadding = c_int;
70pub const POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED: PopplerAnnotFreeTextQuadding = 0;
71pub const POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED: PopplerAnnotFreeTextQuadding = 1;
72pub const POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED: PopplerAnnotFreeTextQuadding = 2;
73
74pub type PopplerAnnotMarkupReplyType = c_int;
75pub const POPPLER_ANNOT_MARKUP_REPLY_TYPE_R: PopplerAnnotMarkupReplyType = 0;
76pub const POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP: PopplerAnnotMarkupReplyType = 1;
77
78pub type PopplerAnnotStampIcon = c_int;
79pub const POPPLER_ANNOT_STAMP_ICON_UNKNOWN: PopplerAnnotStampIcon = 0;
80pub const POPPLER_ANNOT_STAMP_ICON_APPROVED: PopplerAnnotStampIcon = 1;
81pub const POPPLER_ANNOT_STAMP_ICON_AS_IS: PopplerAnnotStampIcon = 2;
82pub const POPPLER_ANNOT_STAMP_ICON_CONFIDENTIAL: PopplerAnnotStampIcon = 3;
83pub const POPPLER_ANNOT_STAMP_ICON_FINAL: PopplerAnnotStampIcon = 4;
84pub const POPPLER_ANNOT_STAMP_ICON_EXPERIMENTAL: PopplerAnnotStampIcon = 5;
85pub const POPPLER_ANNOT_STAMP_ICON_EXPIRED: PopplerAnnotStampIcon = 6;
86pub const POPPLER_ANNOT_STAMP_ICON_NOT_APPROVED: PopplerAnnotStampIcon = 7;
87pub const POPPLER_ANNOT_STAMP_ICON_NOT_FOR_PUBLIC_RELEASE: PopplerAnnotStampIcon = 8;
88pub const POPPLER_ANNOT_STAMP_ICON_SOLD: PopplerAnnotStampIcon = 9;
89pub const POPPLER_ANNOT_STAMP_ICON_DEPARTMENTAL: PopplerAnnotStampIcon = 10;
90pub const POPPLER_ANNOT_STAMP_ICON_FOR_COMMENT: PopplerAnnotStampIcon = 11;
91pub const POPPLER_ANNOT_STAMP_ICON_FOR_PUBLIC_RELEASE: PopplerAnnotStampIcon = 12;
92pub const POPPLER_ANNOT_STAMP_ICON_TOP_SECRET: PopplerAnnotStampIcon = 13;
93pub const POPPLER_ANNOT_STAMP_ICON_NONE: PopplerAnnotStampIcon = 14;
94
95pub type PopplerAnnotTextState = c_int;
96pub const POPPLER_ANNOT_TEXT_STATE_MARKED: PopplerAnnotTextState = 0;
97pub const POPPLER_ANNOT_TEXT_STATE_UNMARKED: PopplerAnnotTextState = 1;
98pub const POPPLER_ANNOT_TEXT_STATE_ACCEPTED: PopplerAnnotTextState = 2;
99pub const POPPLER_ANNOT_TEXT_STATE_REJECTED: PopplerAnnotTextState = 3;
100pub const POPPLER_ANNOT_TEXT_STATE_CANCELLED: PopplerAnnotTextState = 4;
101pub const POPPLER_ANNOT_TEXT_STATE_COMPLETED: PopplerAnnotTextState = 5;
102pub const POPPLER_ANNOT_TEXT_STATE_NONE: PopplerAnnotTextState = 6;
103pub const POPPLER_ANNOT_TEXT_STATE_UNKNOWN: PopplerAnnotTextState = 7;
104
105pub type PopplerAnnotType = c_int;
106pub const POPPLER_ANNOT_UNKNOWN: PopplerAnnotType = 0;
107pub const POPPLER_ANNOT_TEXT: PopplerAnnotType = 1;
108pub const POPPLER_ANNOT_LINK: PopplerAnnotType = 2;
109pub const POPPLER_ANNOT_FREE_TEXT: PopplerAnnotType = 3;
110pub const POPPLER_ANNOT_LINE: PopplerAnnotType = 4;
111pub const POPPLER_ANNOT_SQUARE: PopplerAnnotType = 5;
112pub const POPPLER_ANNOT_CIRCLE: PopplerAnnotType = 6;
113pub const POPPLER_ANNOT_POLYGON: PopplerAnnotType = 7;
114pub const POPPLER_ANNOT_POLY_LINE: PopplerAnnotType = 8;
115pub const POPPLER_ANNOT_HIGHLIGHT: PopplerAnnotType = 9;
116pub const POPPLER_ANNOT_UNDERLINE: PopplerAnnotType = 10;
117pub const POPPLER_ANNOT_SQUIGGLY: PopplerAnnotType = 11;
118pub const POPPLER_ANNOT_STRIKE_OUT: PopplerAnnotType = 12;
119pub const POPPLER_ANNOT_STAMP: PopplerAnnotType = 13;
120pub const POPPLER_ANNOT_CARET: PopplerAnnotType = 14;
121pub const POPPLER_ANNOT_INK: PopplerAnnotType = 15;
122pub const POPPLER_ANNOT_POPUP: PopplerAnnotType = 16;
123pub const POPPLER_ANNOT_FILE_ATTACHMENT: PopplerAnnotType = 17;
124pub const POPPLER_ANNOT_SOUND: PopplerAnnotType = 18;
125pub const POPPLER_ANNOT_MOVIE: PopplerAnnotType = 19;
126pub const POPPLER_ANNOT_WIDGET: PopplerAnnotType = 20;
127pub const POPPLER_ANNOT_SCREEN: PopplerAnnotType = 21;
128pub const POPPLER_ANNOT_PRINTER_MARK: PopplerAnnotType = 22;
129pub const POPPLER_ANNOT_TRAP_NET: PopplerAnnotType = 23;
130pub const POPPLER_ANNOT_WATERMARK: PopplerAnnotType = 24;
131pub const POPPLER_ANNOT_3D: PopplerAnnotType = 25;
132
133pub type PopplerBackend = c_int;
134pub const POPPLER_BACKEND_UNKNOWN: PopplerBackend = 0;
135pub const POPPLER_BACKEND_SPLASH: PopplerBackend = 1;
136pub const POPPLER_BACKEND_CAIRO: PopplerBackend = 2;
137
138pub type PopplerCertificateStatus = c_int;
139pub const POPPLER_CERTIFICATE_TRUSTED: PopplerCertificateStatus = 0;
140pub const POPPLER_CERTIFICATE_UNTRUSTED_ISSUER: PopplerCertificateStatus = 1;
141pub const POPPLER_CERTIFICATE_UNKNOWN_ISSUER: PopplerCertificateStatus = 2;
142pub const POPPLER_CERTIFICATE_REVOKED: PopplerCertificateStatus = 3;
143pub const POPPLER_CERTIFICATE_EXPIRED: PopplerCertificateStatus = 4;
144pub const POPPLER_CERTIFICATE_GENERIC_ERROR: PopplerCertificateStatus = 5;
145pub const POPPLER_CERTIFICATE_NOT_VERIFIED: PopplerCertificateStatus = 6;
146
147pub type PopplerDestType = c_int;
148pub const POPPLER_DEST_UNKNOWN: PopplerDestType = 0;
149pub const POPPLER_DEST_XYZ: PopplerDestType = 1;
150pub const POPPLER_DEST_FIT: PopplerDestType = 2;
151pub const POPPLER_DEST_FITH: PopplerDestType = 3;
152pub const POPPLER_DEST_FITV: PopplerDestType = 4;
153pub const POPPLER_DEST_FITR: PopplerDestType = 5;
154pub const POPPLER_DEST_FITB: PopplerDestType = 6;
155pub const POPPLER_DEST_FITBH: PopplerDestType = 7;
156pub const POPPLER_DEST_FITBV: PopplerDestType = 8;
157pub const POPPLER_DEST_NAMED: PopplerDestType = 9;
158
159pub type PopplerError = c_int;
160pub const POPPLER_ERROR_INVALID: PopplerError = 0;
161pub const POPPLER_ERROR_ENCRYPTED: PopplerError = 1;
162pub const POPPLER_ERROR_OPEN_FILE: PopplerError = 2;
163pub const POPPLER_ERROR_BAD_CATALOG: PopplerError = 3;
164pub const POPPLER_ERROR_DAMAGED: PopplerError = 4;
165pub const POPPLER_ERROR_SIGNING: PopplerError = 5;
166
167pub type PopplerFontType = c_int;
168pub const POPPLER_FONT_TYPE_UNKNOWN: PopplerFontType = 0;
169pub const POPPLER_FONT_TYPE_TYPE1: PopplerFontType = 1;
170pub const POPPLER_FONT_TYPE_TYPE1C: PopplerFontType = 2;
171pub const POPPLER_FONT_TYPE_TYPE1COT: PopplerFontType = 3;
172pub const POPPLER_FONT_TYPE_TYPE3: PopplerFontType = 4;
173pub const POPPLER_FONT_TYPE_TRUETYPE: PopplerFontType = 5;
174pub const POPPLER_FONT_TYPE_TRUETYPEOT: PopplerFontType = 6;
175pub const POPPLER_FONT_TYPE_CID_TYPE0: PopplerFontType = 7;
176pub const POPPLER_FONT_TYPE_CID_TYPE0C: PopplerFontType = 8;
177pub const POPPLER_FONT_TYPE_CID_TYPE0COT: PopplerFontType = 9;
178pub const POPPLER_FONT_TYPE_CID_TYPE2: PopplerFontType = 10;
179pub const POPPLER_FONT_TYPE_CID_TYPE2OT: PopplerFontType = 11;
180
181pub type PopplerFormButtonType = c_int;
182pub const POPPLER_FORM_BUTTON_PUSH: PopplerFormButtonType = 0;
183pub const POPPLER_FORM_BUTTON_CHECK: PopplerFormButtonType = 1;
184pub const POPPLER_FORM_BUTTON_RADIO: PopplerFormButtonType = 2;
185
186pub type PopplerFormChoiceType = c_int;
187pub const POPPLER_FORM_CHOICE_COMBO: PopplerFormChoiceType = 0;
188pub const POPPLER_FORM_CHOICE_LIST: PopplerFormChoiceType = 1;
189
190pub type PopplerFormFieldType = c_int;
191pub const POPPLER_FORM_FIELD_UNKNOWN: PopplerFormFieldType = 0;
192pub const POPPLER_FORM_FIELD_BUTTON: PopplerFormFieldType = 1;
193pub const POPPLER_FORM_FIELD_TEXT: PopplerFormFieldType = 2;
194pub const POPPLER_FORM_FIELD_CHOICE: PopplerFormFieldType = 3;
195pub const POPPLER_FORM_FIELD_SIGNATURE: PopplerFormFieldType = 4;
196
197pub type PopplerFormTextType = c_int;
198pub const POPPLER_FORM_TEXT_NORMAL: PopplerFormTextType = 0;
199pub const POPPLER_FORM_TEXT_MULTILINE: PopplerFormTextType = 1;
200pub const POPPLER_FORM_TEXT_FILE_SELECT: PopplerFormTextType = 2;
201
202pub type PopplerMoviePlayMode = c_int;
203pub const POPPLER_MOVIE_PLAY_MODE_ONCE: PopplerMoviePlayMode = 0;
204pub const POPPLER_MOVIE_PLAY_MODE_OPEN: PopplerMoviePlayMode = 1;
205pub const POPPLER_MOVIE_PLAY_MODE_REPEAT: PopplerMoviePlayMode = 2;
206pub const POPPLER_MOVIE_PLAY_MODE_PALINDROME: PopplerMoviePlayMode = 3;
207
208pub type PopplerPDFConformance = c_int;
209pub const POPPLER_PDF_SUBTYPE_CONF_UNSET: PopplerPDFConformance = 0;
210pub const POPPLER_PDF_SUBTYPE_CONF_A: PopplerPDFConformance = 1;
211pub const POPPLER_PDF_SUBTYPE_CONF_B: PopplerPDFConformance = 2;
212pub const POPPLER_PDF_SUBTYPE_CONF_G: PopplerPDFConformance = 3;
213pub const POPPLER_PDF_SUBTYPE_CONF_N: PopplerPDFConformance = 4;
214pub const POPPLER_PDF_SUBTYPE_CONF_P: PopplerPDFConformance = 5;
215pub const POPPLER_PDF_SUBTYPE_CONF_PG: PopplerPDFConformance = 6;
216pub const POPPLER_PDF_SUBTYPE_CONF_U: PopplerPDFConformance = 7;
217pub const POPPLER_PDF_SUBTYPE_CONF_NONE: PopplerPDFConformance = 8;
218
219pub type PopplerPDFPart = c_int;
220pub const POPPLER_PDF_SUBTYPE_PART_UNSET: PopplerPDFPart = 0;
221pub const POPPLER_PDF_SUBTYPE_PART_1: PopplerPDFPart = 1;
222pub const POPPLER_PDF_SUBTYPE_PART_2: PopplerPDFPart = 2;
223pub const POPPLER_PDF_SUBTYPE_PART_3: PopplerPDFPart = 3;
224pub const POPPLER_PDF_SUBTYPE_PART_4: PopplerPDFPart = 4;
225pub const POPPLER_PDF_SUBTYPE_PART_5: PopplerPDFPart = 5;
226pub const POPPLER_PDF_SUBTYPE_PART_6: PopplerPDFPart = 6;
227pub const POPPLER_PDF_SUBTYPE_PART_7: PopplerPDFPart = 7;
228pub const POPPLER_PDF_SUBTYPE_PART_8: PopplerPDFPart = 8;
229pub const POPPLER_PDF_SUBTYPE_PART_NONE: PopplerPDFPart = 9;
230
231pub type PopplerPDFSubtype = c_int;
232pub const POPPLER_PDF_SUBTYPE_UNSET: PopplerPDFSubtype = 0;
233pub const POPPLER_PDF_SUBTYPE_PDF_A: PopplerPDFSubtype = 1;
234pub const POPPLER_PDF_SUBTYPE_PDF_E: PopplerPDFSubtype = 2;
235pub const POPPLER_PDF_SUBTYPE_PDF_UA: PopplerPDFSubtype = 3;
236pub const POPPLER_PDF_SUBTYPE_PDF_VT: PopplerPDFSubtype = 4;
237pub const POPPLER_PDF_SUBTYPE_PDF_X: PopplerPDFSubtype = 5;
238pub const POPPLER_PDF_SUBTYPE_NONE: PopplerPDFSubtype = 6;
239
240pub type PopplerPageLayout = c_int;
241pub const POPPLER_PAGE_LAYOUT_UNSET: PopplerPageLayout = 0;
242pub const POPPLER_PAGE_LAYOUT_SINGLE_PAGE: PopplerPageLayout = 1;
243pub const POPPLER_PAGE_LAYOUT_ONE_COLUMN: PopplerPageLayout = 2;
244pub const POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT: PopplerPageLayout = 3;
245pub const POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT: PopplerPageLayout = 4;
246pub const POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT: PopplerPageLayout = 5;
247pub const POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT: PopplerPageLayout = 6;
248
249pub type PopplerPageMode = c_int;
250pub const POPPLER_PAGE_MODE_UNSET: PopplerPageMode = 0;
251pub const POPPLER_PAGE_MODE_NONE: PopplerPageMode = 1;
252pub const POPPLER_PAGE_MODE_USE_OUTLINES: PopplerPageMode = 2;
253pub const POPPLER_PAGE_MODE_USE_THUMBS: PopplerPageMode = 3;
254pub const POPPLER_PAGE_MODE_FULL_SCREEN: PopplerPageMode = 4;
255pub const POPPLER_PAGE_MODE_USE_OC: PopplerPageMode = 5;
256pub const POPPLER_PAGE_MODE_USE_ATTACHMENTS: PopplerPageMode = 6;
257
258pub type PopplerPageTransitionAlignment = c_int;
259pub const POPPLER_PAGE_TRANSITION_HORIZONTAL: PopplerPageTransitionAlignment = 0;
260pub const POPPLER_PAGE_TRANSITION_VERTICAL: PopplerPageTransitionAlignment = 1;
261
262pub type PopplerPageTransitionDirection = c_int;
263pub const POPPLER_PAGE_TRANSITION_INWARD: PopplerPageTransitionDirection = 0;
264pub const POPPLER_PAGE_TRANSITION_OUTWARD: PopplerPageTransitionDirection = 1;
265
266pub type PopplerPageTransitionType = c_int;
267pub const POPPLER_PAGE_TRANSITION_REPLACE: PopplerPageTransitionType = 0;
268pub const POPPLER_PAGE_TRANSITION_SPLIT: PopplerPageTransitionType = 1;
269pub const POPPLER_PAGE_TRANSITION_BLINDS: PopplerPageTransitionType = 2;
270pub const POPPLER_PAGE_TRANSITION_BOX: PopplerPageTransitionType = 3;
271pub const POPPLER_PAGE_TRANSITION_WIPE: PopplerPageTransitionType = 4;
272pub const POPPLER_PAGE_TRANSITION_DISSOLVE: PopplerPageTransitionType = 5;
273pub const POPPLER_PAGE_TRANSITION_GLITTER: PopplerPageTransitionType = 6;
274pub const POPPLER_PAGE_TRANSITION_FLY: PopplerPageTransitionType = 7;
275pub const POPPLER_PAGE_TRANSITION_PUSH: PopplerPageTransitionType = 8;
276pub const POPPLER_PAGE_TRANSITION_COVER: PopplerPageTransitionType = 9;
277pub const POPPLER_PAGE_TRANSITION_UNCOVER: PopplerPageTransitionType = 10;
278pub const POPPLER_PAGE_TRANSITION_FADE: PopplerPageTransitionType = 11;
279
280pub type PopplerPrintDuplex = c_int;
281pub const POPPLER_PRINT_DUPLEX_NONE: PopplerPrintDuplex = 0;
282pub const POPPLER_PRINT_DUPLEX_SIMPLEX: PopplerPrintDuplex = 1;
283pub const POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_SHORT_EDGE: PopplerPrintDuplex = 2;
284pub const POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_LONG_EDGE: PopplerPrintDuplex = 3;
285
286pub type PopplerPrintScaling = c_int;
287pub const POPPLER_PRINT_SCALING_APP_DEFAULT: PopplerPrintScaling = 0;
288pub const POPPLER_PRINT_SCALING_NONE: PopplerPrintScaling = 1;
289
290pub type PopplerSelectionStyle = c_int;
291pub const POPPLER_SELECTION_GLYPH: PopplerSelectionStyle = 0;
292pub const POPPLER_SELECTION_WORD: PopplerSelectionStyle = 1;
293pub const POPPLER_SELECTION_LINE: PopplerSelectionStyle = 2;
294
295pub type PopplerSignatureStatus = c_int;
296pub const POPPLER_SIGNATURE_VALID: PopplerSignatureStatus = 0;
297pub const POPPLER_SIGNATURE_INVALID: PopplerSignatureStatus = 1;
298pub const POPPLER_SIGNATURE_DIGEST_MISMATCH: PopplerSignatureStatus = 2;
299pub const POPPLER_SIGNATURE_DECODING_ERROR: PopplerSignatureStatus = 3;
300pub const POPPLER_SIGNATURE_GENERIC_ERROR: PopplerSignatureStatus = 4;
301pub const POPPLER_SIGNATURE_NOT_FOUND: PopplerSignatureStatus = 5;
302pub const POPPLER_SIGNATURE_NOT_VERIFIED: PopplerSignatureStatus = 6;
303
304pub type PopplerStretch = c_int;
305pub const POPPLER_STRETCH_ULTRA_CONDENSED: PopplerStretch = 0;
306pub const POPPLER_STRETCH_EXTRA_CONDENSED: PopplerStretch = 1;
307pub const POPPLER_STRETCH_CONDENSED: PopplerStretch = 2;
308pub const POPPLER_STRETCH_SEMI_CONDENSED: PopplerStretch = 3;
309pub const POPPLER_STRETCH_NORMAL: PopplerStretch = 4;
310pub const POPPLER_STRETCH_SEMI_EXPANDED: PopplerStretch = 5;
311pub const POPPLER_STRETCH_EXPANDED: PopplerStretch = 6;
312pub const POPPLER_STRETCH_EXTRA_EXPANDED: PopplerStretch = 7;
313pub const POPPLER_STRETCH_ULTRA_EXPANDED: PopplerStretch = 8;
314
315pub type PopplerStructureBlockAlign = c_int;
316pub const POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE: PopplerStructureBlockAlign = 0;
317pub const POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE: PopplerStructureBlockAlign = 1;
318pub const POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER: PopplerStructureBlockAlign = 2;
319pub const POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY: PopplerStructureBlockAlign = 3;
320
321pub type PopplerStructureBorderStyle = c_int;
322pub const POPPLER_STRUCTURE_BORDER_STYLE_NONE: PopplerStructureBorderStyle = 0;
323pub const POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN: PopplerStructureBorderStyle = 1;
324pub const POPPLER_STRUCTURE_BORDER_STYLE_DOTTED: PopplerStructureBorderStyle = 2;
325pub const POPPLER_STRUCTURE_BORDER_STYLE_DASHED: PopplerStructureBorderStyle = 3;
326pub const POPPLER_STRUCTURE_BORDER_STYLE_SOLID: PopplerStructureBorderStyle = 4;
327pub const POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE: PopplerStructureBorderStyle = 5;
328pub const POPPLER_STRUCTURE_BORDER_STYLE_GROOVE: PopplerStructureBorderStyle = 6;
329pub const POPPLER_STRUCTURE_BORDER_STYLE_INSET: PopplerStructureBorderStyle = 7;
330pub const POPPLER_STRUCTURE_BORDER_STYLE_OUTSET: PopplerStructureBorderStyle = 8;
331
332pub type PopplerStructureElementKind = c_int;
333pub const POPPLER_STRUCTURE_ELEMENT_CONTENT: PopplerStructureElementKind = 0;
334pub const POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE: PopplerStructureElementKind = 1;
335pub const POPPLER_STRUCTURE_ELEMENT_DOCUMENT: PopplerStructureElementKind = 2;
336pub const POPPLER_STRUCTURE_ELEMENT_PART: PopplerStructureElementKind = 3;
337pub const POPPLER_STRUCTURE_ELEMENT_ARTICLE: PopplerStructureElementKind = 4;
338pub const POPPLER_STRUCTURE_ELEMENT_SECTION: PopplerStructureElementKind = 5;
339pub const POPPLER_STRUCTURE_ELEMENT_DIV: PopplerStructureElementKind = 6;
340pub const POPPLER_STRUCTURE_ELEMENT_SPAN: PopplerStructureElementKind = 7;
341pub const POPPLER_STRUCTURE_ELEMENT_QUOTE: PopplerStructureElementKind = 8;
342pub const POPPLER_STRUCTURE_ELEMENT_NOTE: PopplerStructureElementKind = 9;
343pub const POPPLER_STRUCTURE_ELEMENT_REFERENCE: PopplerStructureElementKind = 10;
344pub const POPPLER_STRUCTURE_ELEMENT_BIBENTRY: PopplerStructureElementKind = 11;
345pub const POPPLER_STRUCTURE_ELEMENT_CODE: PopplerStructureElementKind = 12;
346pub const POPPLER_STRUCTURE_ELEMENT_LINK: PopplerStructureElementKind = 13;
347pub const POPPLER_STRUCTURE_ELEMENT_ANNOT: PopplerStructureElementKind = 14;
348pub const POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE: PopplerStructureElementKind = 15;
349pub const POPPLER_STRUCTURE_ELEMENT_CAPTION: PopplerStructureElementKind = 16;
350pub const POPPLER_STRUCTURE_ELEMENT_NONSTRUCT: PopplerStructureElementKind = 17;
351pub const POPPLER_STRUCTURE_ELEMENT_TOC: PopplerStructureElementKind = 18;
352pub const POPPLER_STRUCTURE_ELEMENT_TOC_ITEM: PopplerStructureElementKind = 19;
353pub const POPPLER_STRUCTURE_ELEMENT_INDEX: PopplerStructureElementKind = 20;
354pub const POPPLER_STRUCTURE_ELEMENT_PRIVATE: PopplerStructureElementKind = 21;
355pub const POPPLER_STRUCTURE_ELEMENT_PARAGRAPH: PopplerStructureElementKind = 22;
356pub const POPPLER_STRUCTURE_ELEMENT_HEADING: PopplerStructureElementKind = 23;
357pub const POPPLER_STRUCTURE_ELEMENT_HEADING_1: PopplerStructureElementKind = 24;
358pub const POPPLER_STRUCTURE_ELEMENT_HEADING_2: PopplerStructureElementKind = 25;
359pub const POPPLER_STRUCTURE_ELEMENT_HEADING_3: PopplerStructureElementKind = 26;
360pub const POPPLER_STRUCTURE_ELEMENT_HEADING_4: PopplerStructureElementKind = 27;
361pub const POPPLER_STRUCTURE_ELEMENT_HEADING_5: PopplerStructureElementKind = 28;
362pub const POPPLER_STRUCTURE_ELEMENT_HEADING_6: PopplerStructureElementKind = 29;
363pub const POPPLER_STRUCTURE_ELEMENT_LIST: PopplerStructureElementKind = 30;
364pub const POPPLER_STRUCTURE_ELEMENT_LIST_ITEM: PopplerStructureElementKind = 31;
365pub const POPPLER_STRUCTURE_ELEMENT_LIST_LABEL: PopplerStructureElementKind = 32;
366pub const POPPLER_STRUCTURE_ELEMENT_LIST_BODY: PopplerStructureElementKind = 33;
367pub const POPPLER_STRUCTURE_ELEMENT_TABLE: PopplerStructureElementKind = 34;
368pub const POPPLER_STRUCTURE_ELEMENT_TABLE_ROW: PopplerStructureElementKind = 35;
369pub const POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING: PopplerStructureElementKind = 36;
370pub const POPPLER_STRUCTURE_ELEMENT_TABLE_DATA: PopplerStructureElementKind = 37;
371pub const POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER: PopplerStructureElementKind = 38;
372pub const POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER: PopplerStructureElementKind = 39;
373pub const POPPLER_STRUCTURE_ELEMENT_TABLE_BODY: PopplerStructureElementKind = 40;
374pub const POPPLER_STRUCTURE_ELEMENT_RUBY: PopplerStructureElementKind = 41;
375pub const POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT: PopplerStructureElementKind = 42;
376pub const POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT: PopplerStructureElementKind = 43;
377pub const POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION: PopplerStructureElementKind = 44;
378pub const POPPLER_STRUCTURE_ELEMENT_WARICHU: PopplerStructureElementKind = 45;
379pub const POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT: PopplerStructureElementKind = 46;
380pub const POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION: PopplerStructureElementKind = 47;
381pub const POPPLER_STRUCTURE_ELEMENT_FIGURE: PopplerStructureElementKind = 48;
382pub const POPPLER_STRUCTURE_ELEMENT_FORMULA: PopplerStructureElementKind = 49;
383pub const POPPLER_STRUCTURE_ELEMENT_FORM: PopplerStructureElementKind = 50;
384
385pub type PopplerStructureFormRole = c_int;
386pub const POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED: PopplerStructureFormRole = 0;
387pub const POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON: PopplerStructureFormRole = 1;
388pub const POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON: PopplerStructureFormRole = 2;
389pub const POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE: PopplerStructureFormRole = 3;
390pub const POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX: PopplerStructureFormRole = 4;
391
392pub type PopplerStructureFormState = c_int;
393pub const POPPLER_STRUCTURE_FORM_STATE_ON: PopplerStructureFormState = 0;
394pub const POPPLER_STRUCTURE_FORM_STATE_OFF: PopplerStructureFormState = 1;
395pub const POPPLER_STRUCTURE_FORM_STATE_NEUTRAL: PopplerStructureFormState = 2;
396
397pub type PopplerStructureGlyphOrientation = c_int;
398pub const POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO: PopplerStructureGlyphOrientation = 0;
399pub const POPPLER_STRUCTURE_GLYPH_ORIENTATION_0: PopplerStructureGlyphOrientation = 0;
400pub const POPPLER_STRUCTURE_GLYPH_ORIENTATION_90: PopplerStructureGlyphOrientation = 1;
401pub const POPPLER_STRUCTURE_GLYPH_ORIENTATION_180: PopplerStructureGlyphOrientation = 2;
402pub const POPPLER_STRUCTURE_GLYPH_ORIENTATION_270: PopplerStructureGlyphOrientation = 3;
403
404pub type PopplerStructureInlineAlign = c_int;
405pub const POPPLER_STRUCTURE_INLINE_ALIGN_START: PopplerStructureInlineAlign = 0;
406pub const POPPLER_STRUCTURE_INLINE_ALIGN_CENTER: PopplerStructureInlineAlign = 1;
407pub const POPPLER_STRUCTURE_INLINE_ALIGN_END: PopplerStructureInlineAlign = 2;
408
409pub type PopplerStructureListNumbering = c_int;
410pub const POPPLER_STRUCTURE_LIST_NUMBERING_NONE: PopplerStructureListNumbering = 0;
411pub const POPPLER_STRUCTURE_LIST_NUMBERING_DISC: PopplerStructureListNumbering = 1;
412pub const POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE: PopplerStructureListNumbering = 2;
413pub const POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE: PopplerStructureListNumbering = 3;
414pub const POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL: PopplerStructureListNumbering = 4;
415pub const POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN: PopplerStructureListNumbering = 5;
416pub const POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN: PopplerStructureListNumbering = 6;
417pub const POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA: PopplerStructureListNumbering = 7;
418pub const POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA: PopplerStructureListNumbering = 8;
419
420pub type PopplerStructurePlacement = c_int;
421pub const POPPLER_STRUCTURE_PLACEMENT_BLOCK: PopplerStructurePlacement = 0;
422pub const POPPLER_STRUCTURE_PLACEMENT_INLINE: PopplerStructurePlacement = 1;
423pub const POPPLER_STRUCTURE_PLACEMENT_BEFORE: PopplerStructurePlacement = 2;
424pub const POPPLER_STRUCTURE_PLACEMENT_START: PopplerStructurePlacement = 3;
425pub const POPPLER_STRUCTURE_PLACEMENT_END: PopplerStructurePlacement = 4;
426
427pub type PopplerStructureRubyAlign = c_int;
428pub const POPPLER_STRUCTURE_RUBY_ALIGN_START: PopplerStructureRubyAlign = 0;
429pub const POPPLER_STRUCTURE_RUBY_ALIGN_CENTER: PopplerStructureRubyAlign = 1;
430pub const POPPLER_STRUCTURE_RUBY_ALIGN_END: PopplerStructureRubyAlign = 2;
431pub const POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY: PopplerStructureRubyAlign = 3;
432pub const POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE: PopplerStructureRubyAlign = 4;
433
434pub type PopplerStructureRubyPosition = c_int;
435pub const POPPLER_STRUCTURE_RUBY_POSITION_BEFORE: PopplerStructureRubyPosition = 0;
436pub const POPPLER_STRUCTURE_RUBY_POSITION_AFTER: PopplerStructureRubyPosition = 1;
437pub const POPPLER_STRUCTURE_RUBY_POSITION_WARICHU: PopplerStructureRubyPosition = 2;
438pub const POPPLER_STRUCTURE_RUBY_POSITION_INLINE: PopplerStructureRubyPosition = 3;
439
440pub type PopplerStructureTableScope = c_int;
441pub const POPPLER_STRUCTURE_TABLE_SCOPE_ROW: PopplerStructureTableScope = 0;
442pub const POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN: PopplerStructureTableScope = 1;
443pub const POPPLER_STRUCTURE_TABLE_SCOPE_BOTH: PopplerStructureTableScope = 2;
444
445pub type PopplerStructureTextAlign = c_int;
446pub const POPPLER_STRUCTURE_TEXT_ALIGN_START: PopplerStructureTextAlign = 0;
447pub const POPPLER_STRUCTURE_TEXT_ALIGN_CENTER: PopplerStructureTextAlign = 1;
448pub const POPPLER_STRUCTURE_TEXT_ALIGN_END: PopplerStructureTextAlign = 2;
449pub const POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY: PopplerStructureTextAlign = 3;
450
451pub type PopplerStructureTextDecoration = c_int;
452pub const POPPLER_STRUCTURE_TEXT_DECORATION_NONE: PopplerStructureTextDecoration = 0;
453pub const POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE: PopplerStructureTextDecoration = 1;
454pub const POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE: PopplerStructureTextDecoration = 2;
455pub const POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH: PopplerStructureTextDecoration = 3;
456
457pub type PopplerStructureWritingMode = c_int;
458pub const POPPLER_STRUCTURE_WRITING_MODE_LR_TB: PopplerStructureWritingMode = 0;
459pub const POPPLER_STRUCTURE_WRITING_MODE_RL_TB: PopplerStructureWritingMode = 1;
460pub const POPPLER_STRUCTURE_WRITING_MODE_TB_RL: PopplerStructureWritingMode = 2;
461
462pub type PopplerStyle = c_int;
463pub const POPPLER_STYLE_NORMAL: PopplerStyle = 0;
464pub const POPPLER_STYLE_OBLIQUE: PopplerStyle = 1;
465pub const POPPLER_STYLE_ITALIC: PopplerStyle = 2;
466
467pub type PopplerWeight = c_int;
468pub const POPPLER_WEIGHT_THIN: PopplerWeight = 100;
469pub const POPPLER_WEIGHT_ULTRALIGHT: PopplerWeight = 200;
470pub const POPPLER_WEIGHT_LIGHT: PopplerWeight = 300;
471pub const POPPLER_WEIGHT_NORMAL: PopplerWeight = 400;
472pub const POPPLER_WEIGHT_MEDIUM: PopplerWeight = 500;
473pub const POPPLER_WEIGHT_SEMIBOLD: PopplerWeight = 600;
474pub const POPPLER_WEIGHT_BOLD: PopplerWeight = 700;
475pub const POPPLER_WEIGHT_ULTRABOLD: PopplerWeight = 800;
476pub const POPPLER_WEIGHT_HEAVY: PopplerWeight = 900;
477
478// Constants
479pub const POPPLER_ANNOT_TEXT_ICON_CHECK: &[u8] = b"Check\0";
480pub const POPPLER_ANNOT_TEXT_ICON_CIRCLE: &[u8] = b"Circle\0";
481pub const POPPLER_ANNOT_TEXT_ICON_COMMENT: &[u8] = b"Comment\0";
482pub const POPPLER_ANNOT_TEXT_ICON_CROSS: &[u8] = b"Cross\0";
483pub const POPPLER_ANNOT_TEXT_ICON_CROSS_HAIRS: &[u8] = b"CrossHairs\0";
484pub const POPPLER_ANNOT_TEXT_ICON_HELP: &[u8] = b"Help\0";
485pub const POPPLER_ANNOT_TEXT_ICON_INSERT: &[u8] = b"Insert\0";
486pub const POPPLER_ANNOT_TEXT_ICON_KEY: &[u8] = b"Key\0";
487pub const POPPLER_ANNOT_TEXT_ICON_NEW_PARAGRAPH: &[u8] = b"NewParagraph\0";
488pub const POPPLER_ANNOT_TEXT_ICON_NOTE: &[u8] = b"Note\0";
489pub const POPPLER_ANNOT_TEXT_ICON_PARAGRAPH: &[u8] = b"Paragraph\0";
490pub const POPPLER_ANNOT_TEXT_ICON_RIGHT_ARROW: &[u8] = b"RightArrow\0";
491pub const POPPLER_ANNOT_TEXT_ICON_RIGHT_POINTER: &[u8] = b"RightPointer\0";
492pub const POPPLER_ANNOT_TEXT_ICON_STAR: &[u8] = b"Star\0";
493pub const POPPLER_ANNOT_TEXT_ICON_UP_ARROW: &[u8] = b"UpArrow\0";
494pub const POPPLER_ANNOT_TEXT_ICON_UP_LEFT_ARROW: &[u8] = b"UpLeftArrow\0";
495pub const POPPLER_HAS_CAIRO: c_int = 1;
496
497// Flags
498pub type PopplerAnnotFlag = c_uint;
499pub const POPPLER_ANNOT_FLAG_UNKNOWN: PopplerAnnotFlag = 0;
500pub const POPPLER_ANNOT_FLAG_INVISIBLE: PopplerAnnotFlag = 1;
501pub const POPPLER_ANNOT_FLAG_HIDDEN: PopplerAnnotFlag = 2;
502pub const POPPLER_ANNOT_FLAG_PRINT: PopplerAnnotFlag = 4;
503pub const POPPLER_ANNOT_FLAG_NO_ZOOM: PopplerAnnotFlag = 8;
504pub const POPPLER_ANNOT_FLAG_NO_ROTATE: PopplerAnnotFlag = 16;
505pub const POPPLER_ANNOT_FLAG_NO_VIEW: PopplerAnnotFlag = 32;
506pub const POPPLER_ANNOT_FLAG_READ_ONLY: PopplerAnnotFlag = 64;
507pub const POPPLER_ANNOT_FLAG_LOCKED: PopplerAnnotFlag = 128;
508pub const POPPLER_ANNOT_FLAG_TOGGLE_NO_VIEW: PopplerAnnotFlag = 256;
509pub const POPPLER_ANNOT_FLAG_LOCKED_CONTENTS: PopplerAnnotFlag = 512;
510
511pub type PopplerFindFlags = c_uint;
512pub const POPPLER_FIND_DEFAULT: PopplerFindFlags = 0;
513pub const POPPLER_FIND_CASE_SENSITIVE: PopplerFindFlags = 1;
514pub const POPPLER_FIND_BACKWARDS: PopplerFindFlags = 2;
515pub const POPPLER_FIND_WHOLE_WORDS_ONLY: PopplerFindFlags = 4;
516pub const POPPLER_FIND_IGNORE_DIACRITICS: PopplerFindFlags = 8;
517pub const POPPLER_FIND_MULTILINE: PopplerFindFlags = 16;
518
519pub type PopplerPermissions = c_uint;
520pub const POPPLER_PERMISSIONS_OK_TO_PRINT: PopplerPermissions = 1;
521pub const POPPLER_PERMISSIONS_OK_TO_MODIFY: PopplerPermissions = 2;
522pub const POPPLER_PERMISSIONS_OK_TO_COPY: PopplerPermissions = 4;
523pub const POPPLER_PERMISSIONS_OK_TO_ADD_NOTES: PopplerPermissions = 8;
524pub const POPPLER_PERMISSIONS_OK_TO_FILL_FORM: PopplerPermissions = 16;
525pub const POPPLER_PERMISSIONS_OK_TO_EXTRACT_CONTENTS: PopplerPermissions = 32;
526pub const POPPLER_PERMISSIONS_OK_TO_ASSEMBLE: PopplerPermissions = 64;
527pub const POPPLER_PERMISSIONS_OK_TO_PRINT_HIGH_RESOLUTION: PopplerPermissions = 128;
528pub const POPPLER_PERMISSIONS_FULL: PopplerPermissions = 255;
529
530pub type PopplerPrintFlags = c_uint;
531pub const POPPLER_PRINT_DOCUMENT: PopplerPrintFlags = 0;
532pub const POPPLER_PRINT_MARKUP_ANNOTS: PopplerPrintFlags = 1;
533pub const POPPLER_PRINT_STAMP_ANNOTS_ONLY: PopplerPrintFlags = 2;
534pub const POPPLER_PRINT_ALL: PopplerPrintFlags = 1;
535
536pub type PopplerRenderAnnotsFlags = c_uint;
537pub const POPPLER_RENDER_ANNOTS_NONE: PopplerRenderAnnotsFlags = 0;
538pub const POPPLER_RENDER_ANNOTS_TEXT: PopplerRenderAnnotsFlags = 1;
539pub const POPPLER_RENDER_ANNOTS_LINK: PopplerRenderAnnotsFlags = 2;
540pub const POPPLER_RENDER_ANNOTS_FREETEXT: PopplerRenderAnnotsFlags = 4;
541pub const POPPLER_RENDER_ANNOTS_LINE: PopplerRenderAnnotsFlags = 8;
542pub const POPPLER_RENDER_ANNOTS_SQUARE: PopplerRenderAnnotsFlags = 16;
543pub const POPPLER_RENDER_ANNOTS_CIRCLE: PopplerRenderAnnotsFlags = 32;
544pub const POPPLER_RENDER_ANNOTS_POLYGON: PopplerRenderAnnotsFlags = 64;
545pub const POPPLER_RENDER_ANNOTS_POLYLINE: PopplerRenderAnnotsFlags = 128;
546pub const POPPLER_RENDER_ANNOTS_HIGHLIGHT: PopplerRenderAnnotsFlags = 256;
547pub const POPPLER_RENDER_ANNOTS_UNDERLINE: PopplerRenderAnnotsFlags = 512;
548pub const POPPLER_RENDER_ANNOTS_SQUIGGLY: PopplerRenderAnnotsFlags = 1024;
549pub const POPPLER_RENDER_ANNOTS_STRIKEOUT: PopplerRenderAnnotsFlags = 2048;
550pub const POPPLER_RENDER_ANNOTS_STAMP: PopplerRenderAnnotsFlags = 4096;
551pub const POPPLER_RENDER_ANNOTS_CARET: PopplerRenderAnnotsFlags = 8192;
552pub const POPPLER_RENDER_ANNOTS_INK: PopplerRenderAnnotsFlags = 16384;
553pub const POPPLER_RENDER_ANNOTS_POPUP: PopplerRenderAnnotsFlags = 32768;
554pub const POPPLER_RENDER_ANNOTS_FILEATTACHMENT: PopplerRenderAnnotsFlags = 65536;
555pub const POPPLER_RENDER_ANNOTS_SOUND: PopplerRenderAnnotsFlags = 131072;
556pub const POPPLER_RENDER_ANNOTS_MOVIE: PopplerRenderAnnotsFlags = 262144;
557pub const POPPLER_RENDER_ANNOTS_WIDGET: PopplerRenderAnnotsFlags = 524288;
558pub const POPPLER_RENDER_ANNOTS_SCREEN: PopplerRenderAnnotsFlags = 1048576;
559pub const POPPLER_RENDER_ANNOTS_PRINTERMARK: PopplerRenderAnnotsFlags = 2097152;
560pub const POPPLER_RENDER_ANNOTS_TRAPNET: PopplerRenderAnnotsFlags = 4194304;
561pub const POPPLER_RENDER_ANNOTS_WATERMARK: PopplerRenderAnnotsFlags = 8388608;
562pub const POPPLER_RENDER_ANNOTS_3D: PopplerRenderAnnotsFlags = 16777216;
563pub const POPPLER_RENDER_ANNOTS_RICHMEDIA: PopplerRenderAnnotsFlags = 33554432;
564pub const POPPLER_RENDER_ANNOTS_PRINT_DOCUMENT: PopplerRenderAnnotsFlags = 524288;
565pub const POPPLER_RENDER_ANNOTS_PRINT_MARKUP: PopplerRenderAnnotsFlags = 4262166525;
566pub const POPPLER_RENDER_ANNOTS_PRINT_STAMP: PopplerRenderAnnotsFlags = 528384;
567pub const POPPLER_RENDER_ANNOTS_PRINT_ALL: PopplerRenderAnnotsFlags = 4262166525;
568pub const POPPLER_RENDER_ANNOTS_ALL: PopplerRenderAnnotsFlags = 67108863;
569
570pub type PopplerSignatureValidationFlags = c_uint;
571pub const POPPLER_SIGNATURE_VALIDATION_FLAG_VALIDATE_CERTIFICATE: PopplerSignatureValidationFlags =
572    1;
573pub const POPPLER_SIGNATURE_VALIDATION_FLAG_WITHOUT_OCSP_REVOCATION_CHECK:
574    PopplerSignatureValidationFlags = 2;
575pub const POPPLER_SIGNATURE_VALIDATION_FLAG_USE_AIA_CERTIFICATE_FETCH:
576    PopplerSignatureValidationFlags = 4;
577
578pub type PopplerStructureGetTextFlags = c_uint;
579pub const POPPLER_STRUCTURE_GET_TEXT_NONE: PopplerStructureGetTextFlags = 0;
580pub const POPPLER_STRUCTURE_GET_TEXT_RECURSIVE: PopplerStructureGetTextFlags = 1;
581
582pub type PopplerViewerPreferences = c_uint;
583pub const POPPLER_VIEWER_PREFERENCES_UNSET: PopplerViewerPreferences = 0;
584pub const POPPLER_VIEWER_PREFERENCES_HIDE_TOOLBAR: PopplerViewerPreferences = 1;
585pub const POPPLER_VIEWER_PREFERENCES_HIDE_MENUBAR: PopplerViewerPreferences = 2;
586pub const POPPLER_VIEWER_PREFERENCES_HIDE_WINDOWUI: PopplerViewerPreferences = 4;
587pub const POPPLER_VIEWER_PREFERENCES_FIT_WINDOW: PopplerViewerPreferences = 8;
588pub const POPPLER_VIEWER_PREFERENCES_CENTER_WINDOW: PopplerViewerPreferences = 16;
589pub const POPPLER_VIEWER_PREFERENCES_DISPLAY_DOC_TITLE: PopplerViewerPreferences = 32;
590pub const POPPLER_VIEWER_PREFERENCES_DIRECTION_RTL: PopplerViewerPreferences = 64;
591
592// Unions
593#[derive(Copy, Clone)]
594#[repr(C)]
595pub union PopplerAction {
596    pub type_: PopplerActionType,
597    pub any: PopplerActionAny,
598    pub goto_dest: PopplerActionGotoDest,
599    pub goto_remote: PopplerActionGotoRemote,
600    pub launch: PopplerActionLaunch,
601    pub uri: PopplerActionUri,
602    pub named: PopplerActionNamed,
603    pub movie: PopplerActionMovie,
604    pub rendition: PopplerActionRendition,
605    pub ocg_state: PopplerActionOCGState,
606    pub javascript: PopplerActionJavascript,
607    pub reset_form: PopplerActionResetForm,
608}
609
610impl ::std::fmt::Debug for PopplerAction {
611    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
612        f.debug_struct(&format!("PopplerAction @ {self:p}"))
613            .field("type_", unsafe { &self.type_ })
614            .field("any", unsafe { &self.any })
615            .field("goto_dest", unsafe { &self.goto_dest })
616            .field("goto_remote", unsafe { &self.goto_remote })
617            .field("launch", unsafe { &self.launch })
618            .field("uri", unsafe { &self.uri })
619            .field("named", unsafe { &self.named })
620            .field("movie", unsafe { &self.movie })
621            .field("rendition", unsafe { &self.rendition })
622            .field("ocg_state", unsafe { &self.ocg_state })
623            .field("javascript", unsafe { &self.javascript })
624            .field("reset_form", unsafe { &self.reset_form })
625            .finish()
626    }
627}
628
629// Callbacks
630pub type PopplerAttachmentSaveFunc =
631    Option<unsafe extern "C" fn(*const u8, size_t, gpointer, *mut *mut glib::GError) -> gboolean>;
632pub type PopplerMediaSaveFunc =
633    Option<unsafe extern "C" fn(*const u8, size_t, gpointer, *mut *mut glib::GError) -> gboolean>;
634pub type PopplerNssPasswordFunc = Option<unsafe extern "C" fn(*const c_char) -> *mut c_char>;
635
636// Records
637#[derive(Copy, Clone)]
638#[repr(C)]
639pub struct PopplerActionAny {
640    pub type_: PopplerActionType,
641    pub title: *mut c_char,
642}
643
644impl ::std::fmt::Debug for PopplerActionAny {
645    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
646        f.debug_struct(&format!("PopplerActionAny @ {self:p}"))
647            .field("type_", &self.type_)
648            .field("title", &self.title)
649            .finish()
650    }
651}
652
653#[derive(Copy, Clone)]
654#[repr(C)]
655pub struct PopplerActionGotoDest {
656    pub type_: PopplerActionType,
657    pub title: *mut c_char,
658    pub dest: *mut PopplerDest,
659}
660
661impl ::std::fmt::Debug for PopplerActionGotoDest {
662    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
663        f.debug_struct(&format!("PopplerActionGotoDest @ {self:p}"))
664            .field("type_", &self.type_)
665            .field("title", &self.title)
666            .field("dest", &self.dest)
667            .finish()
668    }
669}
670
671#[derive(Copy, Clone)]
672#[repr(C)]
673pub struct PopplerActionGotoRemote {
674    pub type_: PopplerActionType,
675    pub title: *mut c_char,
676    pub file_name: *mut c_char,
677    pub dest: *mut PopplerDest,
678}
679
680impl ::std::fmt::Debug for PopplerActionGotoRemote {
681    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
682        f.debug_struct(&format!("PopplerActionGotoRemote @ {self:p}"))
683            .field("type_", &self.type_)
684            .field("title", &self.title)
685            .field("file_name", &self.file_name)
686            .field("dest", &self.dest)
687            .finish()
688    }
689}
690
691#[derive(Copy, Clone)]
692#[repr(C)]
693pub struct PopplerActionJavascript {
694    pub type_: PopplerActionType,
695    pub title: *mut c_char,
696    pub script: *mut c_char,
697}
698
699impl ::std::fmt::Debug for PopplerActionJavascript {
700    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
701        f.debug_struct(&format!("PopplerActionJavascript @ {self:p}"))
702            .field("type_", &self.type_)
703            .field("title", &self.title)
704            .field("script", &self.script)
705            .finish()
706    }
707}
708
709#[derive(Copy, Clone)]
710#[repr(C)]
711pub struct PopplerActionLaunch {
712    pub type_: PopplerActionType,
713    pub title: *mut c_char,
714    pub file_name: *mut c_char,
715    pub params: *mut c_char,
716}
717
718impl ::std::fmt::Debug for PopplerActionLaunch {
719    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
720        f.debug_struct(&format!("PopplerActionLaunch @ {self:p}"))
721            .field("type_", &self.type_)
722            .field("title", &self.title)
723            .field("file_name", &self.file_name)
724            .field("params", &self.params)
725            .finish()
726    }
727}
728
729#[derive(Copy, Clone)]
730#[repr(C)]
731pub struct PopplerActionLayer {
732    pub action: PopplerActionLayerAction,
733    pub layers: *mut glib::GList,
734}
735
736impl ::std::fmt::Debug for PopplerActionLayer {
737    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
738        f.debug_struct(&format!("PopplerActionLayer @ {self:p}"))
739            .field("action", &self.action)
740            .field("layers", &self.layers)
741            .finish()
742    }
743}
744
745#[derive(Copy, Clone)]
746#[repr(C)]
747pub struct PopplerActionMovie {
748    pub type_: PopplerActionType,
749    pub title: *mut c_char,
750    pub operation: PopplerActionMovieOperation,
751    pub movie: *mut PopplerMovie,
752}
753
754impl ::std::fmt::Debug for PopplerActionMovie {
755    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
756        f.debug_struct(&format!("PopplerActionMovie @ {self:p}"))
757            .field("type_", &self.type_)
758            .field("title", &self.title)
759            .field("operation", &self.operation)
760            .field("movie", &self.movie)
761            .finish()
762    }
763}
764
765#[derive(Copy, Clone)]
766#[repr(C)]
767pub struct PopplerActionNamed {
768    pub type_: PopplerActionType,
769    pub title: *mut c_char,
770    pub named_dest: *mut c_char,
771}
772
773impl ::std::fmt::Debug for PopplerActionNamed {
774    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
775        f.debug_struct(&format!("PopplerActionNamed @ {self:p}"))
776            .field("type_", &self.type_)
777            .field("title", &self.title)
778            .field("named_dest", &self.named_dest)
779            .finish()
780    }
781}
782
783#[derive(Copy, Clone)]
784#[repr(C)]
785pub struct PopplerActionOCGState {
786    pub type_: PopplerActionType,
787    pub title: *mut c_char,
788    pub state_list: *mut glib::GList,
789}
790
791impl ::std::fmt::Debug for PopplerActionOCGState {
792    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
793        f.debug_struct(&format!("PopplerActionOCGState @ {self:p}"))
794            .field("type_", &self.type_)
795            .field("title", &self.title)
796            .field("state_list", &self.state_list)
797            .finish()
798    }
799}
800
801#[derive(Copy, Clone)]
802#[repr(C)]
803pub struct PopplerActionRendition {
804    pub type_: PopplerActionType,
805    pub title: *mut c_char,
806    pub op: c_int,
807    pub media: *mut PopplerMedia,
808}
809
810impl ::std::fmt::Debug for PopplerActionRendition {
811    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
812        f.debug_struct(&format!("PopplerActionRendition @ {self:p}"))
813            .field("type_", &self.type_)
814            .field("title", &self.title)
815            .field("op", &self.op)
816            .field("media", &self.media)
817            .finish()
818    }
819}
820
821#[derive(Copy, Clone)]
822#[repr(C)]
823pub struct PopplerActionResetForm {
824    pub type_: PopplerActionType,
825    pub title: *mut c_char,
826    pub fields: *mut glib::GList,
827    pub exclude: gboolean,
828}
829
830impl ::std::fmt::Debug for PopplerActionResetForm {
831    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
832        f.debug_struct(&format!("PopplerActionResetForm @ {self:p}"))
833            .field("type_", &self.type_)
834            .field("title", &self.title)
835            .field("fields", &self.fields)
836            .field("exclude", &self.exclude)
837            .finish()
838    }
839}
840
841#[derive(Copy, Clone)]
842#[repr(C)]
843pub struct PopplerActionUri {
844    pub type_: PopplerActionType,
845    pub title: *mut c_char,
846    pub uri: *mut c_char,
847}
848
849impl ::std::fmt::Debug for PopplerActionUri {
850    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
851        f.debug_struct(&format!("PopplerActionUri @ {self:p}"))
852            .field("type_", &self.type_)
853            .field("title", &self.title)
854            .field("uri", &self.uri)
855            .finish()
856    }
857}
858
859#[derive(Copy, Clone)]
860#[repr(C)]
861pub struct PopplerAnnotCalloutLine {
862    pub multiline: gboolean,
863    pub x1: c_double,
864    pub y1: c_double,
865    pub x2: c_double,
866    pub y2: c_double,
867    pub x3: c_double,
868    pub y3: c_double,
869}
870
871impl ::std::fmt::Debug for PopplerAnnotCalloutLine {
872    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
873        f.debug_struct(&format!("PopplerAnnotCalloutLine @ {self:p}"))
874            .field("multiline", &self.multiline)
875            .field("x1", &self.x1)
876            .field("y1", &self.y1)
877            .field("x2", &self.x2)
878            .field("y2", &self.y2)
879            .field("x3", &self.x3)
880            .field("y3", &self.y3)
881            .finish()
882    }
883}
884
885#[derive(Copy, Clone)]
886#[repr(C)]
887pub struct PopplerAnnotMapping {
888    pub area: PopplerRectangle,
889    pub annot: *mut PopplerAnnot,
890}
891
892impl ::std::fmt::Debug for PopplerAnnotMapping {
893    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
894        f.debug_struct(&format!("PopplerAnnotMapping @ {self:p}"))
895            .field("area", &self.area)
896            .field("annot", &self.annot)
897            .finish()
898    }
899}
900
901#[derive(Copy, Clone)]
902#[repr(C)]
903pub struct PopplerAttachmentClass {
904    pub parent_class: gobject::GObjectClass,
905}
906
907impl ::std::fmt::Debug for PopplerAttachmentClass {
908    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
909        f.debug_struct(&format!("PopplerAttachmentClass @ {self:p}"))
910            .field("parent_class", &self.parent_class)
911            .finish()
912    }
913}
914
915#[repr(C)]
916#[allow(dead_code)]
917pub struct PopplerCertificateInfo {
918    _data: [u8; 0],
919    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
920}
921
922impl ::std::fmt::Debug for PopplerCertificateInfo {
923    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
924        f.debug_struct(&format!("PopplerCertificateInfo @ {self:p}"))
925            .finish()
926    }
927}
928
929#[derive(Copy, Clone)]
930#[repr(C)]
931pub struct PopplerColor {
932    pub red: u16,
933    pub green: u16,
934    pub blue: u16,
935}
936
937impl ::std::fmt::Debug for PopplerColor {
938    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
939        f.debug_struct(&format!("PopplerColor @ {self:p}"))
940            .field("red", &self.red)
941            .field("green", &self.green)
942            .field("blue", &self.blue)
943            .finish()
944    }
945}
946
947#[repr(C)]
948#[allow(dead_code)]
949pub struct PopplerDest {
950    pub type_: PopplerDestType,
951    pub page_num: c_int,
952    pub left: c_double,
953    pub bottom: c_double,
954    pub right: c_double,
955    pub top: c_double,
956    pub zoom: c_double,
957    pub named_dest: *mut c_char,
958    pub change_left: c_uint,
959    _truncated_record_marker: c_void,
960    // field change_top has incomplete type
961}
962
963impl ::std::fmt::Debug for PopplerDest {
964    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
965        f.debug_struct(&format!("PopplerDest @ {self:p}"))
966            .field("type_", &self.type_)
967            .field("page_num", &self.page_num)
968            .field("left", &self.left)
969            .field("bottom", &self.bottom)
970            .field("right", &self.right)
971            .field("top", &self.top)
972            .field("zoom", &self.zoom)
973            .field("named_dest", &self.named_dest)
974            .field("change_left", &self.change_left)
975            .finish()
976    }
977}
978
979#[derive(Copy, Clone)]
980#[repr(C)]
981pub struct PopplerFontDescription {
982    pub font_name: *mut c_char,
983    pub size_pt: c_double,
984    pub stretch: PopplerStretch,
985    pub weight: PopplerWeight,
986    pub style: PopplerStyle,
987}
988
989impl ::std::fmt::Debug for PopplerFontDescription {
990    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
991        f.debug_struct(&format!("PopplerFontDescription @ {self:p}"))
992            .field("font_name", &self.font_name)
993            .field("size_pt", &self.size_pt)
994            .field("stretch", &self.stretch)
995            .field("weight", &self.weight)
996            .field("style", &self.style)
997            .finish()
998    }
999}
1000
1001#[repr(C)]
1002#[allow(dead_code)]
1003pub struct PopplerFontsIter {
1004    _data: [u8; 0],
1005    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1006}
1007
1008impl ::std::fmt::Debug for PopplerFontsIter {
1009    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1010        f.debug_struct(&format!("PopplerFontsIter @ {self:p}"))
1011            .finish()
1012    }
1013}
1014
1015#[derive(Copy, Clone)]
1016#[repr(C)]
1017pub struct PopplerFormFieldMapping {
1018    pub area: PopplerRectangle,
1019    pub field: *mut PopplerFormField,
1020}
1021
1022impl ::std::fmt::Debug for PopplerFormFieldMapping {
1023    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1024        f.debug_struct(&format!("PopplerFormFieldMapping @ {self:p}"))
1025            .field("area", &self.area)
1026            .field("field", &self.field)
1027            .finish()
1028    }
1029}
1030
1031#[derive(Copy, Clone)]
1032#[repr(C)]
1033pub struct PopplerImageMapping {
1034    pub area: PopplerRectangle,
1035    pub image_id: c_int,
1036}
1037
1038impl ::std::fmt::Debug for PopplerImageMapping {
1039    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1040        f.debug_struct(&format!("PopplerImageMapping @ {self:p}"))
1041            .field("area", &self.area)
1042            .field("image_id", &self.image_id)
1043            .finish()
1044    }
1045}
1046
1047#[repr(C)]
1048#[allow(dead_code)]
1049pub struct PopplerIndexIter {
1050    _data: [u8; 0],
1051    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1052}
1053
1054impl ::std::fmt::Debug for PopplerIndexIter {
1055    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1056        f.debug_struct(&format!("PopplerIndexIter @ {self:p}"))
1057            .finish()
1058    }
1059}
1060
1061#[repr(C)]
1062#[allow(dead_code)]
1063pub struct PopplerLayersIter {
1064    _data: [u8; 0],
1065    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1066}
1067
1068impl ::std::fmt::Debug for PopplerLayersIter {
1069    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1070        f.debug_struct(&format!("PopplerLayersIter @ {self:p}"))
1071            .finish()
1072    }
1073}
1074
1075#[derive(Copy, Clone)]
1076#[repr(C)]
1077pub struct PopplerLinkMapping {
1078    pub area: PopplerRectangle,
1079    pub action: *mut PopplerAction,
1080}
1081
1082impl ::std::fmt::Debug for PopplerLinkMapping {
1083    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1084        f.debug_struct(&format!("PopplerLinkMapping @ {self:p}"))
1085            .field("area", &self.area)
1086            .field("action", &self.action)
1087            .finish()
1088    }
1089}
1090
1091#[derive(Copy, Clone)]
1092#[repr(C)]
1093pub struct PopplerPageRange {
1094    pub start_page: c_int,
1095    pub end_page: c_int,
1096}
1097
1098impl ::std::fmt::Debug for PopplerPageRange {
1099    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1100        f.debug_struct(&format!("PopplerPageRange @ {self:p}"))
1101            .field("start_page", &self.start_page)
1102            .field("end_page", &self.end_page)
1103            .finish()
1104    }
1105}
1106
1107#[derive(Copy, Clone)]
1108#[repr(C)]
1109pub struct PopplerPageTransition {
1110    pub type_: PopplerPageTransitionType,
1111    pub alignment: PopplerPageTransitionAlignment,
1112    pub direction: PopplerPageTransitionDirection,
1113    pub duration: c_int,
1114    pub angle: c_int,
1115    pub scale: c_double,
1116    pub rectangular: gboolean,
1117    pub duration_real: c_double,
1118}
1119
1120impl ::std::fmt::Debug for PopplerPageTransition {
1121    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1122        f.debug_struct(&format!("PopplerPageTransition @ {self:p}"))
1123            .field("type_", &self.type_)
1124            .field("alignment", &self.alignment)
1125            .field("direction", &self.direction)
1126            .field("duration", &self.duration)
1127            .field("angle", &self.angle)
1128            .field("scale", &self.scale)
1129            .field("rectangular", &self.rectangular)
1130            .field("duration_real", &self.duration_real)
1131            .finish()
1132    }
1133}
1134
1135#[repr(C)]
1136#[allow(dead_code)]
1137pub struct PopplerPath {
1138    _data: [u8; 0],
1139    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1140}
1141
1142impl ::std::fmt::Debug for PopplerPath {
1143    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1144        f.debug_struct(&format!("PopplerPath @ {self:p}")).finish()
1145    }
1146}
1147
1148#[derive(Copy, Clone)]
1149#[repr(C)]
1150pub struct PopplerPoint {
1151    pub x: c_double,
1152    pub y: c_double,
1153}
1154
1155impl ::std::fmt::Debug for PopplerPoint {
1156    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1157        f.debug_struct(&format!("PopplerPoint @ {self:p}"))
1158            .field("x", &self.x)
1159            .field("y", &self.y)
1160            .finish()
1161    }
1162}
1163
1164#[derive(Copy, Clone)]
1165#[repr(C)]
1166pub struct PopplerQuadrilateral {
1167    pub p1: PopplerPoint,
1168    pub p2: PopplerPoint,
1169    pub p3: PopplerPoint,
1170    pub p4: PopplerPoint,
1171}
1172
1173impl ::std::fmt::Debug for PopplerQuadrilateral {
1174    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1175        f.debug_struct(&format!("PopplerQuadrilateral @ {self:p}"))
1176            .field("p1", &self.p1)
1177            .field("p2", &self.p2)
1178            .field("p3", &self.p3)
1179            .field("p4", &self.p4)
1180            .finish()
1181    }
1182}
1183
1184#[derive(Copy, Clone)]
1185#[repr(C)]
1186pub struct PopplerRectangle {
1187    pub x1: c_double,
1188    pub y1: c_double,
1189    pub x2: c_double,
1190    pub y2: c_double,
1191}
1192
1193impl ::std::fmt::Debug for PopplerRectangle {
1194    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1195        f.debug_struct(&format!("PopplerRectangle @ {self:p}"))
1196            .field("x1", &self.x1)
1197            .field("y1", &self.y1)
1198            .field("x2", &self.x2)
1199            .field("y2", &self.y2)
1200            .finish()
1201    }
1202}
1203
1204#[repr(C)]
1205#[allow(dead_code)]
1206pub struct PopplerSignatureInfo {
1207    _data: [u8; 0],
1208    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1209}
1210
1211impl ::std::fmt::Debug for PopplerSignatureInfo {
1212    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1213        f.debug_struct(&format!("PopplerSignatureInfo @ {self:p}"))
1214            .finish()
1215    }
1216}
1217
1218#[repr(C)]
1219#[allow(dead_code)]
1220pub struct PopplerSigningData {
1221    _data: [u8; 0],
1222    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1223}
1224
1225impl ::std::fmt::Debug for PopplerSigningData {
1226    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1227        f.debug_struct(&format!("PopplerSigningData @ {self:p}"))
1228            .finish()
1229    }
1230}
1231
1232#[repr(C)]
1233#[allow(dead_code)]
1234pub struct PopplerStructureElementIter {
1235    _data: [u8; 0],
1236    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1237}
1238
1239impl ::std::fmt::Debug for PopplerStructureElementIter {
1240    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1241        f.debug_struct(&format!("PopplerStructureElementIter @ {self:p}"))
1242            .finish()
1243    }
1244}
1245
1246#[derive(Copy, Clone)]
1247#[repr(C)]
1248pub struct PopplerTextAttributes {
1249    pub font_name: *mut c_char,
1250    pub font_size: c_double,
1251    pub is_underlined: gboolean,
1252    pub color: PopplerColor,
1253    pub start_index: c_int,
1254    pub end_index: c_int,
1255}
1256
1257impl ::std::fmt::Debug for PopplerTextAttributes {
1258    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1259        f.debug_struct(&format!("PopplerTextAttributes @ {self:p}"))
1260            .field("font_name", &self.font_name)
1261            .field("font_size", &self.font_size)
1262            .field("is_underlined", &self.is_underlined)
1263            .field("color", &self.color)
1264            .field("start_index", &self.start_index)
1265            .field("end_index", &self.end_index)
1266            .finish()
1267    }
1268}
1269
1270#[repr(C)]
1271#[allow(dead_code)]
1272pub struct PopplerTextSpan {
1273    _data: [u8; 0],
1274    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1275}
1276
1277impl ::std::fmt::Debug for PopplerTextSpan {
1278    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1279        f.debug_struct(&format!("PopplerTextSpan @ {self:p}"))
1280            .finish()
1281    }
1282}
1283
1284// Classes
1285#[repr(C)]
1286#[allow(dead_code)]
1287pub struct PopplerAnnot {
1288    _data: [u8; 0],
1289    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1290}
1291
1292impl ::std::fmt::Debug for PopplerAnnot {
1293    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1294        f.debug_struct(&format!("PopplerAnnot @ {self:p}")).finish()
1295    }
1296}
1297
1298#[repr(C)]
1299#[allow(dead_code)]
1300pub struct PopplerAnnotCircle {
1301    _data: [u8; 0],
1302    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1303}
1304
1305impl ::std::fmt::Debug for PopplerAnnotCircle {
1306    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1307        f.debug_struct(&format!("PopplerAnnotCircle @ {self:p}"))
1308            .finish()
1309    }
1310}
1311
1312#[repr(C)]
1313#[allow(dead_code)]
1314pub struct PopplerAnnotFileAttachment {
1315    _data: [u8; 0],
1316    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1317}
1318
1319impl ::std::fmt::Debug for PopplerAnnotFileAttachment {
1320    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1321        f.debug_struct(&format!("PopplerAnnotFileAttachment @ {self:p}"))
1322            .finish()
1323    }
1324}
1325
1326#[repr(C)]
1327#[allow(dead_code)]
1328pub struct PopplerAnnotFreeText {
1329    _data: [u8; 0],
1330    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1331}
1332
1333impl ::std::fmt::Debug for PopplerAnnotFreeText {
1334    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1335        f.debug_struct(&format!("PopplerAnnotFreeText @ {self:p}"))
1336            .finish()
1337    }
1338}
1339
1340#[repr(C)]
1341#[allow(dead_code)]
1342pub struct PopplerAnnotInk {
1343    _data: [u8; 0],
1344    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1345}
1346
1347impl ::std::fmt::Debug for PopplerAnnotInk {
1348    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1349        f.debug_struct(&format!("PopplerAnnotInk @ {self:p}"))
1350            .finish()
1351    }
1352}
1353
1354#[repr(C)]
1355#[allow(dead_code)]
1356pub struct PopplerAnnotLine {
1357    _data: [u8; 0],
1358    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1359}
1360
1361impl ::std::fmt::Debug for PopplerAnnotLine {
1362    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1363        f.debug_struct(&format!("PopplerAnnotLine @ {self:p}"))
1364            .finish()
1365    }
1366}
1367
1368#[repr(C)]
1369#[allow(dead_code)]
1370pub struct PopplerAnnotMarkup {
1371    _data: [u8; 0],
1372    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1373}
1374
1375impl ::std::fmt::Debug for PopplerAnnotMarkup {
1376    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1377        f.debug_struct(&format!("PopplerAnnotMarkup @ {self:p}"))
1378            .finish()
1379    }
1380}
1381
1382#[repr(C)]
1383#[allow(dead_code)]
1384pub struct PopplerAnnotMovie {
1385    _data: [u8; 0],
1386    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1387}
1388
1389impl ::std::fmt::Debug for PopplerAnnotMovie {
1390    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1391        f.debug_struct(&format!("PopplerAnnotMovie @ {self:p}"))
1392            .finish()
1393    }
1394}
1395
1396#[repr(C)]
1397#[allow(dead_code)]
1398pub struct PopplerAnnotScreen {
1399    _data: [u8; 0],
1400    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1401}
1402
1403impl ::std::fmt::Debug for PopplerAnnotScreen {
1404    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1405        f.debug_struct(&format!("PopplerAnnotScreen @ {self:p}"))
1406            .finish()
1407    }
1408}
1409
1410#[repr(C)]
1411#[allow(dead_code)]
1412pub struct PopplerAnnotSquare {
1413    _data: [u8; 0],
1414    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1415}
1416
1417impl ::std::fmt::Debug for PopplerAnnotSquare {
1418    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1419        f.debug_struct(&format!("PopplerAnnotSquare @ {self:p}"))
1420            .finish()
1421    }
1422}
1423
1424#[repr(C)]
1425#[allow(dead_code)]
1426pub struct PopplerAnnotStamp {
1427    _data: [u8; 0],
1428    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1429}
1430
1431impl ::std::fmt::Debug for PopplerAnnotStamp {
1432    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1433        f.debug_struct(&format!("PopplerAnnotStamp @ {self:p}"))
1434            .finish()
1435    }
1436}
1437
1438#[repr(C)]
1439#[allow(dead_code)]
1440pub struct PopplerAnnotText {
1441    _data: [u8; 0],
1442    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1443}
1444
1445impl ::std::fmt::Debug for PopplerAnnotText {
1446    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1447        f.debug_struct(&format!("PopplerAnnotText @ {self:p}"))
1448            .finish()
1449    }
1450}
1451
1452#[repr(C)]
1453#[allow(dead_code)]
1454pub struct PopplerAnnotTextMarkup {
1455    _data: [u8; 0],
1456    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1457}
1458
1459impl ::std::fmt::Debug for PopplerAnnotTextMarkup {
1460    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1461        f.debug_struct(&format!("PopplerAnnotTextMarkup @ {self:p}"))
1462            .finish()
1463    }
1464}
1465
1466#[derive(Copy, Clone)]
1467#[repr(C)]
1468pub struct PopplerAttachment {
1469    pub parent: gobject::GObject,
1470    pub name: *mut c_char,
1471    pub description: *mut c_char,
1472    pub size: size_t,
1473    pub mtime: glib::GTime,
1474    pub ctime: glib::GTime,
1475    pub checksum: *mut glib::GString,
1476}
1477
1478impl ::std::fmt::Debug for PopplerAttachment {
1479    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1480        f.debug_struct(&format!("PopplerAttachment @ {self:p}"))
1481            .field("parent", &self.parent)
1482            .field("name", &self.name)
1483            .field("description", &self.description)
1484            .field("size", &self.size)
1485            .field("mtime", &self.mtime)
1486            .field("ctime", &self.ctime)
1487            .field("checksum", &self.checksum)
1488            .finish()
1489    }
1490}
1491
1492#[repr(C)]
1493#[allow(dead_code)]
1494pub struct PopplerDocument {
1495    _data: [u8; 0],
1496    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1497}
1498
1499impl ::std::fmt::Debug for PopplerDocument {
1500    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1501        f.debug_struct(&format!("PopplerDocument @ {self:p}"))
1502            .finish()
1503    }
1504}
1505
1506#[repr(C)]
1507#[allow(dead_code)]
1508pub struct PopplerFontInfo {
1509    _data: [u8; 0],
1510    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1511}
1512
1513impl ::std::fmt::Debug for PopplerFontInfo {
1514    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1515        f.debug_struct(&format!("PopplerFontInfo @ {self:p}"))
1516            .finish()
1517    }
1518}
1519
1520#[repr(C)]
1521#[allow(dead_code)]
1522pub struct PopplerFormField {
1523    _data: [u8; 0],
1524    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1525}
1526
1527impl ::std::fmt::Debug for PopplerFormField {
1528    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1529        f.debug_struct(&format!("PopplerFormField @ {self:p}"))
1530            .finish()
1531    }
1532}
1533
1534#[repr(C)]
1535#[allow(dead_code)]
1536pub struct PopplerLayer {
1537    _data: [u8; 0],
1538    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1539}
1540
1541impl ::std::fmt::Debug for PopplerLayer {
1542    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1543        f.debug_struct(&format!("PopplerLayer @ {self:p}")).finish()
1544    }
1545}
1546
1547#[repr(C)]
1548#[allow(dead_code)]
1549pub struct PopplerMedia {
1550    _data: [u8; 0],
1551    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1552}
1553
1554impl ::std::fmt::Debug for PopplerMedia {
1555    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1556        f.debug_struct(&format!("PopplerMedia @ {self:p}")).finish()
1557    }
1558}
1559
1560#[repr(C)]
1561#[allow(dead_code)]
1562pub struct PopplerMovie {
1563    _data: [u8; 0],
1564    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1565}
1566
1567impl ::std::fmt::Debug for PopplerMovie {
1568    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1569        f.debug_struct(&format!("PopplerMovie @ {self:p}")).finish()
1570    }
1571}
1572
1573#[repr(C)]
1574#[allow(dead_code)]
1575pub struct PopplerPSFile {
1576    _data: [u8; 0],
1577    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1578}
1579
1580impl ::std::fmt::Debug for PopplerPSFile {
1581    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1582        f.debug_struct(&format!("PopplerPSFile @ {self:p}"))
1583            .finish()
1584    }
1585}
1586
1587#[repr(C)]
1588#[allow(dead_code)]
1589pub struct PopplerPage {
1590    _data: [u8; 0],
1591    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1592}
1593
1594impl ::std::fmt::Debug for PopplerPage {
1595    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1596        f.debug_struct(&format!("PopplerPage @ {self:p}")).finish()
1597    }
1598}
1599
1600#[repr(C)]
1601#[allow(dead_code)]
1602pub struct PopplerStructureElement {
1603    _data: [u8; 0],
1604    _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>,
1605}
1606
1607impl ::std::fmt::Debug for PopplerStructureElement {
1608    fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result {
1609        f.debug_struct(&format!("PopplerStructureElement @ {self:p}"))
1610            .finish()
1611    }
1612}
1613
1614unsafe extern "C" {
1615
1616    //=========================================================================
1617    // PopplerActionLayerAction
1618    //=========================================================================
1619    pub fn poppler_action_layer_action_get_type() -> GType;
1620
1621    //=========================================================================
1622    // PopplerActionMovieOperation
1623    //=========================================================================
1624    pub fn poppler_action_movie_operation_get_type() -> GType;
1625
1626    //=========================================================================
1627    // PopplerActionType
1628    //=========================================================================
1629    pub fn poppler_action_type_get_type() -> GType;
1630
1631    //=========================================================================
1632    // PopplerAdditionalActionType
1633    //=========================================================================
1634    #[cfg(feature = "v0_72")]
1635    #[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
1636    pub fn poppler_additional_action_type_get_type() -> GType;
1637
1638    //=========================================================================
1639    // PopplerAnnotExternalDataType
1640    //=========================================================================
1641    pub fn poppler_annot_external_data_type_get_type() -> GType;
1642
1643    //=========================================================================
1644    // PopplerAnnotFreeTextQuadding
1645    //=========================================================================
1646    pub fn poppler_annot_free_text_quadding_get_type() -> GType;
1647
1648    //=========================================================================
1649    // PopplerAnnotMarkupReplyType
1650    //=========================================================================
1651    pub fn poppler_annot_markup_reply_type_get_type() -> GType;
1652
1653    //=========================================================================
1654    // PopplerAnnotStampIcon
1655    //=========================================================================
1656    pub fn poppler_annot_stamp_icon_get_type() -> GType;
1657
1658    //=========================================================================
1659    // PopplerAnnotTextState
1660    //=========================================================================
1661    pub fn poppler_annot_text_state_get_type() -> GType;
1662
1663    //=========================================================================
1664    // PopplerAnnotType
1665    //=========================================================================
1666    pub fn poppler_annot_type_get_type() -> GType;
1667
1668    //=========================================================================
1669    // PopplerBackend
1670    //=========================================================================
1671    pub fn poppler_backend_get_type() -> GType;
1672
1673    //=========================================================================
1674    // PopplerCertificateStatus
1675    //=========================================================================
1676    #[cfg(feature = "v21_12")]
1677    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1678    pub fn poppler_certificate_status_get_type() -> GType;
1679
1680    //=========================================================================
1681    // PopplerDestType
1682    //=========================================================================
1683    pub fn poppler_dest_type_get_type() -> GType;
1684
1685    //=========================================================================
1686    // PopplerError
1687    //=========================================================================
1688    pub fn poppler_error_get_type() -> GType;
1689    pub fn poppler_error_quark() -> glib::GQuark;
1690
1691    //=========================================================================
1692    // PopplerFontType
1693    //=========================================================================
1694    pub fn poppler_font_type_get_type() -> GType;
1695
1696    //=========================================================================
1697    // PopplerFormButtonType
1698    //=========================================================================
1699    pub fn poppler_form_button_type_get_type() -> GType;
1700
1701    //=========================================================================
1702    // PopplerFormChoiceType
1703    //=========================================================================
1704    pub fn poppler_form_choice_type_get_type() -> GType;
1705
1706    //=========================================================================
1707    // PopplerFormFieldType
1708    //=========================================================================
1709    pub fn poppler_form_field_type_get_type() -> GType;
1710
1711    //=========================================================================
1712    // PopplerFormTextType
1713    //=========================================================================
1714    pub fn poppler_form_text_type_get_type() -> GType;
1715
1716    //=========================================================================
1717    // PopplerMoviePlayMode
1718    //=========================================================================
1719    pub fn poppler_movie_play_mode_get_type() -> GType;
1720
1721    //=========================================================================
1722    // PopplerPDFConformance
1723    //=========================================================================
1724    pub fn poppler_pdf_conformance_get_type() -> GType;
1725
1726    //=========================================================================
1727    // PopplerPDFPart
1728    //=========================================================================
1729    pub fn poppler_pdf_part_get_type() -> GType;
1730
1731    //=========================================================================
1732    // PopplerPDFSubtype
1733    //=========================================================================
1734    pub fn poppler_pdf_subtype_get_type() -> GType;
1735
1736    //=========================================================================
1737    // PopplerPageLayout
1738    //=========================================================================
1739    pub fn poppler_page_layout_get_type() -> GType;
1740
1741    //=========================================================================
1742    // PopplerPageMode
1743    //=========================================================================
1744    pub fn poppler_page_mode_get_type() -> GType;
1745
1746    //=========================================================================
1747    // PopplerPageTransitionAlignment
1748    //=========================================================================
1749    pub fn poppler_page_transition_alignment_get_type() -> GType;
1750
1751    //=========================================================================
1752    // PopplerPageTransitionDirection
1753    //=========================================================================
1754    pub fn poppler_page_transition_direction_get_type() -> GType;
1755
1756    //=========================================================================
1757    // PopplerPageTransitionType
1758    //=========================================================================
1759    pub fn poppler_page_transition_type_get_type() -> GType;
1760
1761    //=========================================================================
1762    // PopplerPrintDuplex
1763    //=========================================================================
1764    #[cfg(feature = "v0_80")]
1765    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
1766    pub fn poppler_print_duplex_get_type() -> GType;
1767
1768    //=========================================================================
1769    // PopplerPrintScaling
1770    //=========================================================================
1771    #[cfg(feature = "v0_73")]
1772    #[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
1773    pub fn poppler_print_scaling_get_type() -> GType;
1774
1775    //=========================================================================
1776    // PopplerSelectionStyle
1777    //=========================================================================
1778    pub fn poppler_selection_style_get_type() -> GType;
1779
1780    //=========================================================================
1781    // PopplerSignatureStatus
1782    //=========================================================================
1783    #[cfg(feature = "v21_12")]
1784    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1785    pub fn poppler_signature_status_get_type() -> GType;
1786
1787    //=========================================================================
1788    // PopplerStretch
1789    //=========================================================================
1790    #[cfg(feature = "v24_12")]
1791    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
1792    pub fn poppler_stretch_get_type() -> GType;
1793
1794    //=========================================================================
1795    // PopplerStructureBlockAlign
1796    //=========================================================================
1797    pub fn poppler_structure_block_align_get_type() -> GType;
1798
1799    //=========================================================================
1800    // PopplerStructureBorderStyle
1801    //=========================================================================
1802    pub fn poppler_structure_border_style_get_type() -> GType;
1803
1804    //=========================================================================
1805    // PopplerStructureElementKind
1806    //=========================================================================
1807    pub fn poppler_structure_element_kind_get_type() -> GType;
1808
1809    //=========================================================================
1810    // PopplerStructureFormRole
1811    //=========================================================================
1812    pub fn poppler_structure_form_role_get_type() -> GType;
1813
1814    //=========================================================================
1815    // PopplerStructureFormState
1816    //=========================================================================
1817    pub fn poppler_structure_form_state_get_type() -> GType;
1818
1819    //=========================================================================
1820    // PopplerStructureGlyphOrientation
1821    //=========================================================================
1822    pub fn poppler_structure_glyph_orientation_get_type() -> GType;
1823
1824    //=========================================================================
1825    // PopplerStructureInlineAlign
1826    //=========================================================================
1827    pub fn poppler_structure_inline_align_get_type() -> GType;
1828
1829    //=========================================================================
1830    // PopplerStructureListNumbering
1831    //=========================================================================
1832    pub fn poppler_structure_list_numbering_get_type() -> GType;
1833
1834    //=========================================================================
1835    // PopplerStructurePlacement
1836    //=========================================================================
1837    pub fn poppler_structure_placement_get_type() -> GType;
1838
1839    //=========================================================================
1840    // PopplerStructureRubyAlign
1841    //=========================================================================
1842    pub fn poppler_structure_ruby_align_get_type() -> GType;
1843
1844    //=========================================================================
1845    // PopplerStructureRubyPosition
1846    //=========================================================================
1847    pub fn poppler_structure_ruby_position_get_type() -> GType;
1848
1849    //=========================================================================
1850    // PopplerStructureTableScope
1851    //=========================================================================
1852    pub fn poppler_structure_table_scope_get_type() -> GType;
1853
1854    //=========================================================================
1855    // PopplerStructureTextAlign
1856    //=========================================================================
1857    pub fn poppler_structure_text_align_get_type() -> GType;
1858
1859    //=========================================================================
1860    // PopplerStructureTextDecoration
1861    //=========================================================================
1862    pub fn poppler_structure_text_decoration_get_type() -> GType;
1863
1864    //=========================================================================
1865    // PopplerStructureWritingMode
1866    //=========================================================================
1867    pub fn poppler_structure_writing_mode_get_type() -> GType;
1868
1869    //=========================================================================
1870    // PopplerStyle
1871    //=========================================================================
1872    #[cfg(feature = "v24_12")]
1873    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
1874    pub fn poppler_style_get_type() -> GType;
1875
1876    //=========================================================================
1877    // PopplerWeight
1878    //=========================================================================
1879    #[cfg(feature = "v24_12")]
1880    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
1881    pub fn poppler_weight_get_type() -> GType;
1882
1883    //=========================================================================
1884    // PopplerAnnotFlag
1885    //=========================================================================
1886    pub fn poppler_annot_flag_get_type() -> GType;
1887
1888    //=========================================================================
1889    // PopplerFindFlags
1890    //=========================================================================
1891    pub fn poppler_find_flags_get_type() -> GType;
1892
1893    //=========================================================================
1894    // PopplerPermissions
1895    //=========================================================================
1896    pub fn poppler_permissions_get_type() -> GType;
1897
1898    //=========================================================================
1899    // PopplerPrintFlags
1900    //=========================================================================
1901    pub fn poppler_print_flags_get_type() -> GType;
1902
1903    //=========================================================================
1904    // PopplerRenderAnnotsFlags
1905    //=========================================================================
1906    #[cfg(feature = "v25_2")]
1907    #[cfg_attr(docsrs, doc(cfg(feature = "v25_2")))]
1908    pub fn poppler_render_annots_flags_get_type() -> GType;
1909
1910    //=========================================================================
1911    // PopplerSignatureValidationFlags
1912    //=========================================================================
1913    #[cfg(feature = "v21_12")]
1914    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1915    pub fn poppler_signature_validation_flags_get_type() -> GType;
1916
1917    //=========================================================================
1918    // PopplerStructureGetTextFlags
1919    //=========================================================================
1920    pub fn poppler_structure_get_text_flags_get_type() -> GType;
1921
1922    //=========================================================================
1923    // PopplerViewerPreferences
1924    //=========================================================================
1925    pub fn poppler_viewer_preferences_get_type() -> GType;
1926
1927    //=========================================================================
1928    // PopplerAction
1929    //=========================================================================
1930    pub fn poppler_action_get_type() -> GType;
1931    pub fn poppler_action_copy(action: *mut PopplerAction) -> *mut PopplerAction;
1932    pub fn poppler_action_free(action: *mut PopplerAction);
1933
1934    //=========================================================================
1935    // PopplerAnnotCalloutLine
1936    //=========================================================================
1937    pub fn poppler_annot_callout_line_get_type() -> GType;
1938    pub fn poppler_annot_callout_line_new() -> *mut PopplerAnnotCalloutLine;
1939    pub fn poppler_annot_callout_line_copy(
1940        callout: *mut PopplerAnnotCalloutLine,
1941    ) -> *mut PopplerAnnotCalloutLine;
1942    pub fn poppler_annot_callout_line_free(callout: *mut PopplerAnnotCalloutLine);
1943
1944    //=========================================================================
1945    // PopplerAnnotMapping
1946    //=========================================================================
1947    pub fn poppler_annot_mapping_get_type() -> GType;
1948    pub fn poppler_annot_mapping_new() -> *mut PopplerAnnotMapping;
1949    pub fn poppler_annot_mapping_copy(
1950        mapping: *mut PopplerAnnotMapping,
1951    ) -> *mut PopplerAnnotMapping;
1952    pub fn poppler_annot_mapping_free(mapping: *mut PopplerAnnotMapping);
1953
1954    //=========================================================================
1955    // PopplerCertificateInfo
1956    //=========================================================================
1957    #[cfg(feature = "v23_7")]
1958    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1959    pub fn poppler_certificate_info_get_type() -> GType;
1960    #[cfg(feature = "v23_7")]
1961    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1962    pub fn poppler_certificate_info_new() -> *mut PopplerCertificateInfo;
1963    #[cfg(feature = "v23_7")]
1964    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1965    pub fn poppler_certificate_info_copy(
1966        certificate_info: *const PopplerCertificateInfo,
1967    ) -> *mut PopplerCertificateInfo;
1968    #[cfg(feature = "v23_7")]
1969    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1970    pub fn poppler_certificate_info_free(certificate_info: *mut PopplerCertificateInfo);
1971    #[cfg(feature = "v23_8")]
1972    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
1973    pub fn poppler_certificate_info_get_expiration_time(
1974        certificate_info: *const PopplerCertificateInfo,
1975    ) -> *mut glib::GDateTime;
1976    #[cfg(feature = "v23_7")]
1977    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1978    pub fn poppler_certificate_info_get_id(
1979        certificate_info: *const PopplerCertificateInfo,
1980    ) -> *const c_char;
1981    #[cfg(feature = "v23_8")]
1982    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
1983    pub fn poppler_certificate_info_get_issuance_time(
1984        certificate_info: *const PopplerCertificateInfo,
1985    ) -> *mut glib::GDateTime;
1986    #[cfg(feature = "v23_8")]
1987    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
1988    pub fn poppler_certificate_info_get_issuer_common_name(
1989        certificate_info: *const PopplerCertificateInfo,
1990    ) -> *const c_char;
1991    #[cfg(feature = "v23_8")]
1992    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
1993    pub fn poppler_certificate_info_get_issuer_email(
1994        certificate_info: *const PopplerCertificateInfo,
1995    ) -> *const c_char;
1996    #[cfg(feature = "v23_8")]
1997    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
1998    pub fn poppler_certificate_info_get_issuer_organization(
1999        certificate_info: *const PopplerCertificateInfo,
2000    ) -> *const c_char;
2001    #[cfg(feature = "v23_7")]
2002    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2003    pub fn poppler_certificate_info_get_subject_common_name(
2004        certificate_info: *const PopplerCertificateInfo,
2005    ) -> *const c_char;
2006    #[cfg(feature = "v23_8")]
2007    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
2008    pub fn poppler_certificate_info_get_subject_email(
2009        certificate_info: *const PopplerCertificateInfo,
2010    ) -> *const c_char;
2011    #[cfg(feature = "v23_8")]
2012    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
2013    pub fn poppler_certificate_info_get_subject_organization(
2014        certificate_info: *const PopplerCertificateInfo,
2015    ) -> *const c_char;
2016
2017    //=========================================================================
2018    // PopplerColor
2019    //=========================================================================
2020    pub fn poppler_color_get_type() -> GType;
2021    pub fn poppler_color_new() -> *mut PopplerColor;
2022    pub fn poppler_color_copy(color: *mut PopplerColor) -> *mut PopplerColor;
2023    pub fn poppler_color_free(color: *mut PopplerColor);
2024
2025    //=========================================================================
2026    // PopplerDest
2027    //=========================================================================
2028    pub fn poppler_dest_get_type() -> GType;
2029    pub fn poppler_dest_copy(dest: *mut PopplerDest) -> *mut PopplerDest;
2030    pub fn poppler_dest_free(dest: *mut PopplerDest);
2031
2032    //=========================================================================
2033    // PopplerFontDescription
2034    //=========================================================================
2035    #[cfg(feature = "v24_12")]
2036    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2037    pub fn poppler_font_description_get_type() -> GType;
2038    #[cfg(feature = "v24_12")]
2039    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2040    pub fn poppler_font_description_new(font_name: *const c_char) -> *mut PopplerFontDescription;
2041    #[cfg(feature = "v24_12")]
2042    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2043    pub fn poppler_font_description_copy(
2044        font_desc: *mut PopplerFontDescription,
2045    ) -> *mut PopplerFontDescription;
2046    #[cfg(feature = "v24_12")]
2047    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2048    pub fn poppler_font_description_free(font_desc: *mut PopplerFontDescription);
2049
2050    //=========================================================================
2051    // PopplerFontsIter
2052    //=========================================================================
2053    pub fn poppler_fonts_iter_get_type() -> GType;
2054    pub fn poppler_fonts_iter_copy(iter: *mut PopplerFontsIter) -> *mut PopplerFontsIter;
2055    pub fn poppler_fonts_iter_free(iter: *mut PopplerFontsIter);
2056    pub fn poppler_fonts_iter_get_encoding(iter: *mut PopplerFontsIter) -> *const c_char;
2057    pub fn poppler_fonts_iter_get_file_name(iter: *mut PopplerFontsIter) -> *const c_char;
2058    pub fn poppler_fonts_iter_get_font_type(iter: *mut PopplerFontsIter) -> PopplerFontType;
2059    pub fn poppler_fonts_iter_get_full_name(iter: *mut PopplerFontsIter) -> *const c_char;
2060    pub fn poppler_fonts_iter_get_name(iter: *mut PopplerFontsIter) -> *const c_char;
2061    pub fn poppler_fonts_iter_get_substitute_name(iter: *mut PopplerFontsIter) -> *const c_char;
2062    pub fn poppler_fonts_iter_is_embedded(iter: *mut PopplerFontsIter) -> gboolean;
2063    pub fn poppler_fonts_iter_is_subset(iter: *mut PopplerFontsIter) -> gboolean;
2064    pub fn poppler_fonts_iter_next(iter: *mut PopplerFontsIter) -> gboolean;
2065
2066    //=========================================================================
2067    // PopplerFormFieldMapping
2068    //=========================================================================
2069    pub fn poppler_form_field_mapping_get_type() -> GType;
2070    pub fn poppler_form_field_mapping_new() -> *mut PopplerFormFieldMapping;
2071    pub fn poppler_form_field_mapping_copy(
2072        mapping: *mut PopplerFormFieldMapping,
2073    ) -> *mut PopplerFormFieldMapping;
2074    pub fn poppler_form_field_mapping_free(mapping: *mut PopplerFormFieldMapping);
2075
2076    //=========================================================================
2077    // PopplerImageMapping
2078    //=========================================================================
2079    pub fn poppler_image_mapping_get_type() -> GType;
2080    pub fn poppler_image_mapping_new() -> *mut PopplerImageMapping;
2081    pub fn poppler_image_mapping_copy(
2082        mapping: *mut PopplerImageMapping,
2083    ) -> *mut PopplerImageMapping;
2084    pub fn poppler_image_mapping_free(mapping: *mut PopplerImageMapping);
2085
2086    //=========================================================================
2087    // PopplerIndexIter
2088    //=========================================================================
2089    pub fn poppler_index_iter_get_type() -> GType;
2090    pub fn poppler_index_iter_new(document: *mut PopplerDocument) -> *mut PopplerIndexIter;
2091    pub fn poppler_index_iter_copy(iter: *mut PopplerIndexIter) -> *mut PopplerIndexIter;
2092    pub fn poppler_index_iter_free(iter: *mut PopplerIndexIter);
2093    pub fn poppler_index_iter_get_action(iter: *mut PopplerIndexIter) -> *mut PopplerAction;
2094    pub fn poppler_index_iter_get_child(parent: *mut PopplerIndexIter) -> *mut PopplerIndexIter;
2095    pub fn poppler_index_iter_is_open(iter: *mut PopplerIndexIter) -> gboolean;
2096    pub fn poppler_index_iter_next(iter: *mut PopplerIndexIter) -> gboolean;
2097
2098    //=========================================================================
2099    // PopplerLayersIter
2100    //=========================================================================
2101    pub fn poppler_layers_iter_get_type() -> GType;
2102    pub fn poppler_layers_iter_new(document: *mut PopplerDocument) -> *mut PopplerLayersIter;
2103    pub fn poppler_layers_iter_copy(iter: *mut PopplerLayersIter) -> *mut PopplerLayersIter;
2104    pub fn poppler_layers_iter_free(iter: *mut PopplerLayersIter);
2105    pub fn poppler_layers_iter_get_child(parent: *mut PopplerLayersIter) -> *mut PopplerLayersIter;
2106    pub fn poppler_layers_iter_get_layer(iter: *mut PopplerLayersIter) -> *mut PopplerLayer;
2107    pub fn poppler_layers_iter_get_title(iter: *mut PopplerLayersIter) -> *mut c_char;
2108    pub fn poppler_layers_iter_next(iter: *mut PopplerLayersIter) -> gboolean;
2109
2110    //=========================================================================
2111    // PopplerLinkMapping
2112    //=========================================================================
2113    pub fn poppler_link_mapping_get_type() -> GType;
2114    pub fn poppler_link_mapping_new() -> *mut PopplerLinkMapping;
2115    pub fn poppler_link_mapping_copy(mapping: *mut PopplerLinkMapping) -> *mut PopplerLinkMapping;
2116    pub fn poppler_link_mapping_free(mapping: *mut PopplerLinkMapping);
2117
2118    //=========================================================================
2119    // PopplerPageTransition
2120    //=========================================================================
2121    pub fn poppler_page_transition_get_type() -> GType;
2122    pub fn poppler_page_transition_new() -> *mut PopplerPageTransition;
2123    pub fn poppler_page_transition_copy(
2124        transition: *mut PopplerPageTransition,
2125    ) -> *mut PopplerPageTransition;
2126    pub fn poppler_page_transition_free(transition: *mut PopplerPageTransition);
2127
2128    //=========================================================================
2129    // PopplerPath
2130    //=========================================================================
2131    #[cfg(feature = "v25_6")]
2132    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2133    pub fn poppler_path_get_type() -> GType;
2134    #[cfg(feature = "v25_6")]
2135    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2136    pub fn poppler_path_new_from_array(
2137        points: *mut PopplerPoint,
2138        n_points: size_t,
2139    ) -> *mut PopplerPath;
2140    #[cfg(feature = "v25_6")]
2141    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2142    pub fn poppler_path_copy(path: *mut PopplerPath) -> *mut PopplerPath;
2143    #[cfg(feature = "v25_6")]
2144    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2145    pub fn poppler_path_free(path: *mut PopplerPath);
2146    #[cfg(feature = "v25_6")]
2147    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2148    pub fn poppler_path_get_points(
2149        path: *mut PopplerPath,
2150        n_points: *mut size_t,
2151    ) -> *mut PopplerPoint;
2152
2153    //=========================================================================
2154    // PopplerPoint
2155    //=========================================================================
2156    pub fn poppler_point_get_type() -> GType;
2157    pub fn poppler_point_new() -> *mut PopplerPoint;
2158    pub fn poppler_point_copy(point: *mut PopplerPoint) -> *mut PopplerPoint;
2159    pub fn poppler_point_free(point: *mut PopplerPoint);
2160
2161    //=========================================================================
2162    // PopplerQuadrilateral
2163    //=========================================================================
2164    pub fn poppler_quadrilateral_get_type() -> GType;
2165    pub fn poppler_quadrilateral_new() -> *mut PopplerQuadrilateral;
2166    pub fn poppler_quadrilateral_copy(quad: *mut PopplerQuadrilateral)
2167    -> *mut PopplerQuadrilateral;
2168    pub fn poppler_quadrilateral_free(quad: *mut PopplerQuadrilateral);
2169
2170    //=========================================================================
2171    // PopplerRectangle
2172    //=========================================================================
2173    pub fn poppler_rectangle_get_type() -> GType;
2174    pub fn poppler_rectangle_new() -> *mut PopplerRectangle;
2175    pub fn poppler_rectangle_copy(rectangle: *mut PopplerRectangle) -> *mut PopplerRectangle;
2176    #[cfg(feature = "v21_5")]
2177    #[cfg_attr(docsrs, doc(cfg(feature = "v21_5")))]
2178    pub fn poppler_rectangle_find_get_ignored_hyphen(
2179        rectangle: *const PopplerRectangle,
2180    ) -> gboolean;
2181    #[cfg(feature = "v21_5")]
2182    #[cfg_attr(docsrs, doc(cfg(feature = "v21_5")))]
2183    pub fn poppler_rectangle_find_get_match_continued(
2184        rectangle: *const PopplerRectangle,
2185    ) -> gboolean;
2186    pub fn poppler_rectangle_free(rectangle: *mut PopplerRectangle);
2187
2188    //=========================================================================
2189    // PopplerSignatureInfo
2190    //=========================================================================
2191    #[cfg(feature = "v21_12")]
2192    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2193    pub fn poppler_signature_info_get_type() -> GType;
2194    #[cfg(feature = "v21_12")]
2195    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2196    pub fn poppler_signature_info_copy(
2197        siginfo: *const PopplerSignatureInfo,
2198    ) -> *mut PopplerSignatureInfo;
2199    #[cfg(feature = "v21_12")]
2200    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2201    pub fn poppler_signature_info_free(siginfo: *mut PopplerSignatureInfo);
2202    #[cfg(feature = "v23_8")]
2203    #[cfg_attr(docsrs, doc(cfg(feature = "v23_8")))]
2204    pub fn poppler_signature_info_get_certificate_info(
2205        siginfo: *const PopplerSignatureInfo,
2206    ) -> *mut PopplerCertificateInfo;
2207    #[cfg(feature = "v21_12")]
2208    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2209    pub fn poppler_signature_info_get_certificate_status(
2210        siginfo: *const PopplerSignatureInfo,
2211    ) -> PopplerCertificateStatus;
2212    #[cfg(feature = "v21_12")]
2213    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2214    pub fn poppler_signature_info_get_local_signing_time(
2215        siginfo: *const PopplerSignatureInfo,
2216    ) -> *mut glib::GDateTime;
2217    #[cfg(feature = "v21_12")]
2218    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2219    pub fn poppler_signature_info_get_signature_status(
2220        siginfo: *const PopplerSignatureInfo,
2221    ) -> PopplerSignatureStatus;
2222    #[cfg(feature = "v21_12")]
2223    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2224    pub fn poppler_signature_info_get_signer_name(
2225        siginfo: *const PopplerSignatureInfo,
2226    ) -> *const c_char;
2227
2228    //=========================================================================
2229    // PopplerSigningData
2230    //=========================================================================
2231    pub fn poppler_signing_data_get_type() -> GType;
2232    #[cfg(feature = "v23_7")]
2233    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2234    pub fn poppler_signing_data_new() -> *mut PopplerSigningData;
2235    #[cfg(feature = "v23_7")]
2236    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2237    pub fn poppler_signing_data_copy(
2238        signing_data: *const PopplerSigningData,
2239    ) -> *mut PopplerSigningData;
2240    #[cfg(feature = "v23_7")]
2241    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2242    pub fn poppler_signing_data_free(signing_data: *mut PopplerSigningData);
2243    #[cfg(feature = "v23_7")]
2244    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2245    pub fn poppler_signing_data_get_background_color(
2246        signing_data: *const PopplerSigningData,
2247    ) -> *const PopplerColor;
2248    #[cfg(feature = "v23_7")]
2249    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2250    pub fn poppler_signing_data_get_border_color(
2251        signing_data: *const PopplerSigningData,
2252    ) -> *const PopplerColor;
2253    #[cfg(feature = "v23_7")]
2254    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2255    pub fn poppler_signing_data_get_border_width(
2256        signing_data: *const PopplerSigningData,
2257    ) -> c_double;
2258    #[cfg(feature = "v23_7")]
2259    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2260    pub fn poppler_signing_data_get_certificate_info(
2261        signing_data: *const PopplerSigningData,
2262    ) -> *const PopplerCertificateInfo;
2263    #[cfg(feature = "v23_7")]
2264    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2265    pub fn poppler_signing_data_get_destination_filename(
2266        signing_data: *const PopplerSigningData,
2267    ) -> *const c_char;
2268    #[cfg(feature = "v23_7")]
2269    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2270    pub fn poppler_signing_data_get_document_owner_password(
2271        signing_data: *const PopplerSigningData,
2272    ) -> *const c_char;
2273    #[cfg(feature = "v23_7")]
2274    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2275    pub fn poppler_signing_data_get_document_user_password(
2276        signing_data: *const PopplerSigningData,
2277    ) -> *const c_char;
2278    #[cfg(feature = "v23_7")]
2279    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2280    pub fn poppler_signing_data_get_field_partial_name(
2281        signing_data: *const PopplerSigningData,
2282    ) -> *const c_char;
2283    #[cfg(feature = "v23_7")]
2284    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2285    pub fn poppler_signing_data_get_font_color(
2286        signing_data: *const PopplerSigningData,
2287    ) -> *const PopplerColor;
2288    #[cfg(feature = "v23_7")]
2289    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2290    pub fn poppler_signing_data_get_font_size(signing_data: *const PopplerSigningData) -> c_double;
2291    #[cfg(feature = "v23_7")]
2292    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2293    pub fn poppler_signing_data_get_image_path(
2294        signing_data: *const PopplerSigningData,
2295    ) -> *const c_char;
2296    #[cfg(feature = "v23_7")]
2297    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2298    pub fn poppler_signing_data_get_left_font_size(
2299        signing_data: *const PopplerSigningData,
2300    ) -> c_double;
2301    #[cfg(feature = "v23_7")]
2302    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2303    pub fn poppler_signing_data_get_location(
2304        signing_data: *const PopplerSigningData,
2305    ) -> *const c_char;
2306    #[cfg(feature = "v23_7")]
2307    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2308    pub fn poppler_signing_data_get_page(signing_data: *const PopplerSigningData) -> c_int;
2309    #[cfg(feature = "v23_7")]
2310    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2311    pub fn poppler_signing_data_get_password(
2312        signing_data: *const PopplerSigningData,
2313    ) -> *const c_char;
2314    #[cfg(feature = "v23_7")]
2315    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2316    pub fn poppler_signing_data_get_reason(
2317        signing_data: *const PopplerSigningData,
2318    ) -> *const c_char;
2319    #[cfg(feature = "v23_7")]
2320    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2321    pub fn poppler_signing_data_get_signature_rectangle(
2322        signing_data: *const PopplerSigningData,
2323    ) -> *const PopplerRectangle;
2324    #[cfg(feature = "v23_7")]
2325    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2326    pub fn poppler_signing_data_get_signature_text(
2327        signing_data: *const PopplerSigningData,
2328    ) -> *const c_char;
2329    #[cfg(feature = "v23_7")]
2330    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2331    pub fn poppler_signing_data_get_signature_text_left(
2332        signing_data: *const PopplerSigningData,
2333    ) -> *const c_char;
2334    #[cfg(feature = "v23_7")]
2335    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2336    pub fn poppler_signing_data_set_background_color(
2337        signing_data: *mut PopplerSigningData,
2338        background_color: *const PopplerColor,
2339    );
2340    #[cfg(feature = "v23_7")]
2341    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2342    pub fn poppler_signing_data_set_border_color(
2343        signing_data: *mut PopplerSigningData,
2344        border_color: *const PopplerColor,
2345    );
2346    #[cfg(feature = "v23_7")]
2347    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2348    pub fn poppler_signing_data_set_border_width(
2349        signing_data: *mut PopplerSigningData,
2350        border_width: c_double,
2351    );
2352    #[cfg(feature = "v23_7")]
2353    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2354    pub fn poppler_signing_data_set_certificate_info(
2355        signing_data: *mut PopplerSigningData,
2356        certificate_info: *const PopplerCertificateInfo,
2357    );
2358    #[cfg(feature = "v23_7")]
2359    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2360    pub fn poppler_signing_data_set_destination_filename(
2361        signing_data: *mut PopplerSigningData,
2362        filename: *const c_char,
2363    );
2364    #[cfg(feature = "v23_7")]
2365    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2366    pub fn poppler_signing_data_set_document_owner_password(
2367        signing_data: *mut PopplerSigningData,
2368        document_owner_password: *const c_char,
2369    );
2370    #[cfg(feature = "v23_7")]
2371    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2372    pub fn poppler_signing_data_set_document_user_password(
2373        signing_data: *mut PopplerSigningData,
2374        document_user_password: *const c_char,
2375    );
2376    #[cfg(feature = "v23_7")]
2377    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2378    pub fn poppler_signing_data_set_field_partial_name(
2379        signing_data: *mut PopplerSigningData,
2380        field_partial_name: *const c_char,
2381    );
2382    #[cfg(feature = "v23_7")]
2383    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2384    pub fn poppler_signing_data_set_font_color(
2385        signing_data: *mut PopplerSigningData,
2386        font_color: *const PopplerColor,
2387    );
2388    #[cfg(feature = "v23_7")]
2389    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2390    pub fn poppler_signing_data_set_font_size(
2391        signing_data: *mut PopplerSigningData,
2392        font_size: c_double,
2393    );
2394    #[cfg(feature = "v23_7")]
2395    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2396    pub fn poppler_signing_data_set_image_path(
2397        signing_data: *mut PopplerSigningData,
2398        image_path: *const c_char,
2399    );
2400    #[cfg(feature = "v23_7")]
2401    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2402    pub fn poppler_signing_data_set_left_font_size(
2403        signing_data: *mut PopplerSigningData,
2404        font_size: c_double,
2405    );
2406    #[cfg(feature = "v23_7")]
2407    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2408    pub fn poppler_signing_data_set_location(
2409        signing_data: *mut PopplerSigningData,
2410        location: *const c_char,
2411    );
2412    #[cfg(feature = "v23_7")]
2413    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2414    pub fn poppler_signing_data_set_page(signing_data: *mut PopplerSigningData, page: c_int);
2415    #[cfg(feature = "v23_7")]
2416    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2417    pub fn poppler_signing_data_set_password(
2418        signing_data: *mut PopplerSigningData,
2419        password: *const c_char,
2420    );
2421    #[cfg(feature = "v23_7")]
2422    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2423    pub fn poppler_signing_data_set_reason(
2424        signing_data: *mut PopplerSigningData,
2425        reason: *const c_char,
2426    );
2427    #[cfg(feature = "v23_7")]
2428    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2429    pub fn poppler_signing_data_set_signature_rectangle(
2430        signing_data: *mut PopplerSigningData,
2431        signature_rect: *const PopplerRectangle,
2432    );
2433    #[cfg(feature = "v23_7")]
2434    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2435    pub fn poppler_signing_data_set_signature_text(
2436        signing_data: *mut PopplerSigningData,
2437        signature_text: *const c_char,
2438    );
2439    #[cfg(feature = "v23_7")]
2440    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
2441    pub fn poppler_signing_data_set_signature_text_left(
2442        signing_data: *mut PopplerSigningData,
2443        signature_text_left: *const c_char,
2444    );
2445
2446    //=========================================================================
2447    // PopplerStructureElementIter
2448    //=========================================================================
2449    pub fn poppler_structure_element_iter_get_type() -> GType;
2450    pub fn poppler_structure_element_iter_new(
2451        poppler_document: *mut PopplerDocument,
2452    ) -> *mut PopplerStructureElementIter;
2453    pub fn poppler_structure_element_iter_copy(
2454        iter: *mut PopplerStructureElementIter,
2455    ) -> *mut PopplerStructureElementIter;
2456    pub fn poppler_structure_element_iter_free(iter: *mut PopplerStructureElementIter);
2457    pub fn poppler_structure_element_iter_get_child(
2458        parent: *mut PopplerStructureElementIter,
2459    ) -> *mut PopplerStructureElementIter;
2460    pub fn poppler_structure_element_iter_get_element(
2461        iter: *mut PopplerStructureElementIter,
2462    ) -> *mut PopplerStructureElement;
2463    pub fn poppler_structure_element_iter_next(iter: *mut PopplerStructureElementIter) -> gboolean;
2464
2465    //=========================================================================
2466    // PopplerTextAttributes
2467    //=========================================================================
2468    pub fn poppler_text_attributes_get_type() -> GType;
2469    pub fn poppler_text_attributes_new() -> *mut PopplerTextAttributes;
2470    pub fn poppler_text_attributes_copy(
2471        text_attrs: *mut PopplerTextAttributes,
2472    ) -> *mut PopplerTextAttributes;
2473    pub fn poppler_text_attributes_free(text_attrs: *mut PopplerTextAttributes);
2474
2475    //=========================================================================
2476    // PopplerTextSpan
2477    //=========================================================================
2478    pub fn poppler_text_span_get_type() -> GType;
2479    pub fn poppler_text_span_copy(poppler_text_span: *mut PopplerTextSpan) -> *mut PopplerTextSpan;
2480    pub fn poppler_text_span_free(poppler_text_span: *mut PopplerTextSpan);
2481    pub fn poppler_text_span_get_color(
2482        poppler_text_span: *mut PopplerTextSpan,
2483        color: *mut PopplerColor,
2484    );
2485    pub fn poppler_text_span_get_font_name(
2486        poppler_text_span: *mut PopplerTextSpan,
2487    ) -> *const c_char;
2488    pub fn poppler_text_span_get_text(poppler_text_span: *mut PopplerTextSpan) -> *const c_char;
2489    pub fn poppler_text_span_is_bold_font(poppler_text_span: *mut PopplerTextSpan) -> gboolean;
2490    pub fn poppler_text_span_is_fixed_width_font(
2491        poppler_text_span: *mut PopplerTextSpan,
2492    ) -> gboolean;
2493    pub fn poppler_text_span_is_serif_font(poppler_text_span: *mut PopplerTextSpan) -> gboolean;
2494
2495    //=========================================================================
2496    // PopplerAnnot
2497    //=========================================================================
2498    pub fn poppler_annot_get_type() -> GType;
2499    pub fn poppler_annot_get_annot_type(poppler_annot: *mut PopplerAnnot) -> PopplerAnnotType;
2500    #[cfg(feature = "v24_12")]
2501    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2502    pub fn poppler_annot_get_border_width(
2503        poppler_annot: *mut PopplerAnnot,
2504        width: *mut c_double,
2505    ) -> gboolean;
2506    pub fn poppler_annot_get_color(poppler_annot: *mut PopplerAnnot) -> *mut PopplerColor;
2507    pub fn poppler_annot_get_contents(poppler_annot: *mut PopplerAnnot) -> *mut c_char;
2508    pub fn poppler_annot_get_flags(poppler_annot: *mut PopplerAnnot) -> PopplerAnnotFlag;
2509    pub fn poppler_annot_get_modified(poppler_annot: *mut PopplerAnnot) -> *mut c_char;
2510    pub fn poppler_annot_get_name(poppler_annot: *mut PopplerAnnot) -> *mut c_char;
2511    pub fn poppler_annot_get_page_index(poppler_annot: *mut PopplerAnnot) -> c_int;
2512    pub fn poppler_annot_get_rectangle(
2513        poppler_annot: *mut PopplerAnnot,
2514        poppler_rect: *mut PopplerRectangle,
2515    );
2516    #[cfg(feature = "v24_12")]
2517    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2518    pub fn poppler_annot_set_border_width(poppler_annot: *mut PopplerAnnot, width: c_double);
2519    pub fn poppler_annot_set_color(
2520        poppler_annot: *mut PopplerAnnot,
2521        poppler_color: *mut PopplerColor,
2522    );
2523    pub fn poppler_annot_set_contents(poppler_annot: *mut PopplerAnnot, contents: *const c_char);
2524    pub fn poppler_annot_set_flags(poppler_annot: *mut PopplerAnnot, flags: PopplerAnnotFlag);
2525    pub fn poppler_annot_set_rectangle(
2526        poppler_annot: *mut PopplerAnnot,
2527        poppler_rect: *mut PopplerRectangle,
2528    );
2529
2530    //=========================================================================
2531    // PopplerAnnotCircle
2532    //=========================================================================
2533    pub fn poppler_annot_circle_get_type() -> GType;
2534    pub fn poppler_annot_circle_new(
2535        doc: *mut PopplerDocument,
2536        rect: *mut PopplerRectangle,
2537    ) -> *mut PopplerAnnot;
2538    pub fn poppler_annot_circle_get_interior_color(
2539        poppler_annot: *mut PopplerAnnotCircle,
2540    ) -> *mut PopplerColor;
2541    pub fn poppler_annot_circle_set_interior_color(
2542        poppler_annot: *mut PopplerAnnotCircle,
2543        poppler_color: *mut PopplerColor,
2544    );
2545
2546    //=========================================================================
2547    // PopplerAnnotFileAttachment
2548    //=========================================================================
2549    pub fn poppler_annot_file_attachment_get_type() -> GType;
2550    pub fn poppler_annot_file_attachment_get_attachment(
2551        poppler_annot: *mut PopplerAnnotFileAttachment,
2552    ) -> *mut PopplerAttachment;
2553    pub fn poppler_annot_file_attachment_get_name(
2554        poppler_annot: *mut PopplerAnnotFileAttachment,
2555    ) -> *mut c_char;
2556
2557    //=========================================================================
2558    // PopplerAnnotFreeText
2559    //=========================================================================
2560    pub fn poppler_annot_free_text_get_type() -> GType;
2561    pub fn poppler_annot_free_text_new(
2562        doc: *mut PopplerDocument,
2563        rect: *mut PopplerRectangle,
2564    ) -> *mut PopplerAnnot;
2565    pub fn poppler_annot_free_text_get_callout_line(
2566        poppler_annot: *mut PopplerAnnotFreeText,
2567    ) -> *mut PopplerAnnotCalloutLine;
2568    #[cfg(feature = "v24_12")]
2569    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2570    pub fn poppler_annot_free_text_get_font_color(
2571        poppler_annot: *mut PopplerAnnotFreeText,
2572    ) -> *mut PopplerColor;
2573    #[cfg(feature = "v24_12")]
2574    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2575    pub fn poppler_annot_free_text_get_font_desc(
2576        poppler_annot: *mut PopplerAnnotFreeText,
2577    ) -> *mut PopplerFontDescription;
2578    pub fn poppler_annot_free_text_get_quadding(
2579        poppler_annot: *mut PopplerAnnotFreeText,
2580    ) -> PopplerAnnotFreeTextQuadding;
2581    #[cfg(feature = "v24_12")]
2582    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2583    pub fn poppler_annot_free_text_set_font_color(
2584        poppler_annot: *mut PopplerAnnotFreeText,
2585        color: *mut PopplerColor,
2586    );
2587    #[cfg(feature = "v24_12")]
2588    #[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
2589    pub fn poppler_annot_free_text_set_font_desc(
2590        poppler_annot: *mut PopplerAnnotFreeText,
2591        font_desc: *mut PopplerFontDescription,
2592    );
2593
2594    //=========================================================================
2595    // PopplerAnnotInk
2596    //=========================================================================
2597    #[cfg(feature = "v25_6")]
2598    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2599    pub fn poppler_annot_ink_get_type() -> GType;
2600    #[cfg(feature = "v25_6")]
2601    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2602    pub fn poppler_annot_ink_new(
2603        doc: *mut PopplerDocument,
2604        rect: *mut PopplerRectangle,
2605    ) -> *mut PopplerAnnot;
2606    #[cfg(feature = "v25_10")]
2607    #[cfg_attr(docsrs, doc(cfg(feature = "v25_10")))]
2608    pub fn poppler_annot_ink_get_draw_below(annot: *mut PopplerAnnotInk) -> gboolean;
2609    #[cfg(feature = "v25_6")]
2610    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2611    pub fn poppler_annot_ink_get_ink_list(
2612        annot: *mut PopplerAnnotInk,
2613        n_paths: *mut size_t,
2614    ) -> *mut *mut PopplerPath;
2615    #[cfg(feature = "v25_10")]
2616    #[cfg_attr(docsrs, doc(cfg(feature = "v25_10")))]
2617    pub fn poppler_annot_ink_set_draw_below(annot: *mut PopplerAnnotInk, draw_below: gboolean);
2618    #[cfg(feature = "v25_6")]
2619    #[cfg_attr(docsrs, doc(cfg(feature = "v25_6")))]
2620    pub fn poppler_annot_ink_set_ink_list(
2621        annot: *mut PopplerAnnotInk,
2622        ink_list: *mut *mut PopplerPath,
2623        n_paths: size_t,
2624    );
2625
2626    //=========================================================================
2627    // PopplerAnnotLine
2628    //=========================================================================
2629    pub fn poppler_annot_line_get_type() -> GType;
2630    pub fn poppler_annot_line_new(
2631        doc: *mut PopplerDocument,
2632        rect: *mut PopplerRectangle,
2633        start: *mut PopplerPoint,
2634        end: *mut PopplerPoint,
2635    ) -> *mut PopplerAnnot;
2636    pub fn poppler_annot_line_set_vertices(
2637        poppler_annot: *mut PopplerAnnotLine,
2638        start: *mut PopplerPoint,
2639        end: *mut PopplerPoint,
2640    );
2641
2642    //=========================================================================
2643    // PopplerAnnotMarkup
2644    //=========================================================================
2645    pub fn poppler_annot_markup_get_type() -> GType;
2646    pub fn poppler_annot_markup_get_date(
2647        poppler_annot: *mut PopplerAnnotMarkup,
2648    ) -> *mut glib::GDate;
2649    pub fn poppler_annot_markup_get_external_data(
2650        poppler_annot: *mut PopplerAnnotMarkup,
2651    ) -> PopplerAnnotExternalDataType;
2652    pub fn poppler_annot_markup_get_label(poppler_annot: *mut PopplerAnnotMarkup) -> *mut c_char;
2653    pub fn poppler_annot_markup_get_opacity(poppler_annot: *mut PopplerAnnotMarkup) -> c_double;
2654    pub fn poppler_annot_markup_get_popup_is_open(
2655        poppler_annot: *mut PopplerAnnotMarkup,
2656    ) -> gboolean;
2657    pub fn poppler_annot_markup_get_popup_rectangle(
2658        poppler_annot: *mut PopplerAnnotMarkup,
2659        poppler_rect: *mut PopplerRectangle,
2660    ) -> gboolean;
2661    pub fn poppler_annot_markup_get_reply_to(
2662        poppler_annot: *mut PopplerAnnotMarkup,
2663    ) -> PopplerAnnotMarkupReplyType;
2664    pub fn poppler_annot_markup_get_subject(poppler_annot: *mut PopplerAnnotMarkup) -> *mut c_char;
2665    pub fn poppler_annot_markup_has_popup(poppler_annot: *mut PopplerAnnotMarkup) -> gboolean;
2666    pub fn poppler_annot_markup_set_label(
2667        poppler_annot: *mut PopplerAnnotMarkup,
2668        label: *const c_char,
2669    );
2670    pub fn poppler_annot_markup_set_opacity(
2671        poppler_annot: *mut PopplerAnnotMarkup,
2672        opacity: c_double,
2673    );
2674    pub fn poppler_annot_markup_set_popup(
2675        poppler_annot: *mut PopplerAnnotMarkup,
2676        popup_rect: *mut PopplerRectangle,
2677    );
2678    pub fn poppler_annot_markup_set_popup_is_open(
2679        poppler_annot: *mut PopplerAnnotMarkup,
2680        is_open: gboolean,
2681    );
2682    pub fn poppler_annot_markup_set_popup_rectangle(
2683        poppler_annot: *mut PopplerAnnotMarkup,
2684        poppler_rect: *mut PopplerRectangle,
2685    );
2686
2687    //=========================================================================
2688    // PopplerAnnotMovie
2689    //=========================================================================
2690    pub fn poppler_annot_movie_get_type() -> GType;
2691    pub fn poppler_annot_movie_get_movie(
2692        poppler_annot: *mut PopplerAnnotMovie,
2693    ) -> *mut PopplerMovie;
2694    pub fn poppler_annot_movie_get_title(poppler_annot: *mut PopplerAnnotMovie) -> *mut c_char;
2695
2696    //=========================================================================
2697    // PopplerAnnotScreen
2698    //=========================================================================
2699    pub fn poppler_annot_screen_get_type() -> GType;
2700    pub fn poppler_annot_screen_get_action(
2701        poppler_annot: *mut PopplerAnnotScreen,
2702    ) -> *mut PopplerAction;
2703
2704    //=========================================================================
2705    // PopplerAnnotSquare
2706    //=========================================================================
2707    pub fn poppler_annot_square_get_type() -> GType;
2708    pub fn poppler_annot_square_new(
2709        doc: *mut PopplerDocument,
2710        rect: *mut PopplerRectangle,
2711    ) -> *mut PopplerAnnot;
2712    pub fn poppler_annot_square_get_interior_color(
2713        poppler_annot: *mut PopplerAnnotSquare,
2714    ) -> *mut PopplerColor;
2715    pub fn poppler_annot_square_set_interior_color(
2716        poppler_annot: *mut PopplerAnnotSquare,
2717        poppler_color: *mut PopplerColor,
2718    );
2719
2720    //=========================================================================
2721    // PopplerAnnotStamp
2722    //=========================================================================
2723    pub fn poppler_annot_stamp_get_type() -> GType;
2724    #[cfg(feature = "v22_7")]
2725    #[cfg_attr(docsrs, doc(cfg(feature = "v22_7")))]
2726    pub fn poppler_annot_stamp_new(
2727        doc: *mut PopplerDocument,
2728        rect: *mut PopplerRectangle,
2729    ) -> *mut PopplerAnnot;
2730    #[cfg(feature = "v22_7")]
2731    #[cfg_attr(docsrs, doc(cfg(feature = "v22_7")))]
2732    pub fn poppler_annot_stamp_get_icon(
2733        poppler_annot: *mut PopplerAnnotStamp,
2734    ) -> PopplerAnnotStampIcon;
2735    #[cfg(feature = "v22_7")]
2736    #[cfg_attr(docsrs, doc(cfg(feature = "v22_7")))]
2737    pub fn poppler_annot_stamp_set_custom_image(
2738        poppler_annot: *mut PopplerAnnotStamp,
2739        image: *mut cairo::cairo_surface_t,
2740        error: *mut *mut glib::GError,
2741    ) -> gboolean;
2742    #[cfg(feature = "v22_7")]
2743    #[cfg_attr(docsrs, doc(cfg(feature = "v22_7")))]
2744    pub fn poppler_annot_stamp_set_icon(
2745        poppler_annot: *mut PopplerAnnotStamp,
2746        icon: PopplerAnnotStampIcon,
2747    );
2748
2749    //=========================================================================
2750    // PopplerAnnotText
2751    //=========================================================================
2752    pub fn poppler_annot_text_get_type() -> GType;
2753    pub fn poppler_annot_text_new(
2754        doc: *mut PopplerDocument,
2755        rect: *mut PopplerRectangle,
2756    ) -> *mut PopplerAnnot;
2757    pub fn poppler_annot_text_get_icon(poppler_annot: *mut PopplerAnnotText) -> *mut c_char;
2758    pub fn poppler_annot_text_get_is_open(poppler_annot: *mut PopplerAnnotText) -> gboolean;
2759    pub fn poppler_annot_text_get_state(
2760        poppler_annot: *mut PopplerAnnotText,
2761    ) -> PopplerAnnotTextState;
2762    pub fn poppler_annot_text_set_icon(poppler_annot: *mut PopplerAnnotText, icon: *const c_char);
2763    pub fn poppler_annot_text_set_is_open(poppler_annot: *mut PopplerAnnotText, is_open: gboolean);
2764
2765    //=========================================================================
2766    // PopplerAnnotTextMarkup
2767    //=========================================================================
2768    pub fn poppler_annot_text_markup_get_type() -> GType;
2769    pub fn poppler_annot_text_markup_new_highlight(
2770        doc: *mut PopplerDocument,
2771        rect: *mut PopplerRectangle,
2772        quadrilaterals: *mut glib::GArray,
2773    ) -> *mut PopplerAnnot;
2774    pub fn poppler_annot_text_markup_new_squiggly(
2775        doc: *mut PopplerDocument,
2776        rect: *mut PopplerRectangle,
2777        quadrilaterals: *mut glib::GArray,
2778    ) -> *mut PopplerAnnot;
2779    pub fn poppler_annot_text_markup_new_strikeout(
2780        doc: *mut PopplerDocument,
2781        rect: *mut PopplerRectangle,
2782        quadrilaterals: *mut glib::GArray,
2783    ) -> *mut PopplerAnnot;
2784    pub fn poppler_annot_text_markup_new_underline(
2785        doc: *mut PopplerDocument,
2786        rect: *mut PopplerRectangle,
2787        quadrilaterals: *mut glib::GArray,
2788    ) -> *mut PopplerAnnot;
2789    pub fn poppler_annot_text_markup_get_quadrilaterals(
2790        poppler_annot: *mut PopplerAnnotTextMarkup,
2791    ) -> *mut glib::GArray;
2792    pub fn poppler_annot_text_markup_set_quadrilaterals(
2793        poppler_annot: *mut PopplerAnnotTextMarkup,
2794        quadrilaterals: *mut glib::GArray,
2795    );
2796
2797    //=========================================================================
2798    // PopplerAttachment
2799    //=========================================================================
2800    pub fn poppler_attachment_get_type() -> GType;
2801    #[cfg(feature = "v20_9")]
2802    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2803    pub fn poppler_attachment_get_checksum(
2804        attachment: *mut PopplerAttachment,
2805    ) -> *const glib::GString;
2806    #[cfg(feature = "v20_9")]
2807    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2808    pub fn poppler_attachment_get_ctime(attachment: *mut PopplerAttachment)
2809    -> *mut glib::GDateTime;
2810    #[cfg(feature = "v20_9")]
2811    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2812    pub fn poppler_attachment_get_description(attachment: *mut PopplerAttachment) -> *const c_char;
2813    #[cfg(feature = "v20_9")]
2814    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2815    pub fn poppler_attachment_get_mtime(attachment: *mut PopplerAttachment)
2816    -> *mut glib::GDateTime;
2817    #[cfg(feature = "v20_9")]
2818    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2819    pub fn poppler_attachment_get_name(attachment: *mut PopplerAttachment) -> *const c_char;
2820    #[cfg(feature = "v20_9")]
2821    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2822    pub fn poppler_attachment_get_size(attachment: *mut PopplerAttachment) -> size_t;
2823    pub fn poppler_attachment_save(
2824        attachment: *mut PopplerAttachment,
2825        filename: *const c_char,
2826        error: *mut *mut glib::GError,
2827    ) -> gboolean;
2828    pub fn poppler_attachment_save_to_callback(
2829        attachment: *mut PopplerAttachment,
2830        save_func: PopplerAttachmentSaveFunc,
2831        user_data: gpointer,
2832        error: *mut *mut glib::GError,
2833    ) -> gboolean;
2834    #[cfg(feature = "v21_12")]
2835    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2836    pub fn poppler_attachment_save_to_fd(
2837        attachment: *mut PopplerAttachment,
2838        fd: c_int,
2839        error: *mut *mut glib::GError,
2840    ) -> gboolean;
2841
2842    //=========================================================================
2843    // PopplerDocument
2844    //=========================================================================
2845    pub fn poppler_document_get_type() -> GType;
2846    #[cfg(feature = "v0_82")]
2847    #[cfg_attr(docsrs, doc(cfg(feature = "v0_82")))]
2848    pub fn poppler_document_new_from_bytes(
2849        bytes: *mut glib::GBytes,
2850        password: *const c_char,
2851        error: *mut *mut glib::GError,
2852    ) -> *mut PopplerDocument;
2853    pub fn poppler_document_new_from_data(
2854        data: *mut u8,
2855        length: c_int,
2856        password: *const c_char,
2857        error: *mut *mut glib::GError,
2858    ) -> *mut PopplerDocument;
2859    #[cfg(feature = "v21_12")]
2860    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2861    #[cfg(target_os = "linux")]
2862    #[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
2863    pub fn poppler_document_new_from_fd(
2864        fd: c_int,
2865        password: *const c_char,
2866        error: *mut *mut glib::GError,
2867    ) -> *mut PopplerDocument;
2868    pub fn poppler_document_new_from_file(
2869        uri: *const c_char,
2870        password: *const c_char,
2871        error: *mut *mut glib::GError,
2872    ) -> *mut PopplerDocument;
2873    pub fn poppler_document_new_from_gfile(
2874        file: *mut gio::GFile,
2875        password: *const c_char,
2876        cancellable: *mut gio::GCancellable,
2877        error: *mut *mut glib::GError,
2878    ) -> *mut PopplerDocument;
2879    pub fn poppler_document_new_from_stream(
2880        stream: *mut gio::GInputStream,
2881        length: i64,
2882        password: *const c_char,
2883        cancellable: *mut gio::GCancellable,
2884        error: *mut *mut glib::GError,
2885    ) -> *mut PopplerDocument;
2886    #[cfg(feature = "v0_78")]
2887    #[cfg_attr(docsrs, doc(cfg(feature = "v0_78")))]
2888    pub fn poppler_document_create_dests_tree(document: *mut PopplerDocument) -> *mut glib::GTree;
2889    pub fn poppler_document_find_dest(
2890        document: *mut PopplerDocument,
2891        link_name: *const c_char,
2892    ) -> *mut PopplerDest;
2893    pub fn poppler_document_get_attachments(document: *mut PopplerDocument) -> *mut glib::GList;
2894    pub fn poppler_document_get_author(document: *mut PopplerDocument) -> *mut c_char;
2895    pub fn poppler_document_get_creation_date(document: *mut PopplerDocument) -> time_t;
2896    #[cfg(feature = "v20_9")]
2897    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2898    pub fn poppler_document_get_creation_date_time(
2899        document: *mut PopplerDocument,
2900    ) -> *mut glib::GDateTime;
2901    pub fn poppler_document_get_creator(document: *mut PopplerDocument) -> *mut c_char;
2902    pub fn poppler_document_get_form_field(
2903        document: *mut PopplerDocument,
2904        id: c_int,
2905    ) -> *mut PopplerFormField;
2906    pub fn poppler_document_get_id(
2907        document: *mut PopplerDocument,
2908        permanent_id: *mut *mut c_char,
2909        update_id: *mut *mut c_char,
2910    ) -> gboolean;
2911    pub fn poppler_document_get_keywords(document: *mut PopplerDocument) -> *mut c_char;
2912    pub fn poppler_document_get_metadata(document: *mut PopplerDocument) -> *mut c_char;
2913    pub fn poppler_document_get_modification_date(document: *mut PopplerDocument) -> time_t;
2914    #[cfg(feature = "v20_9")]
2915    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
2916    pub fn poppler_document_get_modification_date_time(
2917        document: *mut PopplerDocument,
2918    ) -> *mut glib::GDateTime;
2919    pub fn poppler_document_get_n_attachments(document: *mut PopplerDocument) -> c_uint;
2920    pub fn poppler_document_get_n_pages(document: *mut PopplerDocument) -> c_int;
2921    #[cfg(feature = "v21_12")]
2922    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2923    pub fn poppler_document_get_n_signatures(document: *const PopplerDocument) -> c_int;
2924    pub fn poppler_document_get_page(
2925        document: *mut PopplerDocument,
2926        index: c_int,
2927    ) -> *mut PopplerPage;
2928    pub fn poppler_document_get_page_by_label(
2929        document: *mut PopplerDocument,
2930        label: *const c_char,
2931    ) -> *mut PopplerPage;
2932    pub fn poppler_document_get_page_layout(document: *mut PopplerDocument) -> PopplerPageLayout;
2933    pub fn poppler_document_get_page_mode(document: *mut PopplerDocument) -> PopplerPageMode;
2934    pub fn poppler_document_get_pdf_conformance(
2935        document: *mut PopplerDocument,
2936    ) -> PopplerPDFConformance;
2937    pub fn poppler_document_get_pdf_part(document: *mut PopplerDocument) -> PopplerPDFPart;
2938    pub fn poppler_document_get_pdf_subtype(document: *mut PopplerDocument) -> PopplerPDFSubtype;
2939    pub fn poppler_document_get_pdf_subtype_string(document: *mut PopplerDocument) -> *mut c_char;
2940    pub fn poppler_document_get_pdf_version(
2941        document: *mut PopplerDocument,
2942        major_version: *mut c_uint,
2943        minor_version: *mut c_uint,
2944    );
2945    pub fn poppler_document_get_pdf_version_string(document: *mut PopplerDocument) -> *mut c_char;
2946    pub fn poppler_document_get_permissions(document: *mut PopplerDocument) -> PopplerPermissions;
2947    #[cfg(feature = "v0_80")]
2948    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
2949    pub fn poppler_document_get_print_duplex(document: *mut PopplerDocument) -> PopplerPrintDuplex;
2950    #[cfg(feature = "v0_80")]
2951    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
2952    pub fn poppler_document_get_print_n_copies(document: *mut PopplerDocument) -> c_int;
2953    #[cfg(feature = "v0_80")]
2954    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
2955    pub fn poppler_document_get_print_page_ranges(
2956        document: *mut PopplerDocument,
2957        n_ranges: *mut c_int,
2958    ) -> *mut PopplerPageRange;
2959    #[cfg(feature = "v0_73")]
2960    #[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
2961    pub fn poppler_document_get_print_scaling(
2962        document: *mut PopplerDocument,
2963    ) -> PopplerPrintScaling;
2964    pub fn poppler_document_get_producer(document: *mut PopplerDocument) -> *mut c_char;
2965    #[cfg(feature = "v22_2")]
2966    #[cfg_attr(docsrs, doc(cfg(feature = "v22_2")))]
2967    pub fn poppler_document_get_signature_fields(
2968        document: *mut PopplerDocument,
2969    ) -> *mut glib::GList;
2970    pub fn poppler_document_get_subject(document: *mut PopplerDocument) -> *mut c_char;
2971    pub fn poppler_document_get_title(document: *mut PopplerDocument) -> *mut c_char;
2972    pub fn poppler_document_has_attachments(document: *mut PopplerDocument) -> gboolean;
2973    #[cfg(feature = "v0_90")]
2974    #[cfg_attr(docsrs, doc(cfg(feature = "v0_90")))]
2975    pub fn poppler_document_has_javascript(document: *mut PopplerDocument) -> gboolean;
2976    pub fn poppler_document_is_linearized(document: *mut PopplerDocument) -> gboolean;
2977    #[cfg(feature = "v0_90")]
2978    #[cfg_attr(docsrs, doc(cfg(feature = "v0_90")))]
2979    pub fn poppler_document_reset_form(
2980        document: *mut PopplerDocument,
2981        fields: *mut glib::GList,
2982        exclude_fields: gboolean,
2983    );
2984    pub fn poppler_document_save(
2985        document: *mut PopplerDocument,
2986        uri: *const c_char,
2987        error: *mut *mut glib::GError,
2988    ) -> gboolean;
2989    pub fn poppler_document_save_a_copy(
2990        document: *mut PopplerDocument,
2991        uri: *const c_char,
2992        error: *mut *mut glib::GError,
2993    ) -> gboolean;
2994    #[cfg(feature = "v21_12")]
2995    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
2996    #[cfg(target_os = "linux")]
2997    #[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
2998    pub fn poppler_document_save_to_fd(
2999        document: *mut PopplerDocument,
3000        fd: c_int,
3001        include_changes: gboolean,
3002        error: *mut *mut glib::GError,
3003    ) -> gboolean;
3004    pub fn poppler_document_set_author(document: *mut PopplerDocument, author: *const c_char);
3005    pub fn poppler_document_set_creation_date(
3006        document: *mut PopplerDocument,
3007        creation_date: time_t,
3008    );
3009    #[cfg(feature = "v20_9")]
3010    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
3011    pub fn poppler_document_set_creation_date_time(
3012        document: *mut PopplerDocument,
3013        creation_datetime: *mut glib::GDateTime,
3014    );
3015    pub fn poppler_document_set_creator(document: *mut PopplerDocument, creator: *const c_char);
3016    pub fn poppler_document_set_keywords(document: *mut PopplerDocument, keywords: *const c_char);
3017    pub fn poppler_document_set_modification_date(
3018        document: *mut PopplerDocument,
3019        modification_date: time_t,
3020    );
3021    #[cfg(feature = "v20_9")]
3022    #[cfg_attr(docsrs, doc(cfg(feature = "v20_9")))]
3023    pub fn poppler_document_set_modification_date_time(
3024        document: *mut PopplerDocument,
3025        modification_datetime: *mut glib::GDateTime,
3026    );
3027    pub fn poppler_document_set_producer(document: *mut PopplerDocument, producer: *const c_char);
3028    pub fn poppler_document_set_subject(document: *mut PopplerDocument, subject: *const c_char);
3029    pub fn poppler_document_set_title(document: *mut PopplerDocument, title: *const c_char);
3030    #[cfg(feature = "v23_7")]
3031    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3032    pub fn poppler_document_sign(
3033        document: *mut PopplerDocument,
3034        signing_data: *const PopplerSigningData,
3035        cancellable: *mut gio::GCancellable,
3036        callback: gio::GAsyncReadyCallback,
3037        user_data: gpointer,
3038    );
3039    #[cfg(feature = "v23_7")]
3040    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3041    pub fn poppler_document_sign_finish(
3042        document: *mut PopplerDocument,
3043        result: *mut gio::GAsyncResult,
3044        error: *mut *mut glib::GError,
3045    ) -> gboolean;
3046
3047    //=========================================================================
3048    // PopplerFontInfo
3049    //=========================================================================
3050    pub fn poppler_font_info_get_type() -> GType;
3051    pub fn poppler_font_info_new(document: *mut PopplerDocument) -> *mut PopplerFontInfo;
3052    pub fn poppler_font_info_free(font_info: *mut PopplerFontInfo);
3053    pub fn poppler_font_info_scan(
3054        font_info: *mut PopplerFontInfo,
3055        n_pages: c_int,
3056        iter: *mut *mut PopplerFontsIter,
3057    ) -> gboolean;
3058
3059    //=========================================================================
3060    // PopplerFormField
3061    //=========================================================================
3062    pub fn poppler_form_field_get_type() -> GType;
3063    pub fn poppler_form_field_button_get_button_type(
3064        field: *mut PopplerFormField,
3065    ) -> PopplerFormButtonType;
3066    pub fn poppler_form_field_button_get_state(field: *mut PopplerFormField) -> gboolean;
3067    pub fn poppler_form_field_button_set_state(field: *mut PopplerFormField, state: gboolean);
3068    pub fn poppler_form_field_choice_can_select_multiple(field: *mut PopplerFormField) -> gboolean;
3069    pub fn poppler_form_field_choice_commit_on_change(field: *mut PopplerFormField) -> gboolean;
3070    pub fn poppler_form_field_choice_do_spell_check(field: *mut PopplerFormField) -> gboolean;
3071    pub fn poppler_form_field_choice_get_choice_type(
3072        field: *mut PopplerFormField,
3073    ) -> PopplerFormChoiceType;
3074    pub fn poppler_form_field_choice_get_item(
3075        field: *mut PopplerFormField,
3076        index: c_int,
3077    ) -> *mut c_char;
3078    pub fn poppler_form_field_choice_get_n_items(field: *mut PopplerFormField) -> c_int;
3079    pub fn poppler_form_field_choice_get_text(field: *mut PopplerFormField) -> *mut c_char;
3080    pub fn poppler_form_field_choice_is_editable(field: *mut PopplerFormField) -> gboolean;
3081    pub fn poppler_form_field_choice_is_item_selected(
3082        field: *mut PopplerFormField,
3083        index: c_int,
3084    ) -> gboolean;
3085    pub fn poppler_form_field_choice_select_item(field: *mut PopplerFormField, index: c_int);
3086    pub fn poppler_form_field_choice_set_text(field: *mut PopplerFormField, text: *const c_char);
3087    pub fn poppler_form_field_choice_toggle_item(field: *mut PopplerFormField, index: c_int);
3088    pub fn poppler_form_field_choice_unselect_all(field: *mut PopplerFormField);
3089    pub fn poppler_form_field_get_action(field: *mut PopplerFormField) -> *mut PopplerAction;
3090    #[cfg(feature = "v0_72")]
3091    #[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
3092    pub fn poppler_form_field_get_additional_action(
3093        field: *mut PopplerFormField,
3094        type_: PopplerAdditionalActionType,
3095    ) -> *mut PopplerAction;
3096    #[cfg(feature = "v0_88")]
3097    #[cfg_attr(docsrs, doc(cfg(feature = "v0_88")))]
3098    pub fn poppler_form_field_get_alternate_ui_name(field: *mut PopplerFormField) -> *mut c_char;
3099    pub fn poppler_form_field_get_field_type(field: *mut PopplerFormField) -> PopplerFormFieldType;
3100    pub fn poppler_form_field_get_font_size(field: *mut PopplerFormField) -> c_double;
3101    pub fn poppler_form_field_get_id(field: *mut PopplerFormField) -> c_int;
3102    pub fn poppler_form_field_get_mapping_name(field: *mut PopplerFormField) -> *mut c_char;
3103    pub fn poppler_form_field_get_name(field: *mut PopplerFormField) -> *mut c_char;
3104    pub fn poppler_form_field_get_partial_name(field: *mut PopplerFormField) -> *mut c_char;
3105    pub fn poppler_form_field_is_read_only(field: *mut PopplerFormField) -> gboolean;
3106    #[cfg(feature = "v21_12")]
3107    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3108    pub fn poppler_form_field_signature_validate_async(
3109        field: *mut PopplerFormField,
3110        flags: PopplerSignatureValidationFlags,
3111        cancellable: *mut gio::GCancellable,
3112        callback: gio::GAsyncReadyCallback,
3113        user_data: gpointer,
3114    );
3115    #[cfg(feature = "v21_12")]
3116    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3117    pub fn poppler_form_field_signature_validate_finish(
3118        field: *mut PopplerFormField,
3119        result: *mut gio::GAsyncResult,
3120        error: *mut *mut glib::GError,
3121    ) -> *mut PopplerSignatureInfo;
3122    #[cfg(feature = "v21_12")]
3123    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3124    pub fn poppler_form_field_signature_validate_sync(
3125        field: *mut PopplerFormField,
3126        flags: PopplerSignatureValidationFlags,
3127        cancellable: *mut gio::GCancellable,
3128        error: *mut *mut glib::GError,
3129    ) -> *mut PopplerSignatureInfo;
3130    pub fn poppler_form_field_text_do_scroll(field: *mut PopplerFormField) -> gboolean;
3131    pub fn poppler_form_field_text_do_spell_check(field: *mut PopplerFormField) -> gboolean;
3132    pub fn poppler_form_field_text_get_max_len(field: *mut PopplerFormField) -> c_int;
3133    pub fn poppler_form_field_text_get_text(field: *mut PopplerFormField) -> *mut c_char;
3134    pub fn poppler_form_field_text_get_text_type(
3135        field: *mut PopplerFormField,
3136    ) -> PopplerFormTextType;
3137    pub fn poppler_form_field_text_is_password(field: *mut PopplerFormField) -> gboolean;
3138    pub fn poppler_form_field_text_is_rich_text(field: *mut PopplerFormField) -> gboolean;
3139    pub fn poppler_form_field_text_set_text(field: *mut PopplerFormField, text: *const c_char);
3140
3141    //=========================================================================
3142    // PopplerLayer
3143    //=========================================================================
3144    pub fn poppler_layer_get_type() -> GType;
3145    pub fn poppler_layer_get_radio_button_group_id(layer: *mut PopplerLayer) -> c_int;
3146    pub fn poppler_layer_get_title(layer: *mut PopplerLayer) -> *const c_char;
3147    pub fn poppler_layer_hide(layer: *mut PopplerLayer);
3148    pub fn poppler_layer_is_parent(layer: *mut PopplerLayer) -> gboolean;
3149    pub fn poppler_layer_is_visible(layer: *mut PopplerLayer) -> gboolean;
3150    pub fn poppler_layer_show(layer: *mut PopplerLayer);
3151
3152    //=========================================================================
3153    // PopplerMedia
3154    //=========================================================================
3155    pub fn poppler_media_get_type() -> GType;
3156    #[cfg(feature = "v20_4")]
3157    #[cfg_attr(docsrs, doc(cfg(feature = "v20_4")))]
3158    pub fn poppler_media_get_auto_play(poppler_media: *mut PopplerMedia) -> gboolean;
3159    pub fn poppler_media_get_filename(poppler_media: *mut PopplerMedia) -> *const c_char;
3160    pub fn poppler_media_get_mime_type(poppler_media: *mut PopplerMedia) -> *const c_char;
3161    #[cfg(feature = "v20_4")]
3162    #[cfg_attr(docsrs, doc(cfg(feature = "v20_4")))]
3163    pub fn poppler_media_get_repeat_count(poppler_media: *mut PopplerMedia) -> c_float;
3164    #[cfg(feature = "v20_4")]
3165    #[cfg_attr(docsrs, doc(cfg(feature = "v20_4")))]
3166    pub fn poppler_media_get_show_controls(poppler_media: *mut PopplerMedia) -> gboolean;
3167    pub fn poppler_media_is_embedded(poppler_media: *mut PopplerMedia) -> gboolean;
3168    pub fn poppler_media_save(
3169        poppler_media: *mut PopplerMedia,
3170        filename: *const c_char,
3171        error: *mut *mut glib::GError,
3172    ) -> gboolean;
3173    pub fn poppler_media_save_to_callback(
3174        poppler_media: *mut PopplerMedia,
3175        save_func: PopplerMediaSaveFunc,
3176        user_data: gpointer,
3177        error: *mut *mut glib::GError,
3178    ) -> gboolean;
3179    #[cfg(feature = "v21_12")]
3180    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3181    #[cfg(target_os = "linux")]
3182    #[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
3183    pub fn poppler_media_save_to_fd(
3184        poppler_media: *mut PopplerMedia,
3185        fd: c_int,
3186        error: *mut *mut glib::GError,
3187    ) -> gboolean;
3188
3189    //=========================================================================
3190    // PopplerMovie
3191    //=========================================================================
3192    pub fn poppler_movie_get_type() -> GType;
3193    #[cfg(feature = "v0_89")]
3194    #[cfg_attr(docsrs, doc(cfg(feature = "v0_89")))]
3195    pub fn poppler_movie_get_aspect(
3196        poppler_movie: *mut PopplerMovie,
3197        width: *mut c_int,
3198        height: *mut c_int,
3199    );
3200    #[cfg(feature = "v0_80")]
3201    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3202    pub fn poppler_movie_get_duration(poppler_movie: *mut PopplerMovie) -> u64;
3203    pub fn poppler_movie_get_filename(poppler_movie: *mut PopplerMovie) -> *const c_char;
3204    pub fn poppler_movie_get_play_mode(poppler_movie: *mut PopplerMovie) -> PopplerMoviePlayMode;
3205    #[cfg(feature = "v0_80")]
3206    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3207    pub fn poppler_movie_get_rate(poppler_movie: *mut PopplerMovie) -> c_double;
3208    #[cfg(feature = "v0_80")]
3209    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3210    pub fn poppler_movie_get_rotation_angle(poppler_movie: *mut PopplerMovie) -> c_ushort;
3211    #[cfg(feature = "v0_80")]
3212    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3213    pub fn poppler_movie_get_start(poppler_movie: *mut PopplerMovie) -> u64;
3214    #[cfg(feature = "v0_80")]
3215    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3216    pub fn poppler_movie_get_volume(poppler_movie: *mut PopplerMovie) -> c_double;
3217    #[cfg(feature = "v0_80")]
3218    #[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3219    pub fn poppler_movie_is_synchronous(poppler_movie: *mut PopplerMovie) -> gboolean;
3220    pub fn poppler_movie_need_poster(poppler_movie: *mut PopplerMovie) -> gboolean;
3221    pub fn poppler_movie_show_controls(poppler_movie: *mut PopplerMovie) -> gboolean;
3222
3223    //=========================================================================
3224    // PopplerPSFile
3225    //=========================================================================
3226    pub fn poppler_ps_file_get_type() -> GType;
3227    pub fn poppler_ps_file_new(
3228        document: *mut PopplerDocument,
3229        filename: *const c_char,
3230        first_page: c_int,
3231        n_pages: c_int,
3232    ) -> *mut PopplerPSFile;
3233    #[cfg(feature = "v21_12")]
3234    #[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3235    #[cfg(target_os = "linux")]
3236    #[cfg_attr(docsrs, doc(cfg(target_os = "linux")))]
3237    pub fn poppler_ps_file_new_fd(
3238        document: *mut PopplerDocument,
3239        fd: c_int,
3240        first_page: c_int,
3241        n_pages: c_int,
3242    ) -> *mut PopplerPSFile;
3243    pub fn poppler_ps_file_free(ps_file: *mut PopplerPSFile);
3244    pub fn poppler_ps_file_set_duplex(ps_file: *mut PopplerPSFile, duplex: gboolean);
3245    pub fn poppler_ps_file_set_paper_size(
3246        ps_file: *mut PopplerPSFile,
3247        width: c_double,
3248        height: c_double,
3249    );
3250
3251    //=========================================================================
3252    // PopplerPage
3253    //=========================================================================
3254    pub fn poppler_page_get_type() -> GType;
3255    pub fn poppler_page_free_annot_mapping(list: *mut glib::GList);
3256    pub fn poppler_page_free_form_field_mapping(list: *mut glib::GList);
3257    pub fn poppler_page_free_image_mapping(list: *mut glib::GList);
3258    pub fn poppler_page_free_link_mapping(list: *mut glib::GList);
3259    pub fn poppler_page_free_text_attributes(list: *mut glib::GList);
3260    pub fn poppler_page_selection_region_free(region: *mut glib::GList);
3261    pub fn poppler_page_add_annot(page: *mut PopplerPage, annot: *mut PopplerAnnot);
3262    pub fn poppler_page_find_text(page: *mut PopplerPage, text: *const c_char) -> *mut glib::GList;
3263    pub fn poppler_page_find_text_with_options(
3264        page: *mut PopplerPage,
3265        text: *const c_char,
3266        options: PopplerFindFlags,
3267    ) -> *mut glib::GList;
3268    pub fn poppler_page_get_annot_mapping(page: *mut PopplerPage) -> *mut glib::GList;
3269    pub fn poppler_page_get_bounding_box(
3270        page: *mut PopplerPage,
3271        rect: *mut PopplerRectangle,
3272    ) -> gboolean;
3273    pub fn poppler_page_get_crop_box(page: *mut PopplerPage, rect: *mut PopplerRectangle);
3274    pub fn poppler_page_get_duration(page: *mut PopplerPage) -> c_double;
3275    pub fn poppler_page_get_form_field_mapping(page: *mut PopplerPage) -> *mut glib::GList;
3276    pub fn poppler_page_get_image(
3277        page: *mut PopplerPage,
3278        image_id: c_int,
3279    ) -> *mut cairo::cairo_surface_t;
3280    pub fn poppler_page_get_image_mapping(page: *mut PopplerPage) -> *mut glib::GList;
3281    pub fn poppler_page_get_index(page: *mut PopplerPage) -> c_int;
3282    pub fn poppler_page_get_label(page: *mut PopplerPage) -> *mut c_char;
3283    pub fn poppler_page_get_link_mapping(page: *mut PopplerPage) -> *mut glib::GList;
3284    pub fn poppler_page_get_selected_region(
3285        page: *mut PopplerPage,
3286        scale: c_double,
3287        style: PopplerSelectionStyle,
3288        selection: *mut PopplerRectangle,
3289    ) -> *mut cairo::cairo_region_t;
3290    pub fn poppler_page_get_selected_text(
3291        page: *mut PopplerPage,
3292        style: PopplerSelectionStyle,
3293        selection: *mut PopplerRectangle,
3294    ) -> *mut c_char;
3295    pub fn poppler_page_get_selection_region(
3296        page: *mut PopplerPage,
3297        scale: c_double,
3298        style: PopplerSelectionStyle,
3299        selection: *mut PopplerRectangle,
3300    ) -> *mut glib::GList;
3301    pub fn poppler_page_get_size(
3302        page: *mut PopplerPage,
3303        width: *mut c_double,
3304        height: *mut c_double,
3305    );
3306    pub fn poppler_page_get_text(page: *mut PopplerPage) -> *mut c_char;
3307    pub fn poppler_page_get_text_attributes(page: *mut PopplerPage) -> *mut glib::GList;
3308    pub fn poppler_page_get_text_attributes_for_area(
3309        page: *mut PopplerPage,
3310        area: *mut PopplerRectangle,
3311    ) -> *mut glib::GList;
3312    pub fn poppler_page_get_text_for_area(
3313        page: *mut PopplerPage,
3314        area: *mut PopplerRectangle,
3315    ) -> *mut c_char;
3316    pub fn poppler_page_get_text_layout(
3317        page: *mut PopplerPage,
3318        rectangles: *mut *mut PopplerRectangle,
3319        n_rectangles: *mut c_uint,
3320    ) -> gboolean;
3321    pub fn poppler_page_get_text_layout_for_area(
3322        page: *mut PopplerPage,
3323        area: *mut PopplerRectangle,
3324        rectangles: *mut *mut PopplerRectangle,
3325        n_rectangles: *mut c_uint,
3326    ) -> gboolean;
3327    pub fn poppler_page_get_thumbnail(page: *mut PopplerPage) -> *mut cairo::cairo_surface_t;
3328    pub fn poppler_page_get_thumbnail_size(
3329        page: *mut PopplerPage,
3330        width: *mut c_int,
3331        height: *mut c_int,
3332    ) -> gboolean;
3333    pub fn poppler_page_get_transition(page: *mut PopplerPage) -> *mut PopplerPageTransition;
3334    pub fn poppler_page_remove_annot(page: *mut PopplerPage, annot: *mut PopplerAnnot);
3335    pub fn poppler_page_render(page: *mut PopplerPage, cairo: *mut cairo::cairo_t);
3336    pub fn poppler_page_render_for_printing(page: *mut PopplerPage, cairo: *mut cairo::cairo_t);
3337    pub fn poppler_page_render_for_printing_with_options(
3338        page: *mut PopplerPage,
3339        cairo: *mut cairo::cairo_t,
3340        options: PopplerPrintFlags,
3341    );
3342    #[cfg(feature = "v25_2")]
3343    #[cfg_attr(docsrs, doc(cfg(feature = "v25_2")))]
3344    pub fn poppler_page_render_full(
3345        page: *mut PopplerPage,
3346        cairo: *mut cairo::cairo_t,
3347        printing: gboolean,
3348        flags: PopplerRenderAnnotsFlags,
3349    );
3350    pub fn poppler_page_render_selection(
3351        page: *mut PopplerPage,
3352        cairo: *mut cairo::cairo_t,
3353        selection: *mut PopplerRectangle,
3354        old_selection: *mut PopplerRectangle,
3355        style: PopplerSelectionStyle,
3356        glyph_color: *mut PopplerColor,
3357        background_color: *mut PopplerColor,
3358    );
3359    pub fn poppler_page_render_to_ps(page: *mut PopplerPage, ps_file: *mut PopplerPSFile);
3360    #[cfg(feature = "v25_8")]
3361    #[cfg_attr(docsrs, doc(cfg(feature = "v25_8")))]
3362    pub fn poppler_page_render_transparent_selection(
3363        page: *mut PopplerPage,
3364        cairo: *mut cairo::cairo_t,
3365        selection: *mut PopplerRectangle,
3366        old_selection: *mut PopplerRectangle,
3367        style: PopplerSelectionStyle,
3368        background_color: *mut PopplerColor,
3369        background_opacity: c_double,
3370    );
3371
3372    //=========================================================================
3373    // PopplerStructureElement
3374    //=========================================================================
3375    pub fn poppler_structure_element_get_type() -> GType;
3376    pub fn poppler_structure_element_get_abbreviation(
3377        poppler_structure_element: *mut PopplerStructureElement,
3378    ) -> *mut c_char;
3379    pub fn poppler_structure_element_get_actual_text(
3380        poppler_structure_element: *mut PopplerStructureElement,
3381    ) -> *mut c_char;
3382    pub fn poppler_structure_element_get_alt_text(
3383        poppler_structure_element: *mut PopplerStructureElement,
3384    ) -> *mut c_char;
3385    pub fn poppler_structure_element_get_background_color(
3386        poppler_structure_element: *mut PopplerStructureElement,
3387        color: *mut PopplerColor,
3388    ) -> gboolean;
3389    pub fn poppler_structure_element_get_baseline_shift(
3390        poppler_structure_element: *mut PopplerStructureElement,
3391    ) -> c_double;
3392    pub fn poppler_structure_element_get_block_align(
3393        poppler_structure_element: *mut PopplerStructureElement,
3394    ) -> PopplerStructureBlockAlign;
3395    pub fn poppler_structure_element_get_border_color(
3396        poppler_structure_element: *mut PopplerStructureElement,
3397        colors: *mut [PopplerColor; 4],
3398    ) -> gboolean;
3399    pub fn poppler_structure_element_get_border_style(
3400        poppler_structure_element: *mut PopplerStructureElement,
3401        border_styles: *mut [PopplerStructureBorderStyle; 4],
3402    );
3403    pub fn poppler_structure_element_get_border_thickness(
3404        poppler_structure_element: *mut PopplerStructureElement,
3405        border_thicknesses: *mut [c_double; 4],
3406    ) -> gboolean;
3407    pub fn poppler_structure_element_get_bounding_box(
3408        poppler_structure_element: *mut PopplerStructureElement,
3409        bounding_box: *mut PopplerRectangle,
3410    ) -> gboolean;
3411    pub fn poppler_structure_element_get_color(
3412        poppler_structure_element: *mut PopplerStructureElement,
3413        color: *mut PopplerColor,
3414    ) -> gboolean;
3415    pub fn poppler_structure_element_get_column_count(
3416        poppler_structure_element: *mut PopplerStructureElement,
3417    ) -> c_uint;
3418    pub fn poppler_structure_element_get_column_gaps(
3419        poppler_structure_element: *mut PopplerStructureElement,
3420        n_values: *mut c_uint,
3421    ) -> *mut c_double;
3422    pub fn poppler_structure_element_get_column_widths(
3423        poppler_structure_element: *mut PopplerStructureElement,
3424        n_values: *mut c_uint,
3425    ) -> *mut c_double;
3426    pub fn poppler_structure_element_get_end_indent(
3427        poppler_structure_element: *mut PopplerStructureElement,
3428    ) -> c_double;
3429    pub fn poppler_structure_element_get_form_description(
3430        poppler_structure_element: *mut PopplerStructureElement,
3431    ) -> *mut c_char;
3432    pub fn poppler_structure_element_get_form_role(
3433        poppler_structure_element: *mut PopplerStructureElement,
3434    ) -> PopplerStructureFormRole;
3435    pub fn poppler_structure_element_get_form_state(
3436        poppler_structure_element: *mut PopplerStructureElement,
3437    ) -> PopplerStructureFormState;
3438    pub fn poppler_structure_element_get_glyph_orientation(
3439        poppler_structure_element: *mut PopplerStructureElement,
3440    ) -> PopplerStructureGlyphOrientation;
3441    pub fn poppler_structure_element_get_height(
3442        poppler_structure_element: *mut PopplerStructureElement,
3443    ) -> c_double;
3444    pub fn poppler_structure_element_get_id(
3445        poppler_structure_element: *mut PopplerStructureElement,
3446    ) -> *mut c_char;
3447    pub fn poppler_structure_element_get_inline_align(
3448        poppler_structure_element: *mut PopplerStructureElement,
3449    ) -> PopplerStructureInlineAlign;
3450    pub fn poppler_structure_element_get_kind(
3451        poppler_structure_element: *mut PopplerStructureElement,
3452    ) -> PopplerStructureElementKind;
3453    pub fn poppler_structure_element_get_language(
3454        poppler_structure_element: *mut PopplerStructureElement,
3455    ) -> *mut c_char;
3456    pub fn poppler_structure_element_get_line_height(
3457        poppler_structure_element: *mut PopplerStructureElement,
3458    ) -> c_double;
3459    pub fn poppler_structure_element_get_list_numbering(
3460        poppler_structure_element: *mut PopplerStructureElement,
3461    ) -> PopplerStructureListNumbering;
3462    pub fn poppler_structure_element_get_padding(
3463        poppler_structure_element: *mut PopplerStructureElement,
3464        paddings: *mut [c_double; 4],
3465    );
3466    pub fn poppler_structure_element_get_page(
3467        poppler_structure_element: *mut PopplerStructureElement,
3468    ) -> c_int;
3469    pub fn poppler_structure_element_get_placement(
3470        poppler_structure_element: *mut PopplerStructureElement,
3471    ) -> PopplerStructurePlacement;
3472    pub fn poppler_structure_element_get_ruby_align(
3473        poppler_structure_element: *mut PopplerStructureElement,
3474    ) -> PopplerStructureRubyAlign;
3475    pub fn poppler_structure_element_get_ruby_position(
3476        poppler_structure_element: *mut PopplerStructureElement,
3477    ) -> PopplerStructureRubyPosition;
3478    pub fn poppler_structure_element_get_space_after(
3479        poppler_structure_element: *mut PopplerStructureElement,
3480    ) -> c_double;
3481    pub fn poppler_structure_element_get_space_before(
3482        poppler_structure_element: *mut PopplerStructureElement,
3483    ) -> c_double;
3484    pub fn poppler_structure_element_get_start_indent(
3485        poppler_structure_element: *mut PopplerStructureElement,
3486    ) -> c_double;
3487    pub fn poppler_structure_element_get_table_border_style(
3488        poppler_structure_element: *mut PopplerStructureElement,
3489        border_styles: *mut [PopplerStructureBorderStyle; 4],
3490    );
3491    pub fn poppler_structure_element_get_table_column_span(
3492        poppler_structure_element: *mut PopplerStructureElement,
3493    ) -> c_uint;
3494    pub fn poppler_structure_element_get_table_headers(
3495        poppler_structure_element: *mut PopplerStructureElement,
3496    ) -> *mut *mut c_char;
3497    pub fn poppler_structure_element_get_table_padding(
3498        poppler_structure_element: *mut PopplerStructureElement,
3499        paddings: *mut [c_double; 4],
3500    );
3501    pub fn poppler_structure_element_get_table_row_span(
3502        poppler_structure_element: *mut PopplerStructureElement,
3503    ) -> c_uint;
3504    pub fn poppler_structure_element_get_table_scope(
3505        poppler_structure_element: *mut PopplerStructureElement,
3506    ) -> PopplerStructureTableScope;
3507    pub fn poppler_structure_element_get_table_summary(
3508        poppler_structure_element: *mut PopplerStructureElement,
3509    ) -> *mut c_char;
3510    pub fn poppler_structure_element_get_text(
3511        poppler_structure_element: *mut PopplerStructureElement,
3512        flags: PopplerStructureGetTextFlags,
3513    ) -> *mut c_char;
3514    pub fn poppler_structure_element_get_text_align(
3515        poppler_structure_element: *mut PopplerStructureElement,
3516    ) -> PopplerStructureTextAlign;
3517    pub fn poppler_structure_element_get_text_decoration_color(
3518        poppler_structure_element: *mut PopplerStructureElement,
3519        color: *mut PopplerColor,
3520    ) -> gboolean;
3521    pub fn poppler_structure_element_get_text_decoration_thickness(
3522        poppler_structure_element: *mut PopplerStructureElement,
3523    ) -> c_double;
3524    pub fn poppler_structure_element_get_text_decoration_type(
3525        poppler_structure_element: *mut PopplerStructureElement,
3526    ) -> PopplerStructureTextDecoration;
3527    pub fn poppler_structure_element_get_text_indent(
3528        poppler_structure_element: *mut PopplerStructureElement,
3529    ) -> c_double;
3530    pub fn poppler_structure_element_get_text_spans(
3531        poppler_structure_element: *mut PopplerStructureElement,
3532        n_text_spans: *mut c_uint,
3533    ) -> *mut *mut PopplerTextSpan;
3534    pub fn poppler_structure_element_get_title(
3535        poppler_structure_element: *mut PopplerStructureElement,
3536    ) -> *mut c_char;
3537    pub fn poppler_structure_element_get_width(
3538        poppler_structure_element: *mut PopplerStructureElement,
3539    ) -> c_double;
3540    pub fn poppler_structure_element_get_writing_mode(
3541        poppler_structure_element: *mut PopplerStructureElement,
3542    ) -> PopplerStructureWritingMode;
3543    pub fn poppler_structure_element_is_block(
3544        poppler_structure_element: *mut PopplerStructureElement,
3545    ) -> gboolean;
3546    pub fn poppler_structure_element_is_content(
3547        poppler_structure_element: *mut PopplerStructureElement,
3548    ) -> gboolean;
3549    pub fn poppler_structure_element_is_grouping(
3550        poppler_structure_element: *mut PopplerStructureElement,
3551    ) -> gboolean;
3552    pub fn poppler_structure_element_is_inline(
3553        poppler_structure_element: *mut PopplerStructureElement,
3554    ) -> gboolean;
3555
3556    //=========================================================================
3557    // Other functions
3558    //=========================================================================
3559    pub fn poppler_date_parse(date: *const c_char, timet: *mut time_t) -> gboolean;
3560    pub fn poppler_get_available_signing_certificates() -> *mut glib::GList;
3561    pub fn poppler_get_backend() -> PopplerBackend;
3562    #[cfg(feature = "v23_7")]
3563    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3564    pub fn poppler_get_certificate_info_by_id(id: *const c_char) -> *mut PopplerCertificateInfo;
3565    #[cfg(feature = "v23_7")]
3566    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3567    pub fn poppler_get_nss_dir() -> *mut c_char;
3568    pub fn poppler_get_version() -> *const c_char;
3569    #[cfg(feature = "v0_73")]
3570    #[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3571    pub fn poppler_named_dest_from_bytestring(data: *const u8, length: size_t) -> *mut c_char;
3572    #[cfg(feature = "v0_73")]
3573    #[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3574    pub fn poppler_named_dest_to_bytestring(name: *const c_char, length: *mut size_t) -> *mut u8;
3575    #[cfg(feature = "v23_7")]
3576    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3577    pub fn poppler_set_nss_dir(path: *const c_char);
3578    #[cfg(feature = "v23_7")]
3579    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
3580    pub fn poppler_set_nss_password_callback(func: PopplerNssPasswordFunc);
3581
3582}