Skip to main content

poppler/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from
3// from gir-files (https://github.com/gtk-rs/gir-files)
4// DO NOT EDIT
5
6use crate::ffi;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "PopplerActionLayerAction")]
12pub enum ActionLayerAction {
13    #[doc(alias = "POPPLER_ACTION_LAYER_ON")]
14    On,
15    #[doc(alias = "POPPLER_ACTION_LAYER_OFF")]
16    Off,
17    #[doc(alias = "POPPLER_ACTION_LAYER_TOGGLE")]
18    Toggle,
19    #[doc(hidden)]
20    __Unknown(i32),
21}
22
23#[doc(hidden)]
24impl IntoGlib for ActionLayerAction {
25    type GlibType = ffi::PopplerActionLayerAction;
26
27    #[inline]
28    fn into_glib(self) -> ffi::PopplerActionLayerAction {
29        match self {
30            Self::On => ffi::POPPLER_ACTION_LAYER_ON,
31            Self::Off => ffi::POPPLER_ACTION_LAYER_OFF,
32            Self::Toggle => ffi::POPPLER_ACTION_LAYER_TOGGLE,
33            Self::__Unknown(value) => value,
34        }
35    }
36}
37
38#[doc(hidden)]
39impl FromGlib<ffi::PopplerActionLayerAction> for ActionLayerAction {
40    #[inline]
41    unsafe fn from_glib(value: ffi::PopplerActionLayerAction) -> Self {
42        match value {
43            ffi::POPPLER_ACTION_LAYER_ON => Self::On,
44            ffi::POPPLER_ACTION_LAYER_OFF => Self::Off,
45            ffi::POPPLER_ACTION_LAYER_TOGGLE => Self::Toggle,
46            value => Self::__Unknown(value),
47        }
48    }
49}
50
51impl StaticType for ActionLayerAction {
52    #[inline]
53    #[doc(alias = "poppler_action_layer_action_get_type")]
54    fn static_type() -> glib::Type {
55        unsafe { from_glib(ffi::poppler_action_layer_action_get_type()) }
56    }
57}
58
59impl glib::HasParamSpec for ActionLayerAction {
60    type ParamSpec = glib::ParamSpecEnum;
61    type SetValue = Self;
62    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
63
64    fn param_spec_builder() -> Self::BuilderFn {
65        Self::ParamSpec::builder_with_default
66    }
67}
68
69impl glib::value::ValueType for ActionLayerAction {
70    type Type = Self;
71}
72
73unsafe impl<'a> glib::value::FromValue<'a> for ActionLayerAction {
74    type Checker = glib::value::GenericValueTypeChecker<Self>;
75
76    #[inline]
77    unsafe fn from_value(value: &'a glib::Value) -> Self {
78        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
79    }
80}
81
82impl ToValue for ActionLayerAction {
83    #[inline]
84    fn to_value(&self) -> glib::Value {
85        let mut value = glib::Value::for_value_type::<Self>();
86        unsafe {
87            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
88        }
89        value
90    }
91
92    #[inline]
93    fn value_type(&self) -> glib::Type {
94        Self::static_type()
95    }
96}
97
98impl From<ActionLayerAction> for glib::Value {
99    #[inline]
100    fn from(v: ActionLayerAction) -> Self {
101        ToValue::to_value(&v)
102    }
103}
104
105#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
106#[non_exhaustive]
107#[doc(alias = "PopplerActionMovieOperation")]
108pub enum ActionMovieOperation {
109    #[doc(alias = "POPPLER_ACTION_MOVIE_PLAY")]
110    Play,
111    #[doc(alias = "POPPLER_ACTION_MOVIE_PAUSE")]
112    Pause,
113    #[doc(alias = "POPPLER_ACTION_MOVIE_RESUME")]
114    Resume,
115    #[doc(alias = "POPPLER_ACTION_MOVIE_STOP")]
116    Stop,
117    #[doc(hidden)]
118    __Unknown(i32),
119}
120
121#[doc(hidden)]
122impl IntoGlib for ActionMovieOperation {
123    type GlibType = ffi::PopplerActionMovieOperation;
124
125    #[inline]
126    fn into_glib(self) -> ffi::PopplerActionMovieOperation {
127        match self {
128            Self::Play => ffi::POPPLER_ACTION_MOVIE_PLAY,
129            Self::Pause => ffi::POPPLER_ACTION_MOVIE_PAUSE,
130            Self::Resume => ffi::POPPLER_ACTION_MOVIE_RESUME,
131            Self::Stop => ffi::POPPLER_ACTION_MOVIE_STOP,
132            Self::__Unknown(value) => value,
133        }
134    }
135}
136
137#[doc(hidden)]
138impl FromGlib<ffi::PopplerActionMovieOperation> for ActionMovieOperation {
139    #[inline]
140    unsafe fn from_glib(value: ffi::PopplerActionMovieOperation) -> Self {
141        match value {
142            ffi::POPPLER_ACTION_MOVIE_PLAY => Self::Play,
143            ffi::POPPLER_ACTION_MOVIE_PAUSE => Self::Pause,
144            ffi::POPPLER_ACTION_MOVIE_RESUME => Self::Resume,
145            ffi::POPPLER_ACTION_MOVIE_STOP => Self::Stop,
146            value => Self::__Unknown(value),
147        }
148    }
149}
150
151impl StaticType for ActionMovieOperation {
152    #[inline]
153    #[doc(alias = "poppler_action_movie_operation_get_type")]
154    fn static_type() -> glib::Type {
155        unsafe { from_glib(ffi::poppler_action_movie_operation_get_type()) }
156    }
157}
158
159impl glib::HasParamSpec for ActionMovieOperation {
160    type ParamSpec = glib::ParamSpecEnum;
161    type SetValue = Self;
162    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
163
164    fn param_spec_builder() -> Self::BuilderFn {
165        Self::ParamSpec::builder_with_default
166    }
167}
168
169impl glib::value::ValueType for ActionMovieOperation {
170    type Type = Self;
171}
172
173unsafe impl<'a> glib::value::FromValue<'a> for ActionMovieOperation {
174    type Checker = glib::value::GenericValueTypeChecker<Self>;
175
176    #[inline]
177    unsafe fn from_value(value: &'a glib::Value) -> Self {
178        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
179    }
180}
181
182impl ToValue for ActionMovieOperation {
183    #[inline]
184    fn to_value(&self) -> glib::Value {
185        let mut value = glib::Value::for_value_type::<Self>();
186        unsafe {
187            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
188        }
189        value
190    }
191
192    #[inline]
193    fn value_type(&self) -> glib::Type {
194        Self::static_type()
195    }
196}
197
198impl From<ActionMovieOperation> for glib::Value {
199    #[inline]
200    fn from(v: ActionMovieOperation) -> Self {
201        ToValue::to_value(&v)
202    }
203}
204
205#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
206#[non_exhaustive]
207#[doc(alias = "PopplerActionType")]
208pub enum ActionType {
209    #[doc(alias = "POPPLER_ACTION_UNKNOWN")]
210    Unknown,
211    #[doc(alias = "POPPLER_ACTION_NONE")]
212    None,
213    #[doc(alias = "POPPLER_ACTION_GOTO_DEST")]
214    GotoDest,
215    #[doc(alias = "POPPLER_ACTION_GOTO_REMOTE")]
216    GotoRemote,
217    #[doc(alias = "POPPLER_ACTION_LAUNCH")]
218    Launch,
219    #[doc(alias = "POPPLER_ACTION_URI")]
220    Uri,
221    #[doc(alias = "POPPLER_ACTION_NAMED")]
222    Named,
223    #[doc(alias = "POPPLER_ACTION_MOVIE")]
224    Movie,
225    #[doc(alias = "POPPLER_ACTION_RENDITION")]
226    Rendition,
227    #[doc(alias = "POPPLER_ACTION_OCG_STATE")]
228    OcgState,
229    #[doc(alias = "POPPLER_ACTION_JAVASCRIPT")]
230    Javascript,
231    #[doc(alias = "POPPLER_ACTION_RESET_FORM")]
232    ResetForm,
233    #[doc(hidden)]
234    __Unknown(i32),
235}
236
237#[doc(hidden)]
238impl IntoGlib for ActionType {
239    type GlibType = ffi::PopplerActionType;
240
241    #[inline]
242    fn into_glib(self) -> ffi::PopplerActionType {
243        match self {
244            Self::Unknown => ffi::POPPLER_ACTION_UNKNOWN,
245            Self::None => ffi::POPPLER_ACTION_NONE,
246            Self::GotoDest => ffi::POPPLER_ACTION_GOTO_DEST,
247            Self::GotoRemote => ffi::POPPLER_ACTION_GOTO_REMOTE,
248            Self::Launch => ffi::POPPLER_ACTION_LAUNCH,
249            Self::Uri => ffi::POPPLER_ACTION_URI,
250            Self::Named => ffi::POPPLER_ACTION_NAMED,
251            Self::Movie => ffi::POPPLER_ACTION_MOVIE,
252            Self::Rendition => ffi::POPPLER_ACTION_RENDITION,
253            Self::OcgState => ffi::POPPLER_ACTION_OCG_STATE,
254            Self::Javascript => ffi::POPPLER_ACTION_JAVASCRIPT,
255            Self::ResetForm => ffi::POPPLER_ACTION_RESET_FORM,
256            Self::__Unknown(value) => value,
257        }
258    }
259}
260
261#[doc(hidden)]
262impl FromGlib<ffi::PopplerActionType> for ActionType {
263    #[inline]
264    unsafe fn from_glib(value: ffi::PopplerActionType) -> Self {
265        match value {
266            ffi::POPPLER_ACTION_UNKNOWN => Self::Unknown,
267            ffi::POPPLER_ACTION_NONE => Self::None,
268            ffi::POPPLER_ACTION_GOTO_DEST => Self::GotoDest,
269            ffi::POPPLER_ACTION_GOTO_REMOTE => Self::GotoRemote,
270            ffi::POPPLER_ACTION_LAUNCH => Self::Launch,
271            ffi::POPPLER_ACTION_URI => Self::Uri,
272            ffi::POPPLER_ACTION_NAMED => Self::Named,
273            ffi::POPPLER_ACTION_MOVIE => Self::Movie,
274            ffi::POPPLER_ACTION_RENDITION => Self::Rendition,
275            ffi::POPPLER_ACTION_OCG_STATE => Self::OcgState,
276            ffi::POPPLER_ACTION_JAVASCRIPT => Self::Javascript,
277            ffi::POPPLER_ACTION_RESET_FORM => Self::ResetForm,
278            value => Self::__Unknown(value),
279        }
280    }
281}
282
283impl StaticType for ActionType {
284    #[inline]
285    #[doc(alias = "poppler_action_type_get_type")]
286    fn static_type() -> glib::Type {
287        unsafe { from_glib(ffi::poppler_action_type_get_type()) }
288    }
289}
290
291impl glib::HasParamSpec for ActionType {
292    type ParamSpec = glib::ParamSpecEnum;
293    type SetValue = Self;
294    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
295
296    fn param_spec_builder() -> Self::BuilderFn {
297        Self::ParamSpec::builder_with_default
298    }
299}
300
301impl glib::value::ValueType for ActionType {
302    type Type = Self;
303}
304
305unsafe impl<'a> glib::value::FromValue<'a> for ActionType {
306    type Checker = glib::value::GenericValueTypeChecker<Self>;
307
308    #[inline]
309    unsafe fn from_value(value: &'a glib::Value) -> Self {
310        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
311    }
312}
313
314impl ToValue for ActionType {
315    #[inline]
316    fn to_value(&self) -> glib::Value {
317        let mut value = glib::Value::for_value_type::<Self>();
318        unsafe {
319            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
320        }
321        value
322    }
323
324    #[inline]
325    fn value_type(&self) -> glib::Type {
326        Self::static_type()
327    }
328}
329
330impl From<ActionType> for glib::Value {
331    #[inline]
332    fn from(v: ActionType) -> Self {
333        ToValue::to_value(&v)
334    }
335}
336
337#[cfg(feature = "v0_72")]
338#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
339#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
340#[non_exhaustive]
341#[doc(alias = "PopplerAdditionalActionType")]
342pub enum AdditionalActionType {
343    #[doc(alias = "POPPLER_ADDITIONAL_ACTION_FIELD_MODIFIED")]
344    FieldModified,
345    #[doc(alias = "POPPLER_ADDITIONAL_ACTION_FORMAT_FIELD")]
346    FormatField,
347    #[doc(alias = "POPPLER_ADDITIONAL_ACTION_VALIDATE_FIELD")]
348    ValidateField,
349    #[doc(alias = "POPPLER_ADDITIONAL_ACTION_CALCULATE_FIELD")]
350    CalculateField,
351    #[doc(hidden)]
352    __Unknown(i32),
353}
354
355#[cfg(feature = "v0_72")]
356#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
357#[doc(hidden)]
358impl IntoGlib for AdditionalActionType {
359    type GlibType = ffi::PopplerAdditionalActionType;
360
361    #[inline]
362    fn into_glib(self) -> ffi::PopplerAdditionalActionType {
363        match self {
364            Self::FieldModified => ffi::POPPLER_ADDITIONAL_ACTION_FIELD_MODIFIED,
365            Self::FormatField => ffi::POPPLER_ADDITIONAL_ACTION_FORMAT_FIELD,
366            Self::ValidateField => ffi::POPPLER_ADDITIONAL_ACTION_VALIDATE_FIELD,
367            Self::CalculateField => ffi::POPPLER_ADDITIONAL_ACTION_CALCULATE_FIELD,
368            Self::__Unknown(value) => value,
369        }
370    }
371}
372
373#[cfg(feature = "v0_72")]
374#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
375#[doc(hidden)]
376impl FromGlib<ffi::PopplerAdditionalActionType> for AdditionalActionType {
377    #[inline]
378    unsafe fn from_glib(value: ffi::PopplerAdditionalActionType) -> Self {
379        match value {
380            ffi::POPPLER_ADDITIONAL_ACTION_FIELD_MODIFIED => Self::FieldModified,
381            ffi::POPPLER_ADDITIONAL_ACTION_FORMAT_FIELD => Self::FormatField,
382            ffi::POPPLER_ADDITIONAL_ACTION_VALIDATE_FIELD => Self::ValidateField,
383            ffi::POPPLER_ADDITIONAL_ACTION_CALCULATE_FIELD => Self::CalculateField,
384            value => Self::__Unknown(value),
385        }
386    }
387}
388
389#[cfg(feature = "v0_72")]
390#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
391impl StaticType for AdditionalActionType {
392    #[inline]
393    #[doc(alias = "poppler_additional_action_type_get_type")]
394    fn static_type() -> glib::Type {
395        unsafe { from_glib(ffi::poppler_additional_action_type_get_type()) }
396    }
397}
398
399#[cfg(feature = "v0_72")]
400#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
401impl glib::HasParamSpec for AdditionalActionType {
402    type ParamSpec = glib::ParamSpecEnum;
403    type SetValue = Self;
404    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
405
406    fn param_spec_builder() -> Self::BuilderFn {
407        Self::ParamSpec::builder_with_default
408    }
409}
410
411#[cfg(feature = "v0_72")]
412#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
413impl glib::value::ValueType for AdditionalActionType {
414    type Type = Self;
415}
416
417#[cfg(feature = "v0_72")]
418#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
419unsafe impl<'a> glib::value::FromValue<'a> for AdditionalActionType {
420    type Checker = glib::value::GenericValueTypeChecker<Self>;
421
422    #[inline]
423    unsafe fn from_value(value: &'a glib::Value) -> Self {
424        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
425    }
426}
427
428#[cfg(feature = "v0_72")]
429#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
430impl ToValue for AdditionalActionType {
431    #[inline]
432    fn to_value(&self) -> glib::Value {
433        let mut value = glib::Value::for_value_type::<Self>();
434        unsafe {
435            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
436        }
437        value
438    }
439
440    #[inline]
441    fn value_type(&self) -> glib::Type {
442        Self::static_type()
443    }
444}
445
446#[cfg(feature = "v0_72")]
447#[cfg_attr(docsrs, doc(cfg(feature = "v0_72")))]
448impl From<AdditionalActionType> for glib::Value {
449    #[inline]
450    fn from(v: AdditionalActionType) -> Self {
451        ToValue::to_value(&v)
452    }
453}
454
455#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
456#[non_exhaustive]
457#[doc(alias = "PopplerAnnotExternalDataType")]
458pub enum AnnotExternalDataType {
459    #[doc(alias = "POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D")]
460    _3d,
461    #[doc(alias = "POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN")]
462    Unknown,
463    #[doc(hidden)]
464    __Unknown(i32),
465}
466
467#[doc(hidden)]
468impl IntoGlib for AnnotExternalDataType {
469    type GlibType = ffi::PopplerAnnotExternalDataType;
470
471    #[inline]
472    fn into_glib(self) -> ffi::PopplerAnnotExternalDataType {
473        match self {
474            Self::_3d => ffi::POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D,
475            Self::Unknown => ffi::POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN,
476            Self::__Unknown(value) => value,
477        }
478    }
479}
480
481#[doc(hidden)]
482impl FromGlib<ffi::PopplerAnnotExternalDataType> for AnnotExternalDataType {
483    #[inline]
484    unsafe fn from_glib(value: ffi::PopplerAnnotExternalDataType) -> Self {
485        match value {
486            ffi::POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_3D => Self::_3d,
487            ffi::POPPLER_ANNOT_EXTERNAL_DATA_MARKUP_UNKNOWN => Self::Unknown,
488            value => Self::__Unknown(value),
489        }
490    }
491}
492
493impl StaticType for AnnotExternalDataType {
494    #[inline]
495    #[doc(alias = "poppler_annot_external_data_type_get_type")]
496    fn static_type() -> glib::Type {
497        unsafe { from_glib(ffi::poppler_annot_external_data_type_get_type()) }
498    }
499}
500
501impl glib::HasParamSpec for AnnotExternalDataType {
502    type ParamSpec = glib::ParamSpecEnum;
503    type SetValue = Self;
504    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
505
506    fn param_spec_builder() -> Self::BuilderFn {
507        Self::ParamSpec::builder_with_default
508    }
509}
510
511impl glib::value::ValueType for AnnotExternalDataType {
512    type Type = Self;
513}
514
515unsafe impl<'a> glib::value::FromValue<'a> for AnnotExternalDataType {
516    type Checker = glib::value::GenericValueTypeChecker<Self>;
517
518    #[inline]
519    unsafe fn from_value(value: &'a glib::Value) -> Self {
520        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
521    }
522}
523
524impl ToValue for AnnotExternalDataType {
525    #[inline]
526    fn to_value(&self) -> glib::Value {
527        let mut value = glib::Value::for_value_type::<Self>();
528        unsafe {
529            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
530        }
531        value
532    }
533
534    #[inline]
535    fn value_type(&self) -> glib::Type {
536        Self::static_type()
537    }
538}
539
540impl From<AnnotExternalDataType> for glib::Value {
541    #[inline]
542    fn from(v: AnnotExternalDataType) -> Self {
543        ToValue::to_value(&v)
544    }
545}
546
547#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
548#[non_exhaustive]
549#[doc(alias = "PopplerAnnotFreeTextQuadding")]
550pub enum AnnotFreeTextQuadding {
551    #[doc(alias = "POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED")]
552    LeftJustified,
553    #[doc(alias = "POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED")]
554    Centered,
555    #[doc(alias = "POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED")]
556    RightJustified,
557    #[doc(hidden)]
558    __Unknown(i32),
559}
560
561#[doc(hidden)]
562impl IntoGlib for AnnotFreeTextQuadding {
563    type GlibType = ffi::PopplerAnnotFreeTextQuadding;
564
565    #[inline]
566    fn into_glib(self) -> ffi::PopplerAnnotFreeTextQuadding {
567        match self {
568            Self::LeftJustified => ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED,
569            Self::Centered => ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED,
570            Self::RightJustified => ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED,
571            Self::__Unknown(value) => value,
572        }
573    }
574}
575
576#[doc(hidden)]
577impl FromGlib<ffi::PopplerAnnotFreeTextQuadding> for AnnotFreeTextQuadding {
578    #[inline]
579    unsafe fn from_glib(value: ffi::PopplerAnnotFreeTextQuadding) -> Self {
580        match value {
581            ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_LEFT_JUSTIFIED => Self::LeftJustified,
582            ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_CENTERED => Self::Centered,
583            ffi::POPPLER_ANNOT_FREE_TEXT_QUADDING_RIGHT_JUSTIFIED => Self::RightJustified,
584            value => Self::__Unknown(value),
585        }
586    }
587}
588
589impl StaticType for AnnotFreeTextQuadding {
590    #[inline]
591    #[doc(alias = "poppler_annot_free_text_quadding_get_type")]
592    fn static_type() -> glib::Type {
593        unsafe { from_glib(ffi::poppler_annot_free_text_quadding_get_type()) }
594    }
595}
596
597impl glib::HasParamSpec for AnnotFreeTextQuadding {
598    type ParamSpec = glib::ParamSpecEnum;
599    type SetValue = Self;
600    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
601
602    fn param_spec_builder() -> Self::BuilderFn {
603        Self::ParamSpec::builder_with_default
604    }
605}
606
607impl glib::value::ValueType for AnnotFreeTextQuadding {
608    type Type = Self;
609}
610
611unsafe impl<'a> glib::value::FromValue<'a> for AnnotFreeTextQuadding {
612    type Checker = glib::value::GenericValueTypeChecker<Self>;
613
614    #[inline]
615    unsafe fn from_value(value: &'a glib::Value) -> Self {
616        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
617    }
618}
619
620impl ToValue for AnnotFreeTextQuadding {
621    #[inline]
622    fn to_value(&self) -> glib::Value {
623        let mut value = glib::Value::for_value_type::<Self>();
624        unsafe {
625            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
626        }
627        value
628    }
629
630    #[inline]
631    fn value_type(&self) -> glib::Type {
632        Self::static_type()
633    }
634}
635
636impl From<AnnotFreeTextQuadding> for glib::Value {
637    #[inline]
638    fn from(v: AnnotFreeTextQuadding) -> Self {
639        ToValue::to_value(&v)
640    }
641}
642
643#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
644#[non_exhaustive]
645#[doc(alias = "PopplerAnnotMarkupReplyType")]
646pub enum AnnotMarkupReplyType {
647    #[doc(alias = "POPPLER_ANNOT_MARKUP_REPLY_TYPE_R")]
648    R,
649    #[doc(alias = "POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP")]
650    Group,
651    #[doc(hidden)]
652    __Unknown(i32),
653}
654
655#[doc(hidden)]
656impl IntoGlib for AnnotMarkupReplyType {
657    type GlibType = ffi::PopplerAnnotMarkupReplyType;
658
659    #[inline]
660    fn into_glib(self) -> ffi::PopplerAnnotMarkupReplyType {
661        match self {
662            Self::R => ffi::POPPLER_ANNOT_MARKUP_REPLY_TYPE_R,
663            Self::Group => ffi::POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP,
664            Self::__Unknown(value) => value,
665        }
666    }
667}
668
669#[doc(hidden)]
670impl FromGlib<ffi::PopplerAnnotMarkupReplyType> for AnnotMarkupReplyType {
671    #[inline]
672    unsafe fn from_glib(value: ffi::PopplerAnnotMarkupReplyType) -> Self {
673        match value {
674            ffi::POPPLER_ANNOT_MARKUP_REPLY_TYPE_R => Self::R,
675            ffi::POPPLER_ANNOT_MARKUP_REPLY_TYPE_GROUP => Self::Group,
676            value => Self::__Unknown(value),
677        }
678    }
679}
680
681impl StaticType for AnnotMarkupReplyType {
682    #[inline]
683    #[doc(alias = "poppler_annot_markup_reply_type_get_type")]
684    fn static_type() -> glib::Type {
685        unsafe { from_glib(ffi::poppler_annot_markup_reply_type_get_type()) }
686    }
687}
688
689impl glib::HasParamSpec for AnnotMarkupReplyType {
690    type ParamSpec = glib::ParamSpecEnum;
691    type SetValue = Self;
692    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
693
694    fn param_spec_builder() -> Self::BuilderFn {
695        Self::ParamSpec::builder_with_default
696    }
697}
698
699impl glib::value::ValueType for AnnotMarkupReplyType {
700    type Type = Self;
701}
702
703unsafe impl<'a> glib::value::FromValue<'a> for AnnotMarkupReplyType {
704    type Checker = glib::value::GenericValueTypeChecker<Self>;
705
706    #[inline]
707    unsafe fn from_value(value: &'a glib::Value) -> Self {
708        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
709    }
710}
711
712impl ToValue for AnnotMarkupReplyType {
713    #[inline]
714    fn to_value(&self) -> glib::Value {
715        let mut value = glib::Value::for_value_type::<Self>();
716        unsafe {
717            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
718        }
719        value
720    }
721
722    #[inline]
723    fn value_type(&self) -> glib::Type {
724        Self::static_type()
725    }
726}
727
728impl From<AnnotMarkupReplyType> for glib::Value {
729    #[inline]
730    fn from(v: AnnotMarkupReplyType) -> Self {
731        ToValue::to_value(&v)
732    }
733}
734
735#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
736#[non_exhaustive]
737#[doc(alias = "PopplerAnnotTextState")]
738pub enum AnnotTextState {
739    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_MARKED")]
740    Marked,
741    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_UNMARKED")]
742    Unmarked,
743    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_ACCEPTED")]
744    Accepted,
745    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_REJECTED")]
746    Rejected,
747    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_CANCELLED")]
748    Cancelled,
749    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_COMPLETED")]
750    Completed,
751    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_NONE")]
752    None,
753    #[doc(alias = "POPPLER_ANNOT_TEXT_STATE_UNKNOWN")]
754    Unknown,
755    #[doc(hidden)]
756    __Unknown(i32),
757}
758
759#[doc(hidden)]
760impl IntoGlib for AnnotTextState {
761    type GlibType = ffi::PopplerAnnotTextState;
762
763    #[inline]
764    fn into_glib(self) -> ffi::PopplerAnnotTextState {
765        match self {
766            Self::Marked => ffi::POPPLER_ANNOT_TEXT_STATE_MARKED,
767            Self::Unmarked => ffi::POPPLER_ANNOT_TEXT_STATE_UNMARKED,
768            Self::Accepted => ffi::POPPLER_ANNOT_TEXT_STATE_ACCEPTED,
769            Self::Rejected => ffi::POPPLER_ANNOT_TEXT_STATE_REJECTED,
770            Self::Cancelled => ffi::POPPLER_ANNOT_TEXT_STATE_CANCELLED,
771            Self::Completed => ffi::POPPLER_ANNOT_TEXT_STATE_COMPLETED,
772            Self::None => ffi::POPPLER_ANNOT_TEXT_STATE_NONE,
773            Self::Unknown => ffi::POPPLER_ANNOT_TEXT_STATE_UNKNOWN,
774            Self::__Unknown(value) => value,
775        }
776    }
777}
778
779#[doc(hidden)]
780impl FromGlib<ffi::PopplerAnnotTextState> for AnnotTextState {
781    #[inline]
782    unsafe fn from_glib(value: ffi::PopplerAnnotTextState) -> Self {
783        match value {
784            ffi::POPPLER_ANNOT_TEXT_STATE_MARKED => Self::Marked,
785            ffi::POPPLER_ANNOT_TEXT_STATE_UNMARKED => Self::Unmarked,
786            ffi::POPPLER_ANNOT_TEXT_STATE_ACCEPTED => Self::Accepted,
787            ffi::POPPLER_ANNOT_TEXT_STATE_REJECTED => Self::Rejected,
788            ffi::POPPLER_ANNOT_TEXT_STATE_CANCELLED => Self::Cancelled,
789            ffi::POPPLER_ANNOT_TEXT_STATE_COMPLETED => Self::Completed,
790            ffi::POPPLER_ANNOT_TEXT_STATE_NONE => Self::None,
791            ffi::POPPLER_ANNOT_TEXT_STATE_UNKNOWN => Self::Unknown,
792            value => Self::__Unknown(value),
793        }
794    }
795}
796
797impl StaticType for AnnotTextState {
798    #[inline]
799    #[doc(alias = "poppler_annot_text_state_get_type")]
800    fn static_type() -> glib::Type {
801        unsafe { from_glib(ffi::poppler_annot_text_state_get_type()) }
802    }
803}
804
805impl glib::HasParamSpec for AnnotTextState {
806    type ParamSpec = glib::ParamSpecEnum;
807    type SetValue = Self;
808    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
809
810    fn param_spec_builder() -> Self::BuilderFn {
811        Self::ParamSpec::builder_with_default
812    }
813}
814
815impl glib::value::ValueType for AnnotTextState {
816    type Type = Self;
817}
818
819unsafe impl<'a> glib::value::FromValue<'a> for AnnotTextState {
820    type Checker = glib::value::GenericValueTypeChecker<Self>;
821
822    #[inline]
823    unsafe fn from_value(value: &'a glib::Value) -> Self {
824        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
825    }
826}
827
828impl ToValue for AnnotTextState {
829    #[inline]
830    fn to_value(&self) -> glib::Value {
831        let mut value = glib::Value::for_value_type::<Self>();
832        unsafe {
833            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
834        }
835        value
836    }
837
838    #[inline]
839    fn value_type(&self) -> glib::Type {
840        Self::static_type()
841    }
842}
843
844impl From<AnnotTextState> for glib::Value {
845    #[inline]
846    fn from(v: AnnotTextState) -> Self {
847        ToValue::to_value(&v)
848    }
849}
850
851#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
852#[non_exhaustive]
853#[doc(alias = "PopplerAnnotType")]
854pub enum AnnotType {
855    #[doc(alias = "POPPLER_ANNOT_UNKNOWN")]
856    Unknown,
857    #[doc(alias = "POPPLER_ANNOT_TEXT")]
858    Text,
859    #[doc(alias = "POPPLER_ANNOT_LINK")]
860    Link,
861    #[doc(alias = "POPPLER_ANNOT_FREE_TEXT")]
862    FreeText,
863    #[doc(alias = "POPPLER_ANNOT_LINE")]
864    Line,
865    #[doc(alias = "POPPLER_ANNOT_SQUARE")]
866    Square,
867    #[doc(alias = "POPPLER_ANNOT_CIRCLE")]
868    Circle,
869    #[doc(alias = "POPPLER_ANNOT_POLYGON")]
870    Polygon,
871    #[doc(alias = "POPPLER_ANNOT_POLY_LINE")]
872    PolyLine,
873    #[doc(alias = "POPPLER_ANNOT_HIGHLIGHT")]
874    Highlight,
875    #[doc(alias = "POPPLER_ANNOT_UNDERLINE")]
876    Underline,
877    #[doc(alias = "POPPLER_ANNOT_SQUIGGLY")]
878    Squiggly,
879    #[doc(alias = "POPPLER_ANNOT_STRIKE_OUT")]
880    StrikeOut,
881    #[doc(alias = "POPPLER_ANNOT_STAMP")]
882    Stamp,
883    #[doc(alias = "POPPLER_ANNOT_CARET")]
884    Caret,
885    #[doc(alias = "POPPLER_ANNOT_INK")]
886    Ink,
887    #[doc(alias = "POPPLER_ANNOT_POPUP")]
888    Popup,
889    #[doc(alias = "POPPLER_ANNOT_FILE_ATTACHMENT")]
890    FileAttachment,
891    #[doc(alias = "POPPLER_ANNOT_SOUND")]
892    Sound,
893    #[doc(alias = "POPPLER_ANNOT_MOVIE")]
894    Movie,
895    #[doc(alias = "POPPLER_ANNOT_WIDGET")]
896    Widget,
897    #[doc(alias = "POPPLER_ANNOT_SCREEN")]
898    Screen,
899    #[doc(alias = "POPPLER_ANNOT_PRINTER_MARK")]
900    PrinterMark,
901    #[doc(alias = "POPPLER_ANNOT_TRAP_NET")]
902    TrapNet,
903    #[doc(alias = "POPPLER_ANNOT_WATERMARK")]
904    Watermark,
905    #[doc(alias = "POPPLER_ANNOT_3D")]
906    _3d,
907    #[doc(hidden)]
908    __Unknown(i32),
909}
910
911#[doc(hidden)]
912impl IntoGlib for AnnotType {
913    type GlibType = ffi::PopplerAnnotType;
914
915    fn into_glib(self) -> ffi::PopplerAnnotType {
916        match self {
917            Self::Unknown => ffi::POPPLER_ANNOT_UNKNOWN,
918            Self::Text => ffi::POPPLER_ANNOT_TEXT,
919            Self::Link => ffi::POPPLER_ANNOT_LINK,
920            Self::FreeText => ffi::POPPLER_ANNOT_FREE_TEXT,
921            Self::Line => ffi::POPPLER_ANNOT_LINE,
922            Self::Square => ffi::POPPLER_ANNOT_SQUARE,
923            Self::Circle => ffi::POPPLER_ANNOT_CIRCLE,
924            Self::Polygon => ffi::POPPLER_ANNOT_POLYGON,
925            Self::PolyLine => ffi::POPPLER_ANNOT_POLY_LINE,
926            Self::Highlight => ffi::POPPLER_ANNOT_HIGHLIGHT,
927            Self::Underline => ffi::POPPLER_ANNOT_UNDERLINE,
928            Self::Squiggly => ffi::POPPLER_ANNOT_SQUIGGLY,
929            Self::StrikeOut => ffi::POPPLER_ANNOT_STRIKE_OUT,
930            Self::Stamp => ffi::POPPLER_ANNOT_STAMP,
931            Self::Caret => ffi::POPPLER_ANNOT_CARET,
932            Self::Ink => ffi::POPPLER_ANNOT_INK,
933            Self::Popup => ffi::POPPLER_ANNOT_POPUP,
934            Self::FileAttachment => ffi::POPPLER_ANNOT_FILE_ATTACHMENT,
935            Self::Sound => ffi::POPPLER_ANNOT_SOUND,
936            Self::Movie => ffi::POPPLER_ANNOT_MOVIE,
937            Self::Widget => ffi::POPPLER_ANNOT_WIDGET,
938            Self::Screen => ffi::POPPLER_ANNOT_SCREEN,
939            Self::PrinterMark => ffi::POPPLER_ANNOT_PRINTER_MARK,
940            Self::TrapNet => ffi::POPPLER_ANNOT_TRAP_NET,
941            Self::Watermark => ffi::POPPLER_ANNOT_WATERMARK,
942            Self::_3d => ffi::POPPLER_ANNOT_3D,
943            Self::__Unknown(value) => value,
944        }
945    }
946}
947
948#[doc(hidden)]
949impl FromGlib<ffi::PopplerAnnotType> for AnnotType {
950    unsafe fn from_glib(value: ffi::PopplerAnnotType) -> Self {
951        match value {
952            ffi::POPPLER_ANNOT_UNKNOWN => Self::Unknown,
953            ffi::POPPLER_ANNOT_TEXT => Self::Text,
954            ffi::POPPLER_ANNOT_LINK => Self::Link,
955            ffi::POPPLER_ANNOT_FREE_TEXT => Self::FreeText,
956            ffi::POPPLER_ANNOT_LINE => Self::Line,
957            ffi::POPPLER_ANNOT_SQUARE => Self::Square,
958            ffi::POPPLER_ANNOT_CIRCLE => Self::Circle,
959            ffi::POPPLER_ANNOT_POLYGON => Self::Polygon,
960            ffi::POPPLER_ANNOT_POLY_LINE => Self::PolyLine,
961            ffi::POPPLER_ANNOT_HIGHLIGHT => Self::Highlight,
962            ffi::POPPLER_ANNOT_UNDERLINE => Self::Underline,
963            ffi::POPPLER_ANNOT_SQUIGGLY => Self::Squiggly,
964            ffi::POPPLER_ANNOT_STRIKE_OUT => Self::StrikeOut,
965            ffi::POPPLER_ANNOT_STAMP => Self::Stamp,
966            ffi::POPPLER_ANNOT_CARET => Self::Caret,
967            ffi::POPPLER_ANNOT_INK => Self::Ink,
968            ffi::POPPLER_ANNOT_POPUP => Self::Popup,
969            ffi::POPPLER_ANNOT_FILE_ATTACHMENT => Self::FileAttachment,
970            ffi::POPPLER_ANNOT_SOUND => Self::Sound,
971            ffi::POPPLER_ANNOT_MOVIE => Self::Movie,
972            ffi::POPPLER_ANNOT_WIDGET => Self::Widget,
973            ffi::POPPLER_ANNOT_SCREEN => Self::Screen,
974            ffi::POPPLER_ANNOT_PRINTER_MARK => Self::PrinterMark,
975            ffi::POPPLER_ANNOT_TRAP_NET => Self::TrapNet,
976            ffi::POPPLER_ANNOT_WATERMARK => Self::Watermark,
977            ffi::POPPLER_ANNOT_3D => Self::_3d,
978            value => Self::__Unknown(value),
979        }
980    }
981}
982
983impl StaticType for AnnotType {
984    #[inline]
985    #[doc(alias = "poppler_annot_type_get_type")]
986    fn static_type() -> glib::Type {
987        unsafe { from_glib(ffi::poppler_annot_type_get_type()) }
988    }
989}
990
991impl glib::HasParamSpec for AnnotType {
992    type ParamSpec = glib::ParamSpecEnum;
993    type SetValue = Self;
994    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
995
996    fn param_spec_builder() -> Self::BuilderFn {
997        Self::ParamSpec::builder_with_default
998    }
999}
1000
1001impl glib::value::ValueType for AnnotType {
1002    type Type = Self;
1003}
1004
1005unsafe impl<'a> glib::value::FromValue<'a> for AnnotType {
1006    type Checker = glib::value::GenericValueTypeChecker<Self>;
1007
1008    #[inline]
1009    unsafe fn from_value(value: &'a glib::Value) -> Self {
1010        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1011    }
1012}
1013
1014impl ToValue for AnnotType {
1015    #[inline]
1016    fn to_value(&self) -> glib::Value {
1017        let mut value = glib::Value::for_value_type::<Self>();
1018        unsafe {
1019            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1020        }
1021        value
1022    }
1023
1024    #[inline]
1025    fn value_type(&self) -> glib::Type {
1026        Self::static_type()
1027    }
1028}
1029
1030impl From<AnnotType> for glib::Value {
1031    #[inline]
1032    fn from(v: AnnotType) -> Self {
1033        ToValue::to_value(&v)
1034    }
1035}
1036
1037#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1038#[non_exhaustive]
1039#[doc(alias = "PopplerBackend")]
1040pub enum Backend {
1041    #[doc(alias = "POPPLER_BACKEND_UNKNOWN")]
1042    Unknown,
1043    #[doc(alias = "POPPLER_BACKEND_SPLASH")]
1044    Splash,
1045    #[doc(alias = "POPPLER_BACKEND_CAIRO")]
1046    Cairo,
1047    #[doc(hidden)]
1048    __Unknown(i32),
1049}
1050
1051#[doc(hidden)]
1052impl IntoGlib for Backend {
1053    type GlibType = ffi::PopplerBackend;
1054
1055    #[inline]
1056    fn into_glib(self) -> ffi::PopplerBackend {
1057        match self {
1058            Self::Unknown => ffi::POPPLER_BACKEND_UNKNOWN,
1059            Self::Splash => ffi::POPPLER_BACKEND_SPLASH,
1060            Self::Cairo => ffi::POPPLER_BACKEND_CAIRO,
1061            Self::__Unknown(value) => value,
1062        }
1063    }
1064}
1065
1066#[doc(hidden)]
1067impl FromGlib<ffi::PopplerBackend> for Backend {
1068    #[inline]
1069    unsafe fn from_glib(value: ffi::PopplerBackend) -> Self {
1070        match value {
1071            ffi::POPPLER_BACKEND_UNKNOWN => Self::Unknown,
1072            ffi::POPPLER_BACKEND_SPLASH => Self::Splash,
1073            ffi::POPPLER_BACKEND_CAIRO => Self::Cairo,
1074            value => Self::__Unknown(value),
1075        }
1076    }
1077}
1078
1079impl StaticType for Backend {
1080    #[inline]
1081    #[doc(alias = "poppler_backend_get_type")]
1082    fn static_type() -> glib::Type {
1083        unsafe { from_glib(ffi::poppler_backend_get_type()) }
1084    }
1085}
1086
1087impl glib::HasParamSpec for Backend {
1088    type ParamSpec = glib::ParamSpecEnum;
1089    type SetValue = Self;
1090    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1091
1092    fn param_spec_builder() -> Self::BuilderFn {
1093        Self::ParamSpec::builder_with_default
1094    }
1095}
1096
1097impl glib::value::ValueType for Backend {
1098    type Type = Self;
1099}
1100
1101unsafe impl<'a> glib::value::FromValue<'a> for Backend {
1102    type Checker = glib::value::GenericValueTypeChecker<Self>;
1103
1104    #[inline]
1105    unsafe fn from_value(value: &'a glib::Value) -> Self {
1106        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1107    }
1108}
1109
1110impl ToValue for Backend {
1111    #[inline]
1112    fn to_value(&self) -> glib::Value {
1113        let mut value = glib::Value::for_value_type::<Self>();
1114        unsafe {
1115            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1116        }
1117        value
1118    }
1119
1120    #[inline]
1121    fn value_type(&self) -> glib::Type {
1122        Self::static_type()
1123    }
1124}
1125
1126impl From<Backend> for glib::Value {
1127    #[inline]
1128    fn from(v: Backend) -> Self {
1129        ToValue::to_value(&v)
1130    }
1131}
1132
1133#[cfg(feature = "v21_12")]
1134#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1135#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1136#[non_exhaustive]
1137#[doc(alias = "PopplerCertificateStatus")]
1138pub enum CertificateStatus {
1139    #[doc(alias = "POPPLER_CERTIFICATE_TRUSTED")]
1140    Trusted,
1141    #[doc(alias = "POPPLER_CERTIFICATE_UNTRUSTED_ISSUER")]
1142    UntrustedIssuer,
1143    #[doc(alias = "POPPLER_CERTIFICATE_UNKNOWN_ISSUER")]
1144    UnknownIssuer,
1145    #[doc(alias = "POPPLER_CERTIFICATE_REVOKED")]
1146    Revoked,
1147    #[doc(alias = "POPPLER_CERTIFICATE_EXPIRED")]
1148    Expired,
1149    #[doc(alias = "POPPLER_CERTIFICATE_GENERIC_ERROR")]
1150    GenericError,
1151    #[doc(alias = "POPPLER_CERTIFICATE_NOT_VERIFIED")]
1152    NotVerified,
1153    #[doc(hidden)]
1154    __Unknown(i32),
1155}
1156
1157#[cfg(feature = "v21_12")]
1158#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1159#[doc(hidden)]
1160impl IntoGlib for CertificateStatus {
1161    type GlibType = ffi::PopplerCertificateStatus;
1162
1163    #[inline]
1164    fn into_glib(self) -> ffi::PopplerCertificateStatus {
1165        match self {
1166            Self::Trusted => ffi::POPPLER_CERTIFICATE_TRUSTED,
1167            Self::UntrustedIssuer => ffi::POPPLER_CERTIFICATE_UNTRUSTED_ISSUER,
1168            Self::UnknownIssuer => ffi::POPPLER_CERTIFICATE_UNKNOWN_ISSUER,
1169            Self::Revoked => ffi::POPPLER_CERTIFICATE_REVOKED,
1170            Self::Expired => ffi::POPPLER_CERTIFICATE_EXPIRED,
1171            Self::GenericError => ffi::POPPLER_CERTIFICATE_GENERIC_ERROR,
1172            Self::NotVerified => ffi::POPPLER_CERTIFICATE_NOT_VERIFIED,
1173            Self::__Unknown(value) => value,
1174        }
1175    }
1176}
1177
1178#[cfg(feature = "v21_12")]
1179#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1180#[doc(hidden)]
1181impl FromGlib<ffi::PopplerCertificateStatus> for CertificateStatus {
1182    #[inline]
1183    unsafe fn from_glib(value: ffi::PopplerCertificateStatus) -> Self {
1184        match value {
1185            ffi::POPPLER_CERTIFICATE_TRUSTED => Self::Trusted,
1186            ffi::POPPLER_CERTIFICATE_UNTRUSTED_ISSUER => Self::UntrustedIssuer,
1187            ffi::POPPLER_CERTIFICATE_UNKNOWN_ISSUER => Self::UnknownIssuer,
1188            ffi::POPPLER_CERTIFICATE_REVOKED => Self::Revoked,
1189            ffi::POPPLER_CERTIFICATE_EXPIRED => Self::Expired,
1190            ffi::POPPLER_CERTIFICATE_GENERIC_ERROR => Self::GenericError,
1191            ffi::POPPLER_CERTIFICATE_NOT_VERIFIED => Self::NotVerified,
1192            value => Self::__Unknown(value),
1193        }
1194    }
1195}
1196
1197#[cfg(feature = "v21_12")]
1198#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1199impl StaticType for CertificateStatus {
1200    #[inline]
1201    #[doc(alias = "poppler_certificate_status_get_type")]
1202    fn static_type() -> glib::Type {
1203        unsafe { from_glib(ffi::poppler_certificate_status_get_type()) }
1204    }
1205}
1206
1207#[cfg(feature = "v21_12")]
1208#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1209impl glib::HasParamSpec for CertificateStatus {
1210    type ParamSpec = glib::ParamSpecEnum;
1211    type SetValue = Self;
1212    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1213
1214    fn param_spec_builder() -> Self::BuilderFn {
1215        Self::ParamSpec::builder_with_default
1216    }
1217}
1218
1219#[cfg(feature = "v21_12")]
1220#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1221impl glib::value::ValueType for CertificateStatus {
1222    type Type = Self;
1223}
1224
1225#[cfg(feature = "v21_12")]
1226#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1227unsafe impl<'a> glib::value::FromValue<'a> for CertificateStatus {
1228    type Checker = glib::value::GenericValueTypeChecker<Self>;
1229
1230    #[inline]
1231    unsafe fn from_value(value: &'a glib::Value) -> Self {
1232        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1233    }
1234}
1235
1236#[cfg(feature = "v21_12")]
1237#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1238impl ToValue for CertificateStatus {
1239    #[inline]
1240    fn to_value(&self) -> glib::Value {
1241        let mut value = glib::Value::for_value_type::<Self>();
1242        unsafe {
1243            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1244        }
1245        value
1246    }
1247
1248    #[inline]
1249    fn value_type(&self) -> glib::Type {
1250        Self::static_type()
1251    }
1252}
1253
1254#[cfg(feature = "v21_12")]
1255#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
1256impl From<CertificateStatus> for glib::Value {
1257    #[inline]
1258    fn from(v: CertificateStatus) -> Self {
1259        ToValue::to_value(&v)
1260    }
1261}
1262
1263#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1264#[non_exhaustive]
1265#[doc(alias = "PopplerDestType")]
1266pub enum DestType {
1267    #[doc(alias = "POPPLER_DEST_UNKNOWN")]
1268    Unknown,
1269    #[doc(alias = "POPPLER_DEST_XYZ")]
1270    Xyz,
1271    #[doc(alias = "POPPLER_DEST_FIT")]
1272    Fit,
1273    #[doc(alias = "POPPLER_DEST_FITH")]
1274    Fith,
1275    #[doc(alias = "POPPLER_DEST_FITV")]
1276    Fitv,
1277    #[doc(alias = "POPPLER_DEST_FITR")]
1278    Fitr,
1279    #[doc(alias = "POPPLER_DEST_FITB")]
1280    Fitb,
1281    #[doc(alias = "POPPLER_DEST_FITBH")]
1282    Fitbh,
1283    #[doc(alias = "POPPLER_DEST_FITBV")]
1284    Fitbv,
1285    #[doc(alias = "POPPLER_DEST_NAMED")]
1286    Named,
1287    #[doc(hidden)]
1288    __Unknown(i32),
1289}
1290
1291#[doc(hidden)]
1292impl IntoGlib for DestType {
1293    type GlibType = ffi::PopplerDestType;
1294
1295    #[inline]
1296    fn into_glib(self) -> ffi::PopplerDestType {
1297        match self {
1298            Self::Unknown => ffi::POPPLER_DEST_UNKNOWN,
1299            Self::Xyz => ffi::POPPLER_DEST_XYZ,
1300            Self::Fit => ffi::POPPLER_DEST_FIT,
1301            Self::Fith => ffi::POPPLER_DEST_FITH,
1302            Self::Fitv => ffi::POPPLER_DEST_FITV,
1303            Self::Fitr => ffi::POPPLER_DEST_FITR,
1304            Self::Fitb => ffi::POPPLER_DEST_FITB,
1305            Self::Fitbh => ffi::POPPLER_DEST_FITBH,
1306            Self::Fitbv => ffi::POPPLER_DEST_FITBV,
1307            Self::Named => ffi::POPPLER_DEST_NAMED,
1308            Self::__Unknown(value) => value,
1309        }
1310    }
1311}
1312
1313#[doc(hidden)]
1314impl FromGlib<ffi::PopplerDestType> for DestType {
1315    #[inline]
1316    unsafe fn from_glib(value: ffi::PopplerDestType) -> Self {
1317        match value {
1318            ffi::POPPLER_DEST_UNKNOWN => Self::Unknown,
1319            ffi::POPPLER_DEST_XYZ => Self::Xyz,
1320            ffi::POPPLER_DEST_FIT => Self::Fit,
1321            ffi::POPPLER_DEST_FITH => Self::Fith,
1322            ffi::POPPLER_DEST_FITV => Self::Fitv,
1323            ffi::POPPLER_DEST_FITR => Self::Fitr,
1324            ffi::POPPLER_DEST_FITB => Self::Fitb,
1325            ffi::POPPLER_DEST_FITBH => Self::Fitbh,
1326            ffi::POPPLER_DEST_FITBV => Self::Fitbv,
1327            ffi::POPPLER_DEST_NAMED => Self::Named,
1328            value => Self::__Unknown(value),
1329        }
1330    }
1331}
1332
1333impl StaticType for DestType {
1334    #[inline]
1335    #[doc(alias = "poppler_dest_type_get_type")]
1336    fn static_type() -> glib::Type {
1337        unsafe { from_glib(ffi::poppler_dest_type_get_type()) }
1338    }
1339}
1340
1341impl glib::HasParamSpec for DestType {
1342    type ParamSpec = glib::ParamSpecEnum;
1343    type SetValue = Self;
1344    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1345
1346    fn param_spec_builder() -> Self::BuilderFn {
1347        Self::ParamSpec::builder_with_default
1348    }
1349}
1350
1351impl glib::value::ValueType for DestType {
1352    type Type = Self;
1353}
1354
1355unsafe impl<'a> glib::value::FromValue<'a> for DestType {
1356    type Checker = glib::value::GenericValueTypeChecker<Self>;
1357
1358    #[inline]
1359    unsafe fn from_value(value: &'a glib::Value) -> Self {
1360        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1361    }
1362}
1363
1364impl ToValue for DestType {
1365    #[inline]
1366    fn to_value(&self) -> glib::Value {
1367        let mut value = glib::Value::for_value_type::<Self>();
1368        unsafe {
1369            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1370        }
1371        value
1372    }
1373
1374    #[inline]
1375    fn value_type(&self) -> glib::Type {
1376        Self::static_type()
1377    }
1378}
1379
1380impl From<DestType> for glib::Value {
1381    #[inline]
1382    fn from(v: DestType) -> Self {
1383        ToValue::to_value(&v)
1384    }
1385}
1386
1387#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1388#[non_exhaustive]
1389#[doc(alias = "PopplerError")]
1390pub enum Error {
1391    #[doc(alias = "POPPLER_ERROR_INVALID")]
1392    Invalid,
1393    #[doc(alias = "POPPLER_ERROR_ENCRYPTED")]
1394    Encrypted,
1395    #[doc(alias = "POPPLER_ERROR_OPEN_FILE")]
1396    OpenFile,
1397    #[doc(alias = "POPPLER_ERROR_BAD_CATALOG")]
1398    BadCatalog,
1399    #[doc(alias = "POPPLER_ERROR_DAMAGED")]
1400    Damaged,
1401    #[cfg(feature = "v23_7")]
1402    #[cfg_attr(docsrs, doc(cfg(feature = "v23_7")))]
1403    #[doc(alias = "POPPLER_ERROR_SIGNING")]
1404    Signing,
1405    #[doc(hidden)]
1406    __Unknown(i32),
1407}
1408
1409#[doc(hidden)]
1410impl IntoGlib for Error {
1411    type GlibType = ffi::PopplerError;
1412
1413    #[inline]
1414    fn into_glib(self) -> ffi::PopplerError {
1415        match self {
1416            Self::Invalid => ffi::POPPLER_ERROR_INVALID,
1417            Self::Encrypted => ffi::POPPLER_ERROR_ENCRYPTED,
1418            Self::OpenFile => ffi::POPPLER_ERROR_OPEN_FILE,
1419            Self::BadCatalog => ffi::POPPLER_ERROR_BAD_CATALOG,
1420            Self::Damaged => ffi::POPPLER_ERROR_DAMAGED,
1421            #[cfg(feature = "v23_7")]
1422            Self::Signing => ffi::POPPLER_ERROR_SIGNING,
1423            Self::__Unknown(value) => value,
1424        }
1425    }
1426}
1427
1428#[doc(hidden)]
1429impl FromGlib<ffi::PopplerError> for Error {
1430    #[inline]
1431    unsafe fn from_glib(value: ffi::PopplerError) -> Self {
1432        match value {
1433            ffi::POPPLER_ERROR_INVALID => Self::Invalid,
1434            ffi::POPPLER_ERROR_ENCRYPTED => Self::Encrypted,
1435            ffi::POPPLER_ERROR_OPEN_FILE => Self::OpenFile,
1436            ffi::POPPLER_ERROR_BAD_CATALOG => Self::BadCatalog,
1437            ffi::POPPLER_ERROR_DAMAGED => Self::Damaged,
1438            #[cfg(feature = "v23_7")]
1439            ffi::POPPLER_ERROR_SIGNING => Self::Signing,
1440            value => Self::__Unknown(value),
1441        }
1442    }
1443}
1444
1445impl glib::error::ErrorDomain for Error {
1446    #[inline]
1447    fn domain() -> glib::Quark {
1448        unsafe { from_glib(ffi::poppler_error_quark()) }
1449    }
1450
1451    #[inline]
1452    fn code(self) -> i32 {
1453        self.into_glib()
1454    }
1455
1456    #[inline]
1457    #[allow(clippy::match_single_binding)]
1458    fn from(code: i32) -> Option<Self> {
1459        match unsafe { from_glib(code) } {
1460            value => Some(value),
1461        }
1462    }
1463}
1464
1465impl StaticType for Error {
1466    #[inline]
1467    #[doc(alias = "poppler_error_get_type")]
1468    fn static_type() -> glib::Type {
1469        unsafe { from_glib(ffi::poppler_error_get_type()) }
1470    }
1471}
1472
1473impl glib::HasParamSpec for Error {
1474    type ParamSpec = glib::ParamSpecEnum;
1475    type SetValue = Self;
1476    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1477
1478    fn param_spec_builder() -> Self::BuilderFn {
1479        Self::ParamSpec::builder_with_default
1480    }
1481}
1482
1483impl glib::value::ValueType for Error {
1484    type Type = Self;
1485}
1486
1487unsafe impl<'a> glib::value::FromValue<'a> for Error {
1488    type Checker = glib::value::GenericValueTypeChecker<Self>;
1489
1490    #[inline]
1491    unsafe fn from_value(value: &'a glib::Value) -> Self {
1492        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1493    }
1494}
1495
1496impl ToValue for Error {
1497    #[inline]
1498    fn to_value(&self) -> glib::Value {
1499        let mut value = glib::Value::for_value_type::<Self>();
1500        unsafe {
1501            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1502        }
1503        value
1504    }
1505
1506    #[inline]
1507    fn value_type(&self) -> glib::Type {
1508        Self::static_type()
1509    }
1510}
1511
1512impl From<Error> for glib::Value {
1513    #[inline]
1514    fn from(v: Error) -> Self {
1515        ToValue::to_value(&v)
1516    }
1517}
1518
1519#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1520#[non_exhaustive]
1521#[doc(alias = "PopplerFontType")]
1522pub enum FontType {
1523    #[doc(alias = "POPPLER_FONT_TYPE_UNKNOWN")]
1524    Unknown,
1525    #[doc(alias = "POPPLER_FONT_TYPE_TYPE1")]
1526    Type1,
1527    #[doc(alias = "POPPLER_FONT_TYPE_TYPE1C")]
1528    Type1c,
1529    #[doc(alias = "POPPLER_FONT_TYPE_TYPE1COT")]
1530    Type1cot,
1531    #[doc(alias = "POPPLER_FONT_TYPE_TYPE3")]
1532    Type3,
1533    #[doc(alias = "POPPLER_FONT_TYPE_TRUETYPE")]
1534    Truetype,
1535    #[doc(alias = "POPPLER_FONT_TYPE_TRUETYPEOT")]
1536    Truetypeot,
1537    #[doc(alias = "POPPLER_FONT_TYPE_CID_TYPE0")]
1538    CidType0,
1539    #[doc(alias = "POPPLER_FONT_TYPE_CID_TYPE0C")]
1540    CidType0c,
1541    #[doc(alias = "POPPLER_FONT_TYPE_CID_TYPE0COT")]
1542    CidType0cot,
1543    #[doc(alias = "POPPLER_FONT_TYPE_CID_TYPE2")]
1544    CidType2,
1545    #[doc(alias = "POPPLER_FONT_TYPE_CID_TYPE2OT")]
1546    CidType2ot,
1547    #[doc(hidden)]
1548    __Unknown(i32),
1549}
1550
1551#[doc(hidden)]
1552impl IntoGlib for FontType {
1553    type GlibType = ffi::PopplerFontType;
1554
1555    #[inline]
1556    fn into_glib(self) -> ffi::PopplerFontType {
1557        match self {
1558            Self::Unknown => ffi::POPPLER_FONT_TYPE_UNKNOWN,
1559            Self::Type1 => ffi::POPPLER_FONT_TYPE_TYPE1,
1560            Self::Type1c => ffi::POPPLER_FONT_TYPE_TYPE1C,
1561            Self::Type1cot => ffi::POPPLER_FONT_TYPE_TYPE1COT,
1562            Self::Type3 => ffi::POPPLER_FONT_TYPE_TYPE3,
1563            Self::Truetype => ffi::POPPLER_FONT_TYPE_TRUETYPE,
1564            Self::Truetypeot => ffi::POPPLER_FONT_TYPE_TRUETYPEOT,
1565            Self::CidType0 => ffi::POPPLER_FONT_TYPE_CID_TYPE0,
1566            Self::CidType0c => ffi::POPPLER_FONT_TYPE_CID_TYPE0C,
1567            Self::CidType0cot => ffi::POPPLER_FONT_TYPE_CID_TYPE0COT,
1568            Self::CidType2 => ffi::POPPLER_FONT_TYPE_CID_TYPE2,
1569            Self::CidType2ot => ffi::POPPLER_FONT_TYPE_CID_TYPE2OT,
1570            Self::__Unknown(value) => value,
1571        }
1572    }
1573}
1574
1575#[doc(hidden)]
1576impl FromGlib<ffi::PopplerFontType> for FontType {
1577    #[inline]
1578    unsafe fn from_glib(value: ffi::PopplerFontType) -> Self {
1579        match value {
1580            ffi::POPPLER_FONT_TYPE_UNKNOWN => Self::Unknown,
1581            ffi::POPPLER_FONT_TYPE_TYPE1 => Self::Type1,
1582            ffi::POPPLER_FONT_TYPE_TYPE1C => Self::Type1c,
1583            ffi::POPPLER_FONT_TYPE_TYPE1COT => Self::Type1cot,
1584            ffi::POPPLER_FONT_TYPE_TYPE3 => Self::Type3,
1585            ffi::POPPLER_FONT_TYPE_TRUETYPE => Self::Truetype,
1586            ffi::POPPLER_FONT_TYPE_TRUETYPEOT => Self::Truetypeot,
1587            ffi::POPPLER_FONT_TYPE_CID_TYPE0 => Self::CidType0,
1588            ffi::POPPLER_FONT_TYPE_CID_TYPE0C => Self::CidType0c,
1589            ffi::POPPLER_FONT_TYPE_CID_TYPE0COT => Self::CidType0cot,
1590            ffi::POPPLER_FONT_TYPE_CID_TYPE2 => Self::CidType2,
1591            ffi::POPPLER_FONT_TYPE_CID_TYPE2OT => Self::CidType2ot,
1592            value => Self::__Unknown(value),
1593        }
1594    }
1595}
1596
1597impl StaticType for FontType {
1598    #[inline]
1599    #[doc(alias = "poppler_font_type_get_type")]
1600    fn static_type() -> glib::Type {
1601        unsafe { from_glib(ffi::poppler_font_type_get_type()) }
1602    }
1603}
1604
1605impl glib::HasParamSpec for FontType {
1606    type ParamSpec = glib::ParamSpecEnum;
1607    type SetValue = Self;
1608    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1609
1610    fn param_spec_builder() -> Self::BuilderFn {
1611        Self::ParamSpec::builder_with_default
1612    }
1613}
1614
1615impl glib::value::ValueType for FontType {
1616    type Type = Self;
1617}
1618
1619unsafe impl<'a> glib::value::FromValue<'a> for FontType {
1620    type Checker = glib::value::GenericValueTypeChecker<Self>;
1621
1622    #[inline]
1623    unsafe fn from_value(value: &'a glib::Value) -> Self {
1624        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1625    }
1626}
1627
1628impl ToValue for FontType {
1629    #[inline]
1630    fn to_value(&self) -> glib::Value {
1631        let mut value = glib::Value::for_value_type::<Self>();
1632        unsafe {
1633            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1634        }
1635        value
1636    }
1637
1638    #[inline]
1639    fn value_type(&self) -> glib::Type {
1640        Self::static_type()
1641    }
1642}
1643
1644impl From<FontType> for glib::Value {
1645    #[inline]
1646    fn from(v: FontType) -> Self {
1647        ToValue::to_value(&v)
1648    }
1649}
1650
1651#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1652#[non_exhaustive]
1653#[doc(alias = "PopplerFormButtonType")]
1654pub enum FormButtonType {
1655    #[doc(alias = "POPPLER_FORM_BUTTON_PUSH")]
1656    Push,
1657    #[doc(alias = "POPPLER_FORM_BUTTON_CHECK")]
1658    Check,
1659    #[doc(alias = "POPPLER_FORM_BUTTON_RADIO")]
1660    Radio,
1661    #[doc(hidden)]
1662    __Unknown(i32),
1663}
1664
1665#[doc(hidden)]
1666impl IntoGlib for FormButtonType {
1667    type GlibType = ffi::PopplerFormButtonType;
1668
1669    #[inline]
1670    fn into_glib(self) -> ffi::PopplerFormButtonType {
1671        match self {
1672            Self::Push => ffi::POPPLER_FORM_BUTTON_PUSH,
1673            Self::Check => ffi::POPPLER_FORM_BUTTON_CHECK,
1674            Self::Radio => ffi::POPPLER_FORM_BUTTON_RADIO,
1675            Self::__Unknown(value) => value,
1676        }
1677    }
1678}
1679
1680#[doc(hidden)]
1681impl FromGlib<ffi::PopplerFormButtonType> for FormButtonType {
1682    #[inline]
1683    unsafe fn from_glib(value: ffi::PopplerFormButtonType) -> Self {
1684        match value {
1685            ffi::POPPLER_FORM_BUTTON_PUSH => Self::Push,
1686            ffi::POPPLER_FORM_BUTTON_CHECK => Self::Check,
1687            ffi::POPPLER_FORM_BUTTON_RADIO => Self::Radio,
1688            value => Self::__Unknown(value),
1689        }
1690    }
1691}
1692
1693impl StaticType for FormButtonType {
1694    #[inline]
1695    #[doc(alias = "poppler_form_button_type_get_type")]
1696    fn static_type() -> glib::Type {
1697        unsafe { from_glib(ffi::poppler_form_button_type_get_type()) }
1698    }
1699}
1700
1701impl glib::HasParamSpec for FormButtonType {
1702    type ParamSpec = glib::ParamSpecEnum;
1703    type SetValue = Self;
1704    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1705
1706    fn param_spec_builder() -> Self::BuilderFn {
1707        Self::ParamSpec::builder_with_default
1708    }
1709}
1710
1711impl glib::value::ValueType for FormButtonType {
1712    type Type = Self;
1713}
1714
1715unsafe impl<'a> glib::value::FromValue<'a> for FormButtonType {
1716    type Checker = glib::value::GenericValueTypeChecker<Self>;
1717
1718    #[inline]
1719    unsafe fn from_value(value: &'a glib::Value) -> Self {
1720        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1721    }
1722}
1723
1724impl ToValue for FormButtonType {
1725    #[inline]
1726    fn to_value(&self) -> glib::Value {
1727        let mut value = glib::Value::for_value_type::<Self>();
1728        unsafe {
1729            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1730        }
1731        value
1732    }
1733
1734    #[inline]
1735    fn value_type(&self) -> glib::Type {
1736        Self::static_type()
1737    }
1738}
1739
1740impl From<FormButtonType> for glib::Value {
1741    #[inline]
1742    fn from(v: FormButtonType) -> Self {
1743        ToValue::to_value(&v)
1744    }
1745}
1746
1747#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1748#[non_exhaustive]
1749#[doc(alias = "PopplerFormChoiceType")]
1750pub enum FormChoiceType {
1751    #[doc(alias = "POPPLER_FORM_CHOICE_COMBO")]
1752    Combo,
1753    #[doc(alias = "POPPLER_FORM_CHOICE_LIST")]
1754    List,
1755    #[doc(hidden)]
1756    __Unknown(i32),
1757}
1758
1759#[doc(hidden)]
1760impl IntoGlib for FormChoiceType {
1761    type GlibType = ffi::PopplerFormChoiceType;
1762
1763    #[inline]
1764    fn into_glib(self) -> ffi::PopplerFormChoiceType {
1765        match self {
1766            Self::Combo => ffi::POPPLER_FORM_CHOICE_COMBO,
1767            Self::List => ffi::POPPLER_FORM_CHOICE_LIST,
1768            Self::__Unknown(value) => value,
1769        }
1770    }
1771}
1772
1773#[doc(hidden)]
1774impl FromGlib<ffi::PopplerFormChoiceType> for FormChoiceType {
1775    #[inline]
1776    unsafe fn from_glib(value: ffi::PopplerFormChoiceType) -> Self {
1777        match value {
1778            ffi::POPPLER_FORM_CHOICE_COMBO => Self::Combo,
1779            ffi::POPPLER_FORM_CHOICE_LIST => Self::List,
1780            value => Self::__Unknown(value),
1781        }
1782    }
1783}
1784
1785impl StaticType for FormChoiceType {
1786    #[inline]
1787    #[doc(alias = "poppler_form_choice_type_get_type")]
1788    fn static_type() -> glib::Type {
1789        unsafe { from_glib(ffi::poppler_form_choice_type_get_type()) }
1790    }
1791}
1792
1793impl glib::HasParamSpec for FormChoiceType {
1794    type ParamSpec = glib::ParamSpecEnum;
1795    type SetValue = Self;
1796    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1797
1798    fn param_spec_builder() -> Self::BuilderFn {
1799        Self::ParamSpec::builder_with_default
1800    }
1801}
1802
1803impl glib::value::ValueType for FormChoiceType {
1804    type Type = Self;
1805}
1806
1807unsafe impl<'a> glib::value::FromValue<'a> for FormChoiceType {
1808    type Checker = glib::value::GenericValueTypeChecker<Self>;
1809
1810    #[inline]
1811    unsafe fn from_value(value: &'a glib::Value) -> Self {
1812        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1813    }
1814}
1815
1816impl ToValue for FormChoiceType {
1817    #[inline]
1818    fn to_value(&self) -> glib::Value {
1819        let mut value = glib::Value::for_value_type::<Self>();
1820        unsafe {
1821            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1822        }
1823        value
1824    }
1825
1826    #[inline]
1827    fn value_type(&self) -> glib::Type {
1828        Self::static_type()
1829    }
1830}
1831
1832impl From<FormChoiceType> for glib::Value {
1833    #[inline]
1834    fn from(v: FormChoiceType) -> Self {
1835        ToValue::to_value(&v)
1836    }
1837}
1838
1839#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1840#[non_exhaustive]
1841#[doc(alias = "PopplerFormFieldType")]
1842pub enum FormFieldType {
1843    #[doc(alias = "POPPLER_FORM_FIELD_UNKNOWN")]
1844    Unknown,
1845    #[doc(alias = "POPPLER_FORM_FIELD_BUTTON")]
1846    Button,
1847    #[doc(alias = "POPPLER_FORM_FIELD_TEXT")]
1848    Text,
1849    #[doc(alias = "POPPLER_FORM_FIELD_CHOICE")]
1850    Choice,
1851    #[doc(alias = "POPPLER_FORM_FIELD_SIGNATURE")]
1852    Signature,
1853    #[doc(hidden)]
1854    __Unknown(i32),
1855}
1856
1857#[doc(hidden)]
1858impl IntoGlib for FormFieldType {
1859    type GlibType = ffi::PopplerFormFieldType;
1860
1861    #[inline]
1862    fn into_glib(self) -> ffi::PopplerFormFieldType {
1863        match self {
1864            Self::Unknown => ffi::POPPLER_FORM_FIELD_UNKNOWN,
1865            Self::Button => ffi::POPPLER_FORM_FIELD_BUTTON,
1866            Self::Text => ffi::POPPLER_FORM_FIELD_TEXT,
1867            Self::Choice => ffi::POPPLER_FORM_FIELD_CHOICE,
1868            Self::Signature => ffi::POPPLER_FORM_FIELD_SIGNATURE,
1869            Self::__Unknown(value) => value,
1870        }
1871    }
1872}
1873
1874#[doc(hidden)]
1875impl FromGlib<ffi::PopplerFormFieldType> for FormFieldType {
1876    #[inline]
1877    unsafe fn from_glib(value: ffi::PopplerFormFieldType) -> Self {
1878        match value {
1879            ffi::POPPLER_FORM_FIELD_UNKNOWN => Self::Unknown,
1880            ffi::POPPLER_FORM_FIELD_BUTTON => Self::Button,
1881            ffi::POPPLER_FORM_FIELD_TEXT => Self::Text,
1882            ffi::POPPLER_FORM_FIELD_CHOICE => Self::Choice,
1883            ffi::POPPLER_FORM_FIELD_SIGNATURE => Self::Signature,
1884            value => Self::__Unknown(value),
1885        }
1886    }
1887}
1888
1889impl StaticType for FormFieldType {
1890    #[inline]
1891    #[doc(alias = "poppler_form_field_type_get_type")]
1892    fn static_type() -> glib::Type {
1893        unsafe { from_glib(ffi::poppler_form_field_type_get_type()) }
1894    }
1895}
1896
1897impl glib::HasParamSpec for FormFieldType {
1898    type ParamSpec = glib::ParamSpecEnum;
1899    type SetValue = Self;
1900    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1901
1902    fn param_spec_builder() -> Self::BuilderFn {
1903        Self::ParamSpec::builder_with_default
1904    }
1905}
1906
1907impl glib::value::ValueType for FormFieldType {
1908    type Type = Self;
1909}
1910
1911unsafe impl<'a> glib::value::FromValue<'a> for FormFieldType {
1912    type Checker = glib::value::GenericValueTypeChecker<Self>;
1913
1914    #[inline]
1915    unsafe fn from_value(value: &'a glib::Value) -> Self {
1916        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1917    }
1918}
1919
1920impl ToValue for FormFieldType {
1921    #[inline]
1922    fn to_value(&self) -> glib::Value {
1923        let mut value = glib::Value::for_value_type::<Self>();
1924        unsafe {
1925            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1926        }
1927        value
1928    }
1929
1930    #[inline]
1931    fn value_type(&self) -> glib::Type {
1932        Self::static_type()
1933    }
1934}
1935
1936impl From<FormFieldType> for glib::Value {
1937    #[inline]
1938    fn from(v: FormFieldType) -> Self {
1939        ToValue::to_value(&v)
1940    }
1941}
1942
1943#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1944#[non_exhaustive]
1945#[doc(alias = "PopplerFormTextType")]
1946pub enum FormTextType {
1947    #[doc(alias = "POPPLER_FORM_TEXT_NORMAL")]
1948    Normal,
1949    #[doc(alias = "POPPLER_FORM_TEXT_MULTILINE")]
1950    Multiline,
1951    #[doc(alias = "POPPLER_FORM_TEXT_FILE_SELECT")]
1952    FileSelect,
1953    #[doc(hidden)]
1954    __Unknown(i32),
1955}
1956
1957#[doc(hidden)]
1958impl IntoGlib for FormTextType {
1959    type GlibType = ffi::PopplerFormTextType;
1960
1961    #[inline]
1962    fn into_glib(self) -> ffi::PopplerFormTextType {
1963        match self {
1964            Self::Normal => ffi::POPPLER_FORM_TEXT_NORMAL,
1965            Self::Multiline => ffi::POPPLER_FORM_TEXT_MULTILINE,
1966            Self::FileSelect => ffi::POPPLER_FORM_TEXT_FILE_SELECT,
1967            Self::__Unknown(value) => value,
1968        }
1969    }
1970}
1971
1972#[doc(hidden)]
1973impl FromGlib<ffi::PopplerFormTextType> for FormTextType {
1974    #[inline]
1975    unsafe fn from_glib(value: ffi::PopplerFormTextType) -> Self {
1976        match value {
1977            ffi::POPPLER_FORM_TEXT_NORMAL => Self::Normal,
1978            ffi::POPPLER_FORM_TEXT_MULTILINE => Self::Multiline,
1979            ffi::POPPLER_FORM_TEXT_FILE_SELECT => Self::FileSelect,
1980            value => Self::__Unknown(value),
1981        }
1982    }
1983}
1984
1985impl StaticType for FormTextType {
1986    #[inline]
1987    #[doc(alias = "poppler_form_text_type_get_type")]
1988    fn static_type() -> glib::Type {
1989        unsafe { from_glib(ffi::poppler_form_text_type_get_type()) }
1990    }
1991}
1992
1993impl glib::HasParamSpec for FormTextType {
1994    type ParamSpec = glib::ParamSpecEnum;
1995    type SetValue = Self;
1996    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1997
1998    fn param_spec_builder() -> Self::BuilderFn {
1999        Self::ParamSpec::builder_with_default
2000    }
2001}
2002
2003impl glib::value::ValueType for FormTextType {
2004    type Type = Self;
2005}
2006
2007unsafe impl<'a> glib::value::FromValue<'a> for FormTextType {
2008    type Checker = glib::value::GenericValueTypeChecker<Self>;
2009
2010    #[inline]
2011    unsafe fn from_value(value: &'a glib::Value) -> Self {
2012        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2013    }
2014}
2015
2016impl ToValue for FormTextType {
2017    #[inline]
2018    fn to_value(&self) -> glib::Value {
2019        let mut value = glib::Value::for_value_type::<Self>();
2020        unsafe {
2021            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2022        }
2023        value
2024    }
2025
2026    #[inline]
2027    fn value_type(&self) -> glib::Type {
2028        Self::static_type()
2029    }
2030}
2031
2032impl From<FormTextType> for glib::Value {
2033    #[inline]
2034    fn from(v: FormTextType) -> Self {
2035        ToValue::to_value(&v)
2036    }
2037}
2038
2039#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2040#[non_exhaustive]
2041#[doc(alias = "PopplerMoviePlayMode")]
2042pub enum MoviePlayMode {
2043    #[doc(alias = "POPPLER_MOVIE_PLAY_MODE_ONCE")]
2044    Once,
2045    #[doc(alias = "POPPLER_MOVIE_PLAY_MODE_OPEN")]
2046    Open,
2047    #[doc(alias = "POPPLER_MOVIE_PLAY_MODE_REPEAT")]
2048    Repeat,
2049    #[doc(alias = "POPPLER_MOVIE_PLAY_MODE_PALINDROME")]
2050    Palindrome,
2051    #[doc(hidden)]
2052    __Unknown(i32),
2053}
2054
2055#[doc(hidden)]
2056impl IntoGlib for MoviePlayMode {
2057    type GlibType = ffi::PopplerMoviePlayMode;
2058
2059    #[inline]
2060    fn into_glib(self) -> ffi::PopplerMoviePlayMode {
2061        match self {
2062            Self::Once => ffi::POPPLER_MOVIE_PLAY_MODE_ONCE,
2063            Self::Open => ffi::POPPLER_MOVIE_PLAY_MODE_OPEN,
2064            Self::Repeat => ffi::POPPLER_MOVIE_PLAY_MODE_REPEAT,
2065            Self::Palindrome => ffi::POPPLER_MOVIE_PLAY_MODE_PALINDROME,
2066            Self::__Unknown(value) => value,
2067        }
2068    }
2069}
2070
2071#[doc(hidden)]
2072impl FromGlib<ffi::PopplerMoviePlayMode> for MoviePlayMode {
2073    #[inline]
2074    unsafe fn from_glib(value: ffi::PopplerMoviePlayMode) -> Self {
2075        match value {
2076            ffi::POPPLER_MOVIE_PLAY_MODE_ONCE => Self::Once,
2077            ffi::POPPLER_MOVIE_PLAY_MODE_OPEN => Self::Open,
2078            ffi::POPPLER_MOVIE_PLAY_MODE_REPEAT => Self::Repeat,
2079            ffi::POPPLER_MOVIE_PLAY_MODE_PALINDROME => Self::Palindrome,
2080            value => Self::__Unknown(value),
2081        }
2082    }
2083}
2084
2085impl StaticType for MoviePlayMode {
2086    #[inline]
2087    #[doc(alias = "poppler_movie_play_mode_get_type")]
2088    fn static_type() -> glib::Type {
2089        unsafe { from_glib(ffi::poppler_movie_play_mode_get_type()) }
2090    }
2091}
2092
2093impl glib::HasParamSpec for MoviePlayMode {
2094    type ParamSpec = glib::ParamSpecEnum;
2095    type SetValue = Self;
2096    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2097
2098    fn param_spec_builder() -> Self::BuilderFn {
2099        Self::ParamSpec::builder_with_default
2100    }
2101}
2102
2103impl glib::value::ValueType for MoviePlayMode {
2104    type Type = Self;
2105}
2106
2107unsafe impl<'a> glib::value::FromValue<'a> for MoviePlayMode {
2108    type Checker = glib::value::GenericValueTypeChecker<Self>;
2109
2110    #[inline]
2111    unsafe fn from_value(value: &'a glib::Value) -> Self {
2112        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2113    }
2114}
2115
2116impl ToValue for MoviePlayMode {
2117    #[inline]
2118    fn to_value(&self) -> glib::Value {
2119        let mut value = glib::Value::for_value_type::<Self>();
2120        unsafe {
2121            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2122        }
2123        value
2124    }
2125
2126    #[inline]
2127    fn value_type(&self) -> glib::Type {
2128        Self::static_type()
2129    }
2130}
2131
2132impl From<MoviePlayMode> for glib::Value {
2133    #[inline]
2134    fn from(v: MoviePlayMode) -> Self {
2135        ToValue::to_value(&v)
2136    }
2137}
2138
2139#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2140#[non_exhaustive]
2141#[doc(alias = "PopplerPDFConformance")]
2142pub enum PDFConformance {
2143    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_UNSET")]
2144    Unset,
2145    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_A")]
2146    A,
2147    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_B")]
2148    B,
2149    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_G")]
2150    G,
2151    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_N")]
2152    N,
2153    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_P")]
2154    P,
2155    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_PG")]
2156    Pg,
2157    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_U")]
2158    U,
2159    #[doc(alias = "POPPLER_PDF_SUBTYPE_CONF_NONE")]
2160    None,
2161    #[doc(hidden)]
2162    __Unknown(i32),
2163}
2164
2165#[doc(hidden)]
2166impl IntoGlib for PDFConformance {
2167    type GlibType = ffi::PopplerPDFConformance;
2168
2169    #[inline]
2170    fn into_glib(self) -> ffi::PopplerPDFConformance {
2171        match self {
2172            Self::Unset => ffi::POPPLER_PDF_SUBTYPE_CONF_UNSET,
2173            Self::A => ffi::POPPLER_PDF_SUBTYPE_CONF_A,
2174            Self::B => ffi::POPPLER_PDF_SUBTYPE_CONF_B,
2175            Self::G => ffi::POPPLER_PDF_SUBTYPE_CONF_G,
2176            Self::N => ffi::POPPLER_PDF_SUBTYPE_CONF_N,
2177            Self::P => ffi::POPPLER_PDF_SUBTYPE_CONF_P,
2178            Self::Pg => ffi::POPPLER_PDF_SUBTYPE_CONF_PG,
2179            Self::U => ffi::POPPLER_PDF_SUBTYPE_CONF_U,
2180            Self::None => ffi::POPPLER_PDF_SUBTYPE_CONF_NONE,
2181            Self::__Unknown(value) => value,
2182        }
2183    }
2184}
2185
2186#[doc(hidden)]
2187impl FromGlib<ffi::PopplerPDFConformance> for PDFConformance {
2188    #[inline]
2189    unsafe fn from_glib(value: ffi::PopplerPDFConformance) -> Self {
2190        match value {
2191            ffi::POPPLER_PDF_SUBTYPE_CONF_UNSET => Self::Unset,
2192            ffi::POPPLER_PDF_SUBTYPE_CONF_A => Self::A,
2193            ffi::POPPLER_PDF_SUBTYPE_CONF_B => Self::B,
2194            ffi::POPPLER_PDF_SUBTYPE_CONF_G => Self::G,
2195            ffi::POPPLER_PDF_SUBTYPE_CONF_N => Self::N,
2196            ffi::POPPLER_PDF_SUBTYPE_CONF_P => Self::P,
2197            ffi::POPPLER_PDF_SUBTYPE_CONF_PG => Self::Pg,
2198            ffi::POPPLER_PDF_SUBTYPE_CONF_U => Self::U,
2199            ffi::POPPLER_PDF_SUBTYPE_CONF_NONE => Self::None,
2200            value => Self::__Unknown(value),
2201        }
2202    }
2203}
2204
2205impl StaticType for PDFConformance {
2206    #[inline]
2207    #[doc(alias = "poppler_pdf_conformance_get_type")]
2208    fn static_type() -> glib::Type {
2209        unsafe { from_glib(ffi::poppler_pdf_conformance_get_type()) }
2210    }
2211}
2212
2213impl glib::HasParamSpec for PDFConformance {
2214    type ParamSpec = glib::ParamSpecEnum;
2215    type SetValue = Self;
2216    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2217
2218    fn param_spec_builder() -> Self::BuilderFn {
2219        Self::ParamSpec::builder_with_default
2220    }
2221}
2222
2223impl glib::value::ValueType for PDFConformance {
2224    type Type = Self;
2225}
2226
2227unsafe impl<'a> glib::value::FromValue<'a> for PDFConformance {
2228    type Checker = glib::value::GenericValueTypeChecker<Self>;
2229
2230    #[inline]
2231    unsafe fn from_value(value: &'a glib::Value) -> Self {
2232        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2233    }
2234}
2235
2236impl ToValue for PDFConformance {
2237    #[inline]
2238    fn to_value(&self) -> glib::Value {
2239        let mut value = glib::Value::for_value_type::<Self>();
2240        unsafe {
2241            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2242        }
2243        value
2244    }
2245
2246    #[inline]
2247    fn value_type(&self) -> glib::Type {
2248        Self::static_type()
2249    }
2250}
2251
2252impl From<PDFConformance> for glib::Value {
2253    #[inline]
2254    fn from(v: PDFConformance) -> Self {
2255        ToValue::to_value(&v)
2256    }
2257}
2258
2259#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2260#[non_exhaustive]
2261#[doc(alias = "PopplerPDFPart")]
2262pub enum PDFPart {
2263    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_UNSET")]
2264    Unset,
2265    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_1")]
2266    _1,
2267    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_2")]
2268    _2,
2269    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_3")]
2270    _3,
2271    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_4")]
2272    _4,
2273    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_5")]
2274    _5,
2275    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_6")]
2276    _6,
2277    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_7")]
2278    _7,
2279    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_8")]
2280    _8,
2281    #[doc(alias = "POPPLER_PDF_SUBTYPE_PART_NONE")]
2282    None,
2283    #[doc(hidden)]
2284    __Unknown(i32),
2285}
2286
2287#[doc(hidden)]
2288impl IntoGlib for PDFPart {
2289    type GlibType = ffi::PopplerPDFPart;
2290
2291    #[inline]
2292    fn into_glib(self) -> ffi::PopplerPDFPart {
2293        match self {
2294            Self::Unset => ffi::POPPLER_PDF_SUBTYPE_PART_UNSET,
2295            Self::_1 => ffi::POPPLER_PDF_SUBTYPE_PART_1,
2296            Self::_2 => ffi::POPPLER_PDF_SUBTYPE_PART_2,
2297            Self::_3 => ffi::POPPLER_PDF_SUBTYPE_PART_3,
2298            Self::_4 => ffi::POPPLER_PDF_SUBTYPE_PART_4,
2299            Self::_5 => ffi::POPPLER_PDF_SUBTYPE_PART_5,
2300            Self::_6 => ffi::POPPLER_PDF_SUBTYPE_PART_6,
2301            Self::_7 => ffi::POPPLER_PDF_SUBTYPE_PART_7,
2302            Self::_8 => ffi::POPPLER_PDF_SUBTYPE_PART_8,
2303            Self::None => ffi::POPPLER_PDF_SUBTYPE_PART_NONE,
2304            Self::__Unknown(value) => value,
2305        }
2306    }
2307}
2308
2309#[doc(hidden)]
2310impl FromGlib<ffi::PopplerPDFPart> for PDFPart {
2311    #[inline]
2312    unsafe fn from_glib(value: ffi::PopplerPDFPart) -> Self {
2313        match value {
2314            ffi::POPPLER_PDF_SUBTYPE_PART_UNSET => Self::Unset,
2315            ffi::POPPLER_PDF_SUBTYPE_PART_1 => Self::_1,
2316            ffi::POPPLER_PDF_SUBTYPE_PART_2 => Self::_2,
2317            ffi::POPPLER_PDF_SUBTYPE_PART_3 => Self::_3,
2318            ffi::POPPLER_PDF_SUBTYPE_PART_4 => Self::_4,
2319            ffi::POPPLER_PDF_SUBTYPE_PART_5 => Self::_5,
2320            ffi::POPPLER_PDF_SUBTYPE_PART_6 => Self::_6,
2321            ffi::POPPLER_PDF_SUBTYPE_PART_7 => Self::_7,
2322            ffi::POPPLER_PDF_SUBTYPE_PART_8 => Self::_8,
2323            ffi::POPPLER_PDF_SUBTYPE_PART_NONE => Self::None,
2324            value => Self::__Unknown(value),
2325        }
2326    }
2327}
2328
2329impl StaticType for PDFPart {
2330    #[inline]
2331    #[doc(alias = "poppler_pdf_part_get_type")]
2332    fn static_type() -> glib::Type {
2333        unsafe { from_glib(ffi::poppler_pdf_part_get_type()) }
2334    }
2335}
2336
2337impl glib::HasParamSpec for PDFPart {
2338    type ParamSpec = glib::ParamSpecEnum;
2339    type SetValue = Self;
2340    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2341
2342    fn param_spec_builder() -> Self::BuilderFn {
2343        Self::ParamSpec::builder_with_default
2344    }
2345}
2346
2347impl glib::value::ValueType for PDFPart {
2348    type Type = Self;
2349}
2350
2351unsafe impl<'a> glib::value::FromValue<'a> for PDFPart {
2352    type Checker = glib::value::GenericValueTypeChecker<Self>;
2353
2354    #[inline]
2355    unsafe fn from_value(value: &'a glib::Value) -> Self {
2356        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2357    }
2358}
2359
2360impl ToValue for PDFPart {
2361    #[inline]
2362    fn to_value(&self) -> glib::Value {
2363        let mut value = glib::Value::for_value_type::<Self>();
2364        unsafe {
2365            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2366        }
2367        value
2368    }
2369
2370    #[inline]
2371    fn value_type(&self) -> glib::Type {
2372        Self::static_type()
2373    }
2374}
2375
2376impl From<PDFPart> for glib::Value {
2377    #[inline]
2378    fn from(v: PDFPart) -> Self {
2379        ToValue::to_value(&v)
2380    }
2381}
2382
2383#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2384#[non_exhaustive]
2385#[doc(alias = "PopplerPDFSubtype")]
2386pub enum PDFSubtype {
2387    #[doc(alias = "POPPLER_PDF_SUBTYPE_UNSET")]
2388    Unset,
2389    #[doc(alias = "POPPLER_PDF_SUBTYPE_PDF_A")]
2390    PdfA,
2391    #[doc(alias = "POPPLER_PDF_SUBTYPE_PDF_E")]
2392    PdfE,
2393    #[doc(alias = "POPPLER_PDF_SUBTYPE_PDF_UA")]
2394    PdfUa,
2395    #[doc(alias = "POPPLER_PDF_SUBTYPE_PDF_VT")]
2396    PdfVt,
2397    #[doc(alias = "POPPLER_PDF_SUBTYPE_PDF_X")]
2398    PdfX,
2399    #[doc(alias = "POPPLER_PDF_SUBTYPE_NONE")]
2400    None,
2401    #[doc(hidden)]
2402    __Unknown(i32),
2403}
2404
2405#[doc(hidden)]
2406impl IntoGlib for PDFSubtype {
2407    type GlibType = ffi::PopplerPDFSubtype;
2408
2409    #[inline]
2410    fn into_glib(self) -> ffi::PopplerPDFSubtype {
2411        match self {
2412            Self::Unset => ffi::POPPLER_PDF_SUBTYPE_UNSET,
2413            Self::PdfA => ffi::POPPLER_PDF_SUBTYPE_PDF_A,
2414            Self::PdfE => ffi::POPPLER_PDF_SUBTYPE_PDF_E,
2415            Self::PdfUa => ffi::POPPLER_PDF_SUBTYPE_PDF_UA,
2416            Self::PdfVt => ffi::POPPLER_PDF_SUBTYPE_PDF_VT,
2417            Self::PdfX => ffi::POPPLER_PDF_SUBTYPE_PDF_X,
2418            Self::None => ffi::POPPLER_PDF_SUBTYPE_NONE,
2419            Self::__Unknown(value) => value,
2420        }
2421    }
2422}
2423
2424#[doc(hidden)]
2425impl FromGlib<ffi::PopplerPDFSubtype> for PDFSubtype {
2426    #[inline]
2427    unsafe fn from_glib(value: ffi::PopplerPDFSubtype) -> Self {
2428        match value {
2429            ffi::POPPLER_PDF_SUBTYPE_UNSET => Self::Unset,
2430            ffi::POPPLER_PDF_SUBTYPE_PDF_A => Self::PdfA,
2431            ffi::POPPLER_PDF_SUBTYPE_PDF_E => Self::PdfE,
2432            ffi::POPPLER_PDF_SUBTYPE_PDF_UA => Self::PdfUa,
2433            ffi::POPPLER_PDF_SUBTYPE_PDF_VT => Self::PdfVt,
2434            ffi::POPPLER_PDF_SUBTYPE_PDF_X => Self::PdfX,
2435            ffi::POPPLER_PDF_SUBTYPE_NONE => Self::None,
2436            value => Self::__Unknown(value),
2437        }
2438    }
2439}
2440
2441impl StaticType for PDFSubtype {
2442    #[inline]
2443    #[doc(alias = "poppler_pdf_subtype_get_type")]
2444    fn static_type() -> glib::Type {
2445        unsafe { from_glib(ffi::poppler_pdf_subtype_get_type()) }
2446    }
2447}
2448
2449impl glib::HasParamSpec for PDFSubtype {
2450    type ParamSpec = glib::ParamSpecEnum;
2451    type SetValue = Self;
2452    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2453
2454    fn param_spec_builder() -> Self::BuilderFn {
2455        Self::ParamSpec::builder_with_default
2456    }
2457}
2458
2459impl glib::value::ValueType for PDFSubtype {
2460    type Type = Self;
2461}
2462
2463unsafe impl<'a> glib::value::FromValue<'a> for PDFSubtype {
2464    type Checker = glib::value::GenericValueTypeChecker<Self>;
2465
2466    #[inline]
2467    unsafe fn from_value(value: &'a glib::Value) -> Self {
2468        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2469    }
2470}
2471
2472impl ToValue for PDFSubtype {
2473    #[inline]
2474    fn to_value(&self) -> glib::Value {
2475        let mut value = glib::Value::for_value_type::<Self>();
2476        unsafe {
2477            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2478        }
2479        value
2480    }
2481
2482    #[inline]
2483    fn value_type(&self) -> glib::Type {
2484        Self::static_type()
2485    }
2486}
2487
2488impl From<PDFSubtype> for glib::Value {
2489    #[inline]
2490    fn from(v: PDFSubtype) -> Self {
2491        ToValue::to_value(&v)
2492    }
2493}
2494
2495#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2496#[non_exhaustive]
2497#[doc(alias = "PopplerPageLayout")]
2498pub enum PageLayout {
2499    #[doc(alias = "POPPLER_PAGE_LAYOUT_UNSET")]
2500    Unset,
2501    #[doc(alias = "POPPLER_PAGE_LAYOUT_SINGLE_PAGE")]
2502    SinglePage,
2503    #[doc(alias = "POPPLER_PAGE_LAYOUT_ONE_COLUMN")]
2504    OneColumn,
2505    #[doc(alias = "POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT")]
2506    TwoColumnLeft,
2507    #[doc(alias = "POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT")]
2508    TwoColumnRight,
2509    #[doc(alias = "POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT")]
2510    TwoPageLeft,
2511    #[doc(alias = "POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT")]
2512    TwoPageRight,
2513    #[doc(hidden)]
2514    __Unknown(i32),
2515}
2516
2517#[doc(hidden)]
2518impl IntoGlib for PageLayout {
2519    type GlibType = ffi::PopplerPageLayout;
2520
2521    #[inline]
2522    fn into_glib(self) -> ffi::PopplerPageLayout {
2523        match self {
2524            Self::Unset => ffi::POPPLER_PAGE_LAYOUT_UNSET,
2525            Self::SinglePage => ffi::POPPLER_PAGE_LAYOUT_SINGLE_PAGE,
2526            Self::OneColumn => ffi::POPPLER_PAGE_LAYOUT_ONE_COLUMN,
2527            Self::TwoColumnLeft => ffi::POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT,
2528            Self::TwoColumnRight => ffi::POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT,
2529            Self::TwoPageLeft => ffi::POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT,
2530            Self::TwoPageRight => ffi::POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT,
2531            Self::__Unknown(value) => value,
2532        }
2533    }
2534}
2535
2536#[doc(hidden)]
2537impl FromGlib<ffi::PopplerPageLayout> for PageLayout {
2538    #[inline]
2539    unsafe fn from_glib(value: ffi::PopplerPageLayout) -> Self {
2540        match value {
2541            ffi::POPPLER_PAGE_LAYOUT_UNSET => Self::Unset,
2542            ffi::POPPLER_PAGE_LAYOUT_SINGLE_PAGE => Self::SinglePage,
2543            ffi::POPPLER_PAGE_LAYOUT_ONE_COLUMN => Self::OneColumn,
2544            ffi::POPPLER_PAGE_LAYOUT_TWO_COLUMN_LEFT => Self::TwoColumnLeft,
2545            ffi::POPPLER_PAGE_LAYOUT_TWO_COLUMN_RIGHT => Self::TwoColumnRight,
2546            ffi::POPPLER_PAGE_LAYOUT_TWO_PAGE_LEFT => Self::TwoPageLeft,
2547            ffi::POPPLER_PAGE_LAYOUT_TWO_PAGE_RIGHT => Self::TwoPageRight,
2548            value => Self::__Unknown(value),
2549        }
2550    }
2551}
2552
2553impl StaticType for PageLayout {
2554    #[inline]
2555    #[doc(alias = "poppler_page_layout_get_type")]
2556    fn static_type() -> glib::Type {
2557        unsafe { from_glib(ffi::poppler_page_layout_get_type()) }
2558    }
2559}
2560
2561impl glib::HasParamSpec for PageLayout {
2562    type ParamSpec = glib::ParamSpecEnum;
2563    type SetValue = Self;
2564    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2565
2566    fn param_spec_builder() -> Self::BuilderFn {
2567        Self::ParamSpec::builder_with_default
2568    }
2569}
2570
2571impl glib::value::ValueType for PageLayout {
2572    type Type = Self;
2573}
2574
2575unsafe impl<'a> glib::value::FromValue<'a> for PageLayout {
2576    type Checker = glib::value::GenericValueTypeChecker<Self>;
2577
2578    #[inline]
2579    unsafe fn from_value(value: &'a glib::Value) -> Self {
2580        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2581    }
2582}
2583
2584impl ToValue for PageLayout {
2585    #[inline]
2586    fn to_value(&self) -> glib::Value {
2587        let mut value = glib::Value::for_value_type::<Self>();
2588        unsafe {
2589            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2590        }
2591        value
2592    }
2593
2594    #[inline]
2595    fn value_type(&self) -> glib::Type {
2596        Self::static_type()
2597    }
2598}
2599
2600impl From<PageLayout> for glib::Value {
2601    #[inline]
2602    fn from(v: PageLayout) -> Self {
2603        ToValue::to_value(&v)
2604    }
2605}
2606
2607#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2608#[non_exhaustive]
2609#[doc(alias = "PopplerPageMode")]
2610pub enum PageMode {
2611    #[doc(alias = "POPPLER_PAGE_MODE_UNSET")]
2612    Unset,
2613    #[doc(alias = "POPPLER_PAGE_MODE_NONE")]
2614    None,
2615    #[doc(alias = "POPPLER_PAGE_MODE_USE_OUTLINES")]
2616    UseOutlines,
2617    #[doc(alias = "POPPLER_PAGE_MODE_USE_THUMBS")]
2618    UseThumbs,
2619    #[doc(alias = "POPPLER_PAGE_MODE_FULL_SCREEN")]
2620    FullScreen,
2621    #[doc(alias = "POPPLER_PAGE_MODE_USE_OC")]
2622    UseOc,
2623    #[doc(alias = "POPPLER_PAGE_MODE_USE_ATTACHMENTS")]
2624    UseAttachments,
2625    #[doc(hidden)]
2626    __Unknown(i32),
2627}
2628
2629#[doc(hidden)]
2630impl IntoGlib for PageMode {
2631    type GlibType = ffi::PopplerPageMode;
2632
2633    #[inline]
2634    fn into_glib(self) -> ffi::PopplerPageMode {
2635        match self {
2636            Self::Unset => ffi::POPPLER_PAGE_MODE_UNSET,
2637            Self::None => ffi::POPPLER_PAGE_MODE_NONE,
2638            Self::UseOutlines => ffi::POPPLER_PAGE_MODE_USE_OUTLINES,
2639            Self::UseThumbs => ffi::POPPLER_PAGE_MODE_USE_THUMBS,
2640            Self::FullScreen => ffi::POPPLER_PAGE_MODE_FULL_SCREEN,
2641            Self::UseOc => ffi::POPPLER_PAGE_MODE_USE_OC,
2642            Self::UseAttachments => ffi::POPPLER_PAGE_MODE_USE_ATTACHMENTS,
2643            Self::__Unknown(value) => value,
2644        }
2645    }
2646}
2647
2648#[doc(hidden)]
2649impl FromGlib<ffi::PopplerPageMode> for PageMode {
2650    #[inline]
2651    unsafe fn from_glib(value: ffi::PopplerPageMode) -> Self {
2652        match value {
2653            ffi::POPPLER_PAGE_MODE_UNSET => Self::Unset,
2654            ffi::POPPLER_PAGE_MODE_NONE => Self::None,
2655            ffi::POPPLER_PAGE_MODE_USE_OUTLINES => Self::UseOutlines,
2656            ffi::POPPLER_PAGE_MODE_USE_THUMBS => Self::UseThumbs,
2657            ffi::POPPLER_PAGE_MODE_FULL_SCREEN => Self::FullScreen,
2658            ffi::POPPLER_PAGE_MODE_USE_OC => Self::UseOc,
2659            ffi::POPPLER_PAGE_MODE_USE_ATTACHMENTS => Self::UseAttachments,
2660            value => Self::__Unknown(value),
2661        }
2662    }
2663}
2664
2665impl StaticType for PageMode {
2666    #[inline]
2667    #[doc(alias = "poppler_page_mode_get_type")]
2668    fn static_type() -> glib::Type {
2669        unsafe { from_glib(ffi::poppler_page_mode_get_type()) }
2670    }
2671}
2672
2673impl glib::HasParamSpec for PageMode {
2674    type ParamSpec = glib::ParamSpecEnum;
2675    type SetValue = Self;
2676    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2677
2678    fn param_spec_builder() -> Self::BuilderFn {
2679        Self::ParamSpec::builder_with_default
2680    }
2681}
2682
2683impl glib::value::ValueType for PageMode {
2684    type Type = Self;
2685}
2686
2687unsafe impl<'a> glib::value::FromValue<'a> for PageMode {
2688    type Checker = glib::value::GenericValueTypeChecker<Self>;
2689
2690    #[inline]
2691    unsafe fn from_value(value: &'a glib::Value) -> Self {
2692        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2693    }
2694}
2695
2696impl ToValue for PageMode {
2697    #[inline]
2698    fn to_value(&self) -> glib::Value {
2699        let mut value = glib::Value::for_value_type::<Self>();
2700        unsafe {
2701            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2702        }
2703        value
2704    }
2705
2706    #[inline]
2707    fn value_type(&self) -> glib::Type {
2708        Self::static_type()
2709    }
2710}
2711
2712impl From<PageMode> for glib::Value {
2713    #[inline]
2714    fn from(v: PageMode) -> Self {
2715        ToValue::to_value(&v)
2716    }
2717}
2718
2719#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2720#[non_exhaustive]
2721#[doc(alias = "PopplerPageTransitionAlignment")]
2722pub enum PageTransitionAlignment {
2723    #[doc(alias = "POPPLER_PAGE_TRANSITION_HORIZONTAL")]
2724    Horizontal,
2725    #[doc(alias = "POPPLER_PAGE_TRANSITION_VERTICAL")]
2726    Vertical,
2727    #[doc(hidden)]
2728    __Unknown(i32),
2729}
2730
2731#[doc(hidden)]
2732impl IntoGlib for PageTransitionAlignment {
2733    type GlibType = ffi::PopplerPageTransitionAlignment;
2734
2735    #[inline]
2736    fn into_glib(self) -> ffi::PopplerPageTransitionAlignment {
2737        match self {
2738            Self::Horizontal => ffi::POPPLER_PAGE_TRANSITION_HORIZONTAL,
2739            Self::Vertical => ffi::POPPLER_PAGE_TRANSITION_VERTICAL,
2740            Self::__Unknown(value) => value,
2741        }
2742    }
2743}
2744
2745#[doc(hidden)]
2746impl FromGlib<ffi::PopplerPageTransitionAlignment> for PageTransitionAlignment {
2747    #[inline]
2748    unsafe fn from_glib(value: ffi::PopplerPageTransitionAlignment) -> Self {
2749        match value {
2750            ffi::POPPLER_PAGE_TRANSITION_HORIZONTAL => Self::Horizontal,
2751            ffi::POPPLER_PAGE_TRANSITION_VERTICAL => Self::Vertical,
2752            value => Self::__Unknown(value),
2753        }
2754    }
2755}
2756
2757impl StaticType for PageTransitionAlignment {
2758    #[inline]
2759    #[doc(alias = "poppler_page_transition_alignment_get_type")]
2760    fn static_type() -> glib::Type {
2761        unsafe { from_glib(ffi::poppler_page_transition_alignment_get_type()) }
2762    }
2763}
2764
2765impl glib::HasParamSpec for PageTransitionAlignment {
2766    type ParamSpec = glib::ParamSpecEnum;
2767    type SetValue = Self;
2768    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2769
2770    fn param_spec_builder() -> Self::BuilderFn {
2771        Self::ParamSpec::builder_with_default
2772    }
2773}
2774
2775impl glib::value::ValueType for PageTransitionAlignment {
2776    type Type = Self;
2777}
2778
2779unsafe impl<'a> glib::value::FromValue<'a> for PageTransitionAlignment {
2780    type Checker = glib::value::GenericValueTypeChecker<Self>;
2781
2782    #[inline]
2783    unsafe fn from_value(value: &'a glib::Value) -> Self {
2784        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2785    }
2786}
2787
2788impl ToValue for PageTransitionAlignment {
2789    #[inline]
2790    fn to_value(&self) -> glib::Value {
2791        let mut value = glib::Value::for_value_type::<Self>();
2792        unsafe {
2793            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2794        }
2795        value
2796    }
2797
2798    #[inline]
2799    fn value_type(&self) -> glib::Type {
2800        Self::static_type()
2801    }
2802}
2803
2804impl From<PageTransitionAlignment> for glib::Value {
2805    #[inline]
2806    fn from(v: PageTransitionAlignment) -> Self {
2807        ToValue::to_value(&v)
2808    }
2809}
2810
2811#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2812#[non_exhaustive]
2813#[doc(alias = "PopplerPageTransitionDirection")]
2814pub enum PageTransitionDirection {
2815    #[doc(alias = "POPPLER_PAGE_TRANSITION_INWARD")]
2816    Inward,
2817    #[doc(alias = "POPPLER_PAGE_TRANSITION_OUTWARD")]
2818    Outward,
2819    #[doc(hidden)]
2820    __Unknown(i32),
2821}
2822
2823#[doc(hidden)]
2824impl IntoGlib for PageTransitionDirection {
2825    type GlibType = ffi::PopplerPageTransitionDirection;
2826
2827    #[inline]
2828    fn into_glib(self) -> ffi::PopplerPageTransitionDirection {
2829        match self {
2830            Self::Inward => ffi::POPPLER_PAGE_TRANSITION_INWARD,
2831            Self::Outward => ffi::POPPLER_PAGE_TRANSITION_OUTWARD,
2832            Self::__Unknown(value) => value,
2833        }
2834    }
2835}
2836
2837#[doc(hidden)]
2838impl FromGlib<ffi::PopplerPageTransitionDirection> for PageTransitionDirection {
2839    #[inline]
2840    unsafe fn from_glib(value: ffi::PopplerPageTransitionDirection) -> Self {
2841        match value {
2842            ffi::POPPLER_PAGE_TRANSITION_INWARD => Self::Inward,
2843            ffi::POPPLER_PAGE_TRANSITION_OUTWARD => Self::Outward,
2844            value => Self::__Unknown(value),
2845        }
2846    }
2847}
2848
2849impl StaticType for PageTransitionDirection {
2850    #[inline]
2851    #[doc(alias = "poppler_page_transition_direction_get_type")]
2852    fn static_type() -> glib::Type {
2853        unsafe { from_glib(ffi::poppler_page_transition_direction_get_type()) }
2854    }
2855}
2856
2857impl glib::HasParamSpec for PageTransitionDirection {
2858    type ParamSpec = glib::ParamSpecEnum;
2859    type SetValue = Self;
2860    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2861
2862    fn param_spec_builder() -> Self::BuilderFn {
2863        Self::ParamSpec::builder_with_default
2864    }
2865}
2866
2867impl glib::value::ValueType for PageTransitionDirection {
2868    type Type = Self;
2869}
2870
2871unsafe impl<'a> glib::value::FromValue<'a> for PageTransitionDirection {
2872    type Checker = glib::value::GenericValueTypeChecker<Self>;
2873
2874    #[inline]
2875    unsafe fn from_value(value: &'a glib::Value) -> Self {
2876        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
2877    }
2878}
2879
2880impl ToValue for PageTransitionDirection {
2881    #[inline]
2882    fn to_value(&self) -> glib::Value {
2883        let mut value = glib::Value::for_value_type::<Self>();
2884        unsafe {
2885            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
2886        }
2887        value
2888    }
2889
2890    #[inline]
2891    fn value_type(&self) -> glib::Type {
2892        Self::static_type()
2893    }
2894}
2895
2896impl From<PageTransitionDirection> for glib::Value {
2897    #[inline]
2898    fn from(v: PageTransitionDirection) -> Self {
2899        ToValue::to_value(&v)
2900    }
2901}
2902
2903#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
2904#[non_exhaustive]
2905#[doc(alias = "PopplerPageTransitionType")]
2906pub enum PageTransitionType {
2907    #[doc(alias = "POPPLER_PAGE_TRANSITION_REPLACE")]
2908    Replace,
2909    #[doc(alias = "POPPLER_PAGE_TRANSITION_SPLIT")]
2910    Split,
2911    #[doc(alias = "POPPLER_PAGE_TRANSITION_BLINDS")]
2912    Blinds,
2913    #[doc(alias = "POPPLER_PAGE_TRANSITION_BOX")]
2914    Box,
2915    #[doc(alias = "POPPLER_PAGE_TRANSITION_WIPE")]
2916    Wipe,
2917    #[doc(alias = "POPPLER_PAGE_TRANSITION_DISSOLVE")]
2918    Dissolve,
2919    #[doc(alias = "POPPLER_PAGE_TRANSITION_GLITTER")]
2920    Glitter,
2921    #[doc(alias = "POPPLER_PAGE_TRANSITION_FLY")]
2922    Fly,
2923    #[doc(alias = "POPPLER_PAGE_TRANSITION_PUSH")]
2924    Push,
2925    #[doc(alias = "POPPLER_PAGE_TRANSITION_COVER")]
2926    Cover,
2927    #[doc(alias = "POPPLER_PAGE_TRANSITION_UNCOVER")]
2928    Uncover,
2929    #[doc(alias = "POPPLER_PAGE_TRANSITION_FADE")]
2930    Fade,
2931    #[doc(hidden)]
2932    __Unknown(i32),
2933}
2934
2935#[doc(hidden)]
2936impl IntoGlib for PageTransitionType {
2937    type GlibType = ffi::PopplerPageTransitionType;
2938
2939    #[inline]
2940    fn into_glib(self) -> ffi::PopplerPageTransitionType {
2941        match self {
2942            Self::Replace => ffi::POPPLER_PAGE_TRANSITION_REPLACE,
2943            Self::Split => ffi::POPPLER_PAGE_TRANSITION_SPLIT,
2944            Self::Blinds => ffi::POPPLER_PAGE_TRANSITION_BLINDS,
2945            Self::Box => ffi::POPPLER_PAGE_TRANSITION_BOX,
2946            Self::Wipe => ffi::POPPLER_PAGE_TRANSITION_WIPE,
2947            Self::Dissolve => ffi::POPPLER_PAGE_TRANSITION_DISSOLVE,
2948            Self::Glitter => ffi::POPPLER_PAGE_TRANSITION_GLITTER,
2949            Self::Fly => ffi::POPPLER_PAGE_TRANSITION_FLY,
2950            Self::Push => ffi::POPPLER_PAGE_TRANSITION_PUSH,
2951            Self::Cover => ffi::POPPLER_PAGE_TRANSITION_COVER,
2952            Self::Uncover => ffi::POPPLER_PAGE_TRANSITION_UNCOVER,
2953            Self::Fade => ffi::POPPLER_PAGE_TRANSITION_FADE,
2954            Self::__Unknown(value) => value,
2955        }
2956    }
2957}
2958
2959#[doc(hidden)]
2960impl FromGlib<ffi::PopplerPageTransitionType> for PageTransitionType {
2961    #[inline]
2962    unsafe fn from_glib(value: ffi::PopplerPageTransitionType) -> Self {
2963        match value {
2964            ffi::POPPLER_PAGE_TRANSITION_REPLACE => Self::Replace,
2965            ffi::POPPLER_PAGE_TRANSITION_SPLIT => Self::Split,
2966            ffi::POPPLER_PAGE_TRANSITION_BLINDS => Self::Blinds,
2967            ffi::POPPLER_PAGE_TRANSITION_BOX => Self::Box,
2968            ffi::POPPLER_PAGE_TRANSITION_WIPE => Self::Wipe,
2969            ffi::POPPLER_PAGE_TRANSITION_DISSOLVE => Self::Dissolve,
2970            ffi::POPPLER_PAGE_TRANSITION_GLITTER => Self::Glitter,
2971            ffi::POPPLER_PAGE_TRANSITION_FLY => Self::Fly,
2972            ffi::POPPLER_PAGE_TRANSITION_PUSH => Self::Push,
2973            ffi::POPPLER_PAGE_TRANSITION_COVER => Self::Cover,
2974            ffi::POPPLER_PAGE_TRANSITION_UNCOVER => Self::Uncover,
2975            ffi::POPPLER_PAGE_TRANSITION_FADE => Self::Fade,
2976            value => Self::__Unknown(value),
2977        }
2978    }
2979}
2980
2981impl StaticType for PageTransitionType {
2982    #[inline]
2983    #[doc(alias = "poppler_page_transition_type_get_type")]
2984    fn static_type() -> glib::Type {
2985        unsafe { from_glib(ffi::poppler_page_transition_type_get_type()) }
2986    }
2987}
2988
2989impl glib::HasParamSpec for PageTransitionType {
2990    type ParamSpec = glib::ParamSpecEnum;
2991    type SetValue = Self;
2992    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
2993
2994    fn param_spec_builder() -> Self::BuilderFn {
2995        Self::ParamSpec::builder_with_default
2996    }
2997}
2998
2999impl glib::value::ValueType for PageTransitionType {
3000    type Type = Self;
3001}
3002
3003unsafe impl<'a> glib::value::FromValue<'a> for PageTransitionType {
3004    type Checker = glib::value::GenericValueTypeChecker<Self>;
3005
3006    #[inline]
3007    unsafe fn from_value(value: &'a glib::Value) -> Self {
3008        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3009    }
3010}
3011
3012impl ToValue for PageTransitionType {
3013    #[inline]
3014    fn to_value(&self) -> glib::Value {
3015        let mut value = glib::Value::for_value_type::<Self>();
3016        unsafe {
3017            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3018        }
3019        value
3020    }
3021
3022    #[inline]
3023    fn value_type(&self) -> glib::Type {
3024        Self::static_type()
3025    }
3026}
3027
3028impl From<PageTransitionType> for glib::Value {
3029    #[inline]
3030    fn from(v: PageTransitionType) -> Self {
3031        ToValue::to_value(&v)
3032    }
3033}
3034
3035#[cfg(feature = "v0_80")]
3036#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3037#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3038#[non_exhaustive]
3039#[doc(alias = "PopplerPrintDuplex")]
3040pub enum PrintDuplex {
3041    #[doc(alias = "POPPLER_PRINT_DUPLEX_NONE")]
3042    None,
3043    #[doc(alias = "POPPLER_PRINT_DUPLEX_SIMPLEX")]
3044    Simplex,
3045    #[doc(alias = "POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_SHORT_EDGE")]
3046    DuplexFlipShortEdge,
3047    #[doc(alias = "POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_LONG_EDGE")]
3048    DuplexFlipLongEdge,
3049    #[doc(hidden)]
3050    __Unknown(i32),
3051}
3052
3053#[cfg(feature = "v0_80")]
3054#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3055#[doc(hidden)]
3056impl IntoGlib for PrintDuplex {
3057    type GlibType = ffi::PopplerPrintDuplex;
3058
3059    #[inline]
3060    fn into_glib(self) -> ffi::PopplerPrintDuplex {
3061        match self {
3062            Self::None => ffi::POPPLER_PRINT_DUPLEX_NONE,
3063            Self::Simplex => ffi::POPPLER_PRINT_DUPLEX_SIMPLEX,
3064            Self::DuplexFlipShortEdge => ffi::POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_SHORT_EDGE,
3065            Self::DuplexFlipLongEdge => ffi::POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_LONG_EDGE,
3066            Self::__Unknown(value) => value,
3067        }
3068    }
3069}
3070
3071#[cfg(feature = "v0_80")]
3072#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3073#[doc(hidden)]
3074impl FromGlib<ffi::PopplerPrintDuplex> for PrintDuplex {
3075    #[inline]
3076    unsafe fn from_glib(value: ffi::PopplerPrintDuplex) -> Self {
3077        match value {
3078            ffi::POPPLER_PRINT_DUPLEX_NONE => Self::None,
3079            ffi::POPPLER_PRINT_DUPLEX_SIMPLEX => Self::Simplex,
3080            ffi::POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_SHORT_EDGE => Self::DuplexFlipShortEdge,
3081            ffi::POPPLER_PRINT_DUPLEX_DUPLEX_FLIP_LONG_EDGE => Self::DuplexFlipLongEdge,
3082            value => Self::__Unknown(value),
3083        }
3084    }
3085}
3086
3087#[cfg(feature = "v0_80")]
3088#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3089impl StaticType for PrintDuplex {
3090    #[inline]
3091    #[doc(alias = "poppler_print_duplex_get_type")]
3092    fn static_type() -> glib::Type {
3093        unsafe { from_glib(ffi::poppler_print_duplex_get_type()) }
3094    }
3095}
3096
3097#[cfg(feature = "v0_80")]
3098#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3099impl glib::HasParamSpec for PrintDuplex {
3100    type ParamSpec = glib::ParamSpecEnum;
3101    type SetValue = Self;
3102    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3103
3104    fn param_spec_builder() -> Self::BuilderFn {
3105        Self::ParamSpec::builder_with_default
3106    }
3107}
3108
3109#[cfg(feature = "v0_80")]
3110#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3111impl glib::value::ValueType for PrintDuplex {
3112    type Type = Self;
3113}
3114
3115#[cfg(feature = "v0_80")]
3116#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3117unsafe impl<'a> glib::value::FromValue<'a> for PrintDuplex {
3118    type Checker = glib::value::GenericValueTypeChecker<Self>;
3119
3120    #[inline]
3121    unsafe fn from_value(value: &'a glib::Value) -> Self {
3122        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3123    }
3124}
3125
3126#[cfg(feature = "v0_80")]
3127#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3128impl ToValue for PrintDuplex {
3129    #[inline]
3130    fn to_value(&self) -> glib::Value {
3131        let mut value = glib::Value::for_value_type::<Self>();
3132        unsafe {
3133            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3134        }
3135        value
3136    }
3137
3138    #[inline]
3139    fn value_type(&self) -> glib::Type {
3140        Self::static_type()
3141    }
3142}
3143
3144#[cfg(feature = "v0_80")]
3145#[cfg_attr(docsrs, doc(cfg(feature = "v0_80")))]
3146impl From<PrintDuplex> for glib::Value {
3147    #[inline]
3148    fn from(v: PrintDuplex) -> Self {
3149        ToValue::to_value(&v)
3150    }
3151}
3152
3153#[cfg(feature = "v0_73")]
3154#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3155#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3156#[non_exhaustive]
3157#[doc(alias = "PopplerPrintScaling")]
3158pub enum PrintScaling {
3159    #[doc(alias = "POPPLER_PRINT_SCALING_APP_DEFAULT")]
3160    AppDefault,
3161    #[doc(alias = "POPPLER_PRINT_SCALING_NONE")]
3162    None,
3163    #[doc(hidden)]
3164    __Unknown(i32),
3165}
3166
3167#[cfg(feature = "v0_73")]
3168#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3169#[doc(hidden)]
3170impl IntoGlib for PrintScaling {
3171    type GlibType = ffi::PopplerPrintScaling;
3172
3173    #[inline]
3174    fn into_glib(self) -> ffi::PopplerPrintScaling {
3175        match self {
3176            Self::AppDefault => ffi::POPPLER_PRINT_SCALING_APP_DEFAULT,
3177            Self::None => ffi::POPPLER_PRINT_SCALING_NONE,
3178            Self::__Unknown(value) => value,
3179        }
3180    }
3181}
3182
3183#[cfg(feature = "v0_73")]
3184#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3185#[doc(hidden)]
3186impl FromGlib<ffi::PopplerPrintScaling> for PrintScaling {
3187    #[inline]
3188    unsafe fn from_glib(value: ffi::PopplerPrintScaling) -> Self {
3189        match value {
3190            ffi::POPPLER_PRINT_SCALING_APP_DEFAULT => Self::AppDefault,
3191            ffi::POPPLER_PRINT_SCALING_NONE => Self::None,
3192            value => Self::__Unknown(value),
3193        }
3194    }
3195}
3196
3197#[cfg(feature = "v0_73")]
3198#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3199impl StaticType for PrintScaling {
3200    #[inline]
3201    #[doc(alias = "poppler_print_scaling_get_type")]
3202    fn static_type() -> glib::Type {
3203        unsafe { from_glib(ffi::poppler_print_scaling_get_type()) }
3204    }
3205}
3206
3207#[cfg(feature = "v0_73")]
3208#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3209impl glib::HasParamSpec for PrintScaling {
3210    type ParamSpec = glib::ParamSpecEnum;
3211    type SetValue = Self;
3212    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3213
3214    fn param_spec_builder() -> Self::BuilderFn {
3215        Self::ParamSpec::builder_with_default
3216    }
3217}
3218
3219#[cfg(feature = "v0_73")]
3220#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3221impl glib::value::ValueType for PrintScaling {
3222    type Type = Self;
3223}
3224
3225#[cfg(feature = "v0_73")]
3226#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3227unsafe impl<'a> glib::value::FromValue<'a> for PrintScaling {
3228    type Checker = glib::value::GenericValueTypeChecker<Self>;
3229
3230    #[inline]
3231    unsafe fn from_value(value: &'a glib::Value) -> Self {
3232        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3233    }
3234}
3235
3236#[cfg(feature = "v0_73")]
3237#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3238impl ToValue for PrintScaling {
3239    #[inline]
3240    fn to_value(&self) -> glib::Value {
3241        let mut value = glib::Value::for_value_type::<Self>();
3242        unsafe {
3243            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3244        }
3245        value
3246    }
3247
3248    #[inline]
3249    fn value_type(&self) -> glib::Type {
3250        Self::static_type()
3251    }
3252}
3253
3254#[cfg(feature = "v0_73")]
3255#[cfg_attr(docsrs, doc(cfg(feature = "v0_73")))]
3256impl From<PrintScaling> for glib::Value {
3257    #[inline]
3258    fn from(v: PrintScaling) -> Self {
3259        ToValue::to_value(&v)
3260    }
3261}
3262
3263#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3264#[non_exhaustive]
3265#[doc(alias = "PopplerSelectionStyle")]
3266pub enum SelectionStyle {
3267    #[doc(alias = "POPPLER_SELECTION_GLYPH")]
3268    Glyph,
3269    #[doc(alias = "POPPLER_SELECTION_WORD")]
3270    Word,
3271    #[doc(alias = "POPPLER_SELECTION_LINE")]
3272    Line,
3273    #[doc(hidden)]
3274    __Unknown(i32),
3275}
3276
3277#[doc(hidden)]
3278impl IntoGlib for SelectionStyle {
3279    type GlibType = ffi::PopplerSelectionStyle;
3280
3281    #[inline]
3282    fn into_glib(self) -> ffi::PopplerSelectionStyle {
3283        match self {
3284            Self::Glyph => ffi::POPPLER_SELECTION_GLYPH,
3285            Self::Word => ffi::POPPLER_SELECTION_WORD,
3286            Self::Line => ffi::POPPLER_SELECTION_LINE,
3287            Self::__Unknown(value) => value,
3288        }
3289    }
3290}
3291
3292#[doc(hidden)]
3293impl FromGlib<ffi::PopplerSelectionStyle> for SelectionStyle {
3294    #[inline]
3295    unsafe fn from_glib(value: ffi::PopplerSelectionStyle) -> Self {
3296        match value {
3297            ffi::POPPLER_SELECTION_GLYPH => Self::Glyph,
3298            ffi::POPPLER_SELECTION_WORD => Self::Word,
3299            ffi::POPPLER_SELECTION_LINE => Self::Line,
3300            value => Self::__Unknown(value),
3301        }
3302    }
3303}
3304
3305impl StaticType for SelectionStyle {
3306    #[inline]
3307    #[doc(alias = "poppler_selection_style_get_type")]
3308    fn static_type() -> glib::Type {
3309        unsafe { from_glib(ffi::poppler_selection_style_get_type()) }
3310    }
3311}
3312
3313impl glib::HasParamSpec for SelectionStyle {
3314    type ParamSpec = glib::ParamSpecEnum;
3315    type SetValue = Self;
3316    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3317
3318    fn param_spec_builder() -> Self::BuilderFn {
3319        Self::ParamSpec::builder_with_default
3320    }
3321}
3322
3323impl glib::value::ValueType for SelectionStyle {
3324    type Type = Self;
3325}
3326
3327unsafe impl<'a> glib::value::FromValue<'a> for SelectionStyle {
3328    type Checker = glib::value::GenericValueTypeChecker<Self>;
3329
3330    #[inline]
3331    unsafe fn from_value(value: &'a glib::Value) -> Self {
3332        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3333    }
3334}
3335
3336impl ToValue for SelectionStyle {
3337    #[inline]
3338    fn to_value(&self) -> glib::Value {
3339        let mut value = glib::Value::for_value_type::<Self>();
3340        unsafe {
3341            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3342        }
3343        value
3344    }
3345
3346    #[inline]
3347    fn value_type(&self) -> glib::Type {
3348        Self::static_type()
3349    }
3350}
3351
3352impl From<SelectionStyle> for glib::Value {
3353    #[inline]
3354    fn from(v: SelectionStyle) -> Self {
3355        ToValue::to_value(&v)
3356    }
3357}
3358
3359#[cfg(feature = "v21_12")]
3360#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3361#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3362#[non_exhaustive]
3363#[doc(alias = "PopplerSignatureStatus")]
3364pub enum SignatureStatus {
3365    #[doc(alias = "POPPLER_SIGNATURE_VALID")]
3366    Valid,
3367    #[doc(alias = "POPPLER_SIGNATURE_INVALID")]
3368    Invalid,
3369    #[doc(alias = "POPPLER_SIGNATURE_DIGEST_MISMATCH")]
3370    DigestMismatch,
3371    #[doc(alias = "POPPLER_SIGNATURE_DECODING_ERROR")]
3372    DecodingError,
3373    #[doc(alias = "POPPLER_SIGNATURE_GENERIC_ERROR")]
3374    GenericError,
3375    #[doc(alias = "POPPLER_SIGNATURE_NOT_FOUND")]
3376    NotFound,
3377    #[doc(alias = "POPPLER_SIGNATURE_NOT_VERIFIED")]
3378    NotVerified,
3379    #[doc(hidden)]
3380    __Unknown(i32),
3381}
3382
3383#[cfg(feature = "v21_12")]
3384#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3385#[doc(hidden)]
3386impl IntoGlib for SignatureStatus {
3387    type GlibType = ffi::PopplerSignatureStatus;
3388
3389    #[inline]
3390    fn into_glib(self) -> ffi::PopplerSignatureStatus {
3391        match self {
3392            Self::Valid => ffi::POPPLER_SIGNATURE_VALID,
3393            Self::Invalid => ffi::POPPLER_SIGNATURE_INVALID,
3394            Self::DigestMismatch => ffi::POPPLER_SIGNATURE_DIGEST_MISMATCH,
3395            Self::DecodingError => ffi::POPPLER_SIGNATURE_DECODING_ERROR,
3396            Self::GenericError => ffi::POPPLER_SIGNATURE_GENERIC_ERROR,
3397            Self::NotFound => ffi::POPPLER_SIGNATURE_NOT_FOUND,
3398            Self::NotVerified => ffi::POPPLER_SIGNATURE_NOT_VERIFIED,
3399            Self::__Unknown(value) => value,
3400        }
3401    }
3402}
3403
3404#[cfg(feature = "v21_12")]
3405#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3406#[doc(hidden)]
3407impl FromGlib<ffi::PopplerSignatureStatus> for SignatureStatus {
3408    #[inline]
3409    unsafe fn from_glib(value: ffi::PopplerSignatureStatus) -> Self {
3410        match value {
3411            ffi::POPPLER_SIGNATURE_VALID => Self::Valid,
3412            ffi::POPPLER_SIGNATURE_INVALID => Self::Invalid,
3413            ffi::POPPLER_SIGNATURE_DIGEST_MISMATCH => Self::DigestMismatch,
3414            ffi::POPPLER_SIGNATURE_DECODING_ERROR => Self::DecodingError,
3415            ffi::POPPLER_SIGNATURE_GENERIC_ERROR => Self::GenericError,
3416            ffi::POPPLER_SIGNATURE_NOT_FOUND => Self::NotFound,
3417            ffi::POPPLER_SIGNATURE_NOT_VERIFIED => Self::NotVerified,
3418            value => Self::__Unknown(value),
3419        }
3420    }
3421}
3422
3423#[cfg(feature = "v21_12")]
3424#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3425impl StaticType for SignatureStatus {
3426    #[inline]
3427    #[doc(alias = "poppler_signature_status_get_type")]
3428    fn static_type() -> glib::Type {
3429        unsafe { from_glib(ffi::poppler_signature_status_get_type()) }
3430    }
3431}
3432
3433#[cfg(feature = "v21_12")]
3434#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3435impl glib::HasParamSpec for SignatureStatus {
3436    type ParamSpec = glib::ParamSpecEnum;
3437    type SetValue = Self;
3438    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3439
3440    fn param_spec_builder() -> Self::BuilderFn {
3441        Self::ParamSpec::builder_with_default
3442    }
3443}
3444
3445#[cfg(feature = "v21_12")]
3446#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3447impl glib::value::ValueType for SignatureStatus {
3448    type Type = Self;
3449}
3450
3451#[cfg(feature = "v21_12")]
3452#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3453unsafe impl<'a> glib::value::FromValue<'a> for SignatureStatus {
3454    type Checker = glib::value::GenericValueTypeChecker<Self>;
3455
3456    #[inline]
3457    unsafe fn from_value(value: &'a glib::Value) -> Self {
3458        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3459    }
3460}
3461
3462#[cfg(feature = "v21_12")]
3463#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3464impl ToValue for SignatureStatus {
3465    #[inline]
3466    fn to_value(&self) -> glib::Value {
3467        let mut value = glib::Value::for_value_type::<Self>();
3468        unsafe {
3469            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3470        }
3471        value
3472    }
3473
3474    #[inline]
3475    fn value_type(&self) -> glib::Type {
3476        Self::static_type()
3477    }
3478}
3479
3480#[cfg(feature = "v21_12")]
3481#[cfg_attr(docsrs, doc(cfg(feature = "v21_12")))]
3482impl From<SignatureStatus> for glib::Value {
3483    #[inline]
3484    fn from(v: SignatureStatus) -> Self {
3485        ToValue::to_value(&v)
3486    }
3487}
3488
3489#[cfg(feature = "v24_12")]
3490#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3491#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3492#[non_exhaustive]
3493#[doc(alias = "PopplerStretch")]
3494pub enum Stretch {
3495    #[doc(alias = "POPPLER_STRETCH_ULTRA_CONDENSED")]
3496    UltraCondensed,
3497    #[doc(alias = "POPPLER_STRETCH_EXTRA_CONDENSED")]
3498    ExtraCondensed,
3499    #[doc(alias = "POPPLER_STRETCH_CONDENSED")]
3500    Condensed,
3501    #[doc(alias = "POPPLER_STRETCH_SEMI_CONDENSED")]
3502    SemiCondensed,
3503    #[doc(alias = "POPPLER_STRETCH_NORMAL")]
3504    Normal,
3505    #[doc(alias = "POPPLER_STRETCH_SEMI_EXPANDED")]
3506    SemiExpanded,
3507    #[doc(alias = "POPPLER_STRETCH_EXPANDED")]
3508    Expanded,
3509    #[doc(alias = "POPPLER_STRETCH_EXTRA_EXPANDED")]
3510    ExtraExpanded,
3511    #[doc(alias = "POPPLER_STRETCH_ULTRA_EXPANDED")]
3512    UltraExpanded,
3513    #[doc(hidden)]
3514    __Unknown(i32),
3515}
3516
3517#[cfg(feature = "v24_12")]
3518#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3519#[doc(hidden)]
3520impl IntoGlib for Stretch {
3521    type GlibType = ffi::PopplerStretch;
3522
3523    #[inline]
3524    fn into_glib(self) -> ffi::PopplerStretch {
3525        match self {
3526            Self::UltraCondensed => ffi::POPPLER_STRETCH_ULTRA_CONDENSED,
3527            Self::ExtraCondensed => ffi::POPPLER_STRETCH_EXTRA_CONDENSED,
3528            Self::Condensed => ffi::POPPLER_STRETCH_CONDENSED,
3529            Self::SemiCondensed => ffi::POPPLER_STRETCH_SEMI_CONDENSED,
3530            Self::Normal => ffi::POPPLER_STRETCH_NORMAL,
3531            Self::SemiExpanded => ffi::POPPLER_STRETCH_SEMI_EXPANDED,
3532            Self::Expanded => ffi::POPPLER_STRETCH_EXPANDED,
3533            Self::ExtraExpanded => ffi::POPPLER_STRETCH_EXTRA_EXPANDED,
3534            Self::UltraExpanded => ffi::POPPLER_STRETCH_ULTRA_EXPANDED,
3535            Self::__Unknown(value) => value,
3536        }
3537    }
3538}
3539
3540#[cfg(feature = "v24_12")]
3541#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3542#[doc(hidden)]
3543impl FromGlib<ffi::PopplerStretch> for Stretch {
3544    #[inline]
3545    unsafe fn from_glib(value: ffi::PopplerStretch) -> Self {
3546        match value {
3547            ffi::POPPLER_STRETCH_ULTRA_CONDENSED => Self::UltraCondensed,
3548            ffi::POPPLER_STRETCH_EXTRA_CONDENSED => Self::ExtraCondensed,
3549            ffi::POPPLER_STRETCH_CONDENSED => Self::Condensed,
3550            ffi::POPPLER_STRETCH_SEMI_CONDENSED => Self::SemiCondensed,
3551            ffi::POPPLER_STRETCH_NORMAL => Self::Normal,
3552            ffi::POPPLER_STRETCH_SEMI_EXPANDED => Self::SemiExpanded,
3553            ffi::POPPLER_STRETCH_EXPANDED => Self::Expanded,
3554            ffi::POPPLER_STRETCH_EXTRA_EXPANDED => Self::ExtraExpanded,
3555            ffi::POPPLER_STRETCH_ULTRA_EXPANDED => Self::UltraExpanded,
3556            value => Self::__Unknown(value),
3557        }
3558    }
3559}
3560
3561#[cfg(feature = "v24_12")]
3562#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3563impl StaticType for Stretch {
3564    #[inline]
3565    #[doc(alias = "poppler_stretch_get_type")]
3566    fn static_type() -> glib::Type {
3567        unsafe { from_glib(ffi::poppler_stretch_get_type()) }
3568    }
3569}
3570
3571#[cfg(feature = "v24_12")]
3572#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3573impl glib::HasParamSpec for Stretch {
3574    type ParamSpec = glib::ParamSpecEnum;
3575    type SetValue = Self;
3576    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3577
3578    fn param_spec_builder() -> Self::BuilderFn {
3579        Self::ParamSpec::builder_with_default
3580    }
3581}
3582
3583#[cfg(feature = "v24_12")]
3584#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3585impl glib::value::ValueType for Stretch {
3586    type Type = Self;
3587}
3588
3589#[cfg(feature = "v24_12")]
3590#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3591unsafe impl<'a> glib::value::FromValue<'a> for Stretch {
3592    type Checker = glib::value::GenericValueTypeChecker<Self>;
3593
3594    #[inline]
3595    unsafe fn from_value(value: &'a glib::Value) -> Self {
3596        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3597    }
3598}
3599
3600#[cfg(feature = "v24_12")]
3601#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3602impl ToValue for Stretch {
3603    #[inline]
3604    fn to_value(&self) -> glib::Value {
3605        let mut value = glib::Value::for_value_type::<Self>();
3606        unsafe {
3607            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3608        }
3609        value
3610    }
3611
3612    #[inline]
3613    fn value_type(&self) -> glib::Type {
3614        Self::static_type()
3615    }
3616}
3617
3618#[cfg(feature = "v24_12")]
3619#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
3620impl From<Stretch> for glib::Value {
3621    #[inline]
3622    fn from(v: Stretch) -> Self {
3623        ToValue::to_value(&v)
3624    }
3625}
3626
3627#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3628#[non_exhaustive]
3629#[doc(alias = "PopplerStructureBlockAlign")]
3630pub enum StructureBlockAlign {
3631    #[doc(alias = "POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE")]
3632    Before,
3633    #[doc(alias = "POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE")]
3634    Middle,
3635    #[doc(alias = "POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER")]
3636    After,
3637    #[doc(alias = "POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY")]
3638    Justify,
3639    #[doc(hidden)]
3640    __Unknown(i32),
3641}
3642
3643#[doc(hidden)]
3644impl IntoGlib for StructureBlockAlign {
3645    type GlibType = ffi::PopplerStructureBlockAlign;
3646
3647    #[inline]
3648    fn into_glib(self) -> ffi::PopplerStructureBlockAlign {
3649        match self {
3650            Self::Before => ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE,
3651            Self::Middle => ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE,
3652            Self::After => ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER,
3653            Self::Justify => ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY,
3654            Self::__Unknown(value) => value,
3655        }
3656    }
3657}
3658
3659#[doc(hidden)]
3660impl FromGlib<ffi::PopplerStructureBlockAlign> for StructureBlockAlign {
3661    #[inline]
3662    unsafe fn from_glib(value: ffi::PopplerStructureBlockAlign) -> Self {
3663        match value {
3664            ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_BEFORE => Self::Before,
3665            ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_MIDDLE => Self::Middle,
3666            ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_AFTER => Self::After,
3667            ffi::POPPLER_STRUCTURE_BLOCK_ALIGN_JUSTIFY => Self::Justify,
3668            value => Self::__Unknown(value),
3669        }
3670    }
3671}
3672
3673impl StaticType for StructureBlockAlign {
3674    #[inline]
3675    #[doc(alias = "poppler_structure_block_align_get_type")]
3676    fn static_type() -> glib::Type {
3677        unsafe { from_glib(ffi::poppler_structure_block_align_get_type()) }
3678    }
3679}
3680
3681impl glib::HasParamSpec for StructureBlockAlign {
3682    type ParamSpec = glib::ParamSpecEnum;
3683    type SetValue = Self;
3684    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3685
3686    fn param_spec_builder() -> Self::BuilderFn {
3687        Self::ParamSpec::builder_with_default
3688    }
3689}
3690
3691impl glib::value::ValueType for StructureBlockAlign {
3692    type Type = Self;
3693}
3694
3695unsafe impl<'a> glib::value::FromValue<'a> for StructureBlockAlign {
3696    type Checker = glib::value::GenericValueTypeChecker<Self>;
3697
3698    #[inline]
3699    unsafe fn from_value(value: &'a glib::Value) -> Self {
3700        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3701    }
3702}
3703
3704impl ToValue for StructureBlockAlign {
3705    #[inline]
3706    fn to_value(&self) -> glib::Value {
3707        let mut value = glib::Value::for_value_type::<Self>();
3708        unsafe {
3709            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3710        }
3711        value
3712    }
3713
3714    #[inline]
3715    fn value_type(&self) -> glib::Type {
3716        Self::static_type()
3717    }
3718}
3719
3720impl From<StructureBlockAlign> for glib::Value {
3721    #[inline]
3722    fn from(v: StructureBlockAlign) -> Self {
3723        ToValue::to_value(&v)
3724    }
3725}
3726
3727#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3728#[non_exhaustive]
3729#[doc(alias = "PopplerStructureBorderStyle")]
3730pub enum StructureBorderStyle {
3731    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_NONE")]
3732    None,
3733    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN")]
3734    Hidden,
3735    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_DOTTED")]
3736    Dotted,
3737    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_DASHED")]
3738    Dashed,
3739    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_SOLID")]
3740    Solid,
3741    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE")]
3742    Double,
3743    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_GROOVE")]
3744    Groove,
3745    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_INSET")]
3746    Inset,
3747    #[doc(alias = "POPPLER_STRUCTURE_BORDER_STYLE_OUTSET")]
3748    Outset,
3749    #[doc(hidden)]
3750    __Unknown(i32),
3751}
3752
3753#[doc(hidden)]
3754impl IntoGlib for StructureBorderStyle {
3755    type GlibType = ffi::PopplerStructureBorderStyle;
3756
3757    #[inline]
3758    fn into_glib(self) -> ffi::PopplerStructureBorderStyle {
3759        match self {
3760            Self::None => ffi::POPPLER_STRUCTURE_BORDER_STYLE_NONE,
3761            Self::Hidden => ffi::POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN,
3762            Self::Dotted => ffi::POPPLER_STRUCTURE_BORDER_STYLE_DOTTED,
3763            Self::Dashed => ffi::POPPLER_STRUCTURE_BORDER_STYLE_DASHED,
3764            Self::Solid => ffi::POPPLER_STRUCTURE_BORDER_STYLE_SOLID,
3765            Self::Double => ffi::POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE,
3766            Self::Groove => ffi::POPPLER_STRUCTURE_BORDER_STYLE_GROOVE,
3767            Self::Inset => ffi::POPPLER_STRUCTURE_BORDER_STYLE_INSET,
3768            Self::Outset => ffi::POPPLER_STRUCTURE_BORDER_STYLE_OUTSET,
3769            Self::__Unknown(value) => value,
3770        }
3771    }
3772}
3773
3774#[doc(hidden)]
3775impl FromGlib<ffi::PopplerStructureBorderStyle> for StructureBorderStyle {
3776    #[inline]
3777    unsafe fn from_glib(value: ffi::PopplerStructureBorderStyle) -> Self {
3778        match value {
3779            ffi::POPPLER_STRUCTURE_BORDER_STYLE_NONE => Self::None,
3780            ffi::POPPLER_STRUCTURE_BORDER_STYLE_HIDDEN => Self::Hidden,
3781            ffi::POPPLER_STRUCTURE_BORDER_STYLE_DOTTED => Self::Dotted,
3782            ffi::POPPLER_STRUCTURE_BORDER_STYLE_DASHED => Self::Dashed,
3783            ffi::POPPLER_STRUCTURE_BORDER_STYLE_SOLID => Self::Solid,
3784            ffi::POPPLER_STRUCTURE_BORDER_STYLE_DOUBLE => Self::Double,
3785            ffi::POPPLER_STRUCTURE_BORDER_STYLE_GROOVE => Self::Groove,
3786            ffi::POPPLER_STRUCTURE_BORDER_STYLE_INSET => Self::Inset,
3787            ffi::POPPLER_STRUCTURE_BORDER_STYLE_OUTSET => Self::Outset,
3788            value => Self::__Unknown(value),
3789        }
3790    }
3791}
3792
3793impl StaticType for StructureBorderStyle {
3794    #[inline]
3795    #[doc(alias = "poppler_structure_border_style_get_type")]
3796    fn static_type() -> glib::Type {
3797        unsafe { from_glib(ffi::poppler_structure_border_style_get_type()) }
3798    }
3799}
3800
3801impl glib::HasParamSpec for StructureBorderStyle {
3802    type ParamSpec = glib::ParamSpecEnum;
3803    type SetValue = Self;
3804    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
3805
3806    fn param_spec_builder() -> Self::BuilderFn {
3807        Self::ParamSpec::builder_with_default
3808    }
3809}
3810
3811impl glib::value::ValueType for StructureBorderStyle {
3812    type Type = Self;
3813}
3814
3815unsafe impl<'a> glib::value::FromValue<'a> for StructureBorderStyle {
3816    type Checker = glib::value::GenericValueTypeChecker<Self>;
3817
3818    #[inline]
3819    unsafe fn from_value(value: &'a glib::Value) -> Self {
3820        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
3821    }
3822}
3823
3824impl ToValue for StructureBorderStyle {
3825    #[inline]
3826    fn to_value(&self) -> glib::Value {
3827        let mut value = glib::Value::for_value_type::<Self>();
3828        unsafe {
3829            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
3830        }
3831        value
3832    }
3833
3834    #[inline]
3835    fn value_type(&self) -> glib::Type {
3836        Self::static_type()
3837    }
3838}
3839
3840impl From<StructureBorderStyle> for glib::Value {
3841    #[inline]
3842    fn from(v: StructureBorderStyle) -> Self {
3843        ToValue::to_value(&v)
3844    }
3845}
3846
3847#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
3848#[non_exhaustive]
3849#[doc(alias = "PopplerStructureElementKind")]
3850pub enum StructureElementKind {
3851    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_CONTENT")]
3852    Content,
3853    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE")]
3854    ObjectReference,
3855    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_DOCUMENT")]
3856    Document,
3857    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_PART")]
3858    Part,
3859    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_ARTICLE")]
3860    Article,
3861    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_SECTION")]
3862    Section,
3863    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_DIV")]
3864    Div,
3865    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_SPAN")]
3866    Span,
3867    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_QUOTE")]
3868    Quote,
3869    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_NOTE")]
3870    Note,
3871    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_REFERENCE")]
3872    Reference,
3873    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_BIBENTRY")]
3874    Bibentry,
3875    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_CODE")]
3876    Code,
3877    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_LINK")]
3878    Link,
3879    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_ANNOT")]
3880    Annot,
3881    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE")]
3882    Blockquote,
3883    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_CAPTION")]
3884    Caption,
3885    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_NONSTRUCT")]
3886    Nonstruct,
3887    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TOC")]
3888    Toc,
3889    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TOC_ITEM")]
3890    TocItem,
3891    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_INDEX")]
3892    Index,
3893    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_PRIVATE")]
3894    Private,
3895    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_PARAGRAPH")]
3896    Paragraph,
3897    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING")]
3898    Heading,
3899    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_1")]
3900    Heading1,
3901    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_2")]
3902    Heading2,
3903    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_3")]
3904    Heading3,
3905    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_4")]
3906    Heading4,
3907    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_5")]
3908    Heading5,
3909    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_HEADING_6")]
3910    Heading6,
3911    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_LIST")]
3912    List,
3913    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_LIST_ITEM")]
3914    ListItem,
3915    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_LIST_LABEL")]
3916    ListLabel,
3917    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_LIST_BODY")]
3918    ListBody,
3919    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE")]
3920    Table,
3921    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_ROW")]
3922    TableRow,
3923    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING")]
3924    TableHeading,
3925    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_DATA")]
3926    TableData,
3927    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER")]
3928    TableHeader,
3929    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER")]
3930    TableFooter,
3931    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_TABLE_BODY")]
3932    TableBody,
3933    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_RUBY")]
3934    Ruby,
3935    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT")]
3936    RubyBaseText,
3937    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT")]
3938    RubyAnnotText,
3939    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION")]
3940    RubyPunctuation,
3941    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_WARICHU")]
3942    Warichu,
3943    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT")]
3944    WarichuText,
3945    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION")]
3946    WarichuPunctuation,
3947    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_FIGURE")]
3948    Figure,
3949    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_FORMULA")]
3950    Formula,
3951    #[doc(alias = "POPPLER_STRUCTURE_ELEMENT_FORM")]
3952    Form,
3953    #[doc(hidden)]
3954    __Unknown(i32),
3955}
3956
3957#[doc(hidden)]
3958impl IntoGlib for StructureElementKind {
3959    type GlibType = ffi::PopplerStructureElementKind;
3960
3961    fn into_glib(self) -> ffi::PopplerStructureElementKind {
3962        match self {
3963            Self::Content => ffi::POPPLER_STRUCTURE_ELEMENT_CONTENT,
3964            Self::ObjectReference => ffi::POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE,
3965            Self::Document => ffi::POPPLER_STRUCTURE_ELEMENT_DOCUMENT,
3966            Self::Part => ffi::POPPLER_STRUCTURE_ELEMENT_PART,
3967            Self::Article => ffi::POPPLER_STRUCTURE_ELEMENT_ARTICLE,
3968            Self::Section => ffi::POPPLER_STRUCTURE_ELEMENT_SECTION,
3969            Self::Div => ffi::POPPLER_STRUCTURE_ELEMENT_DIV,
3970            Self::Span => ffi::POPPLER_STRUCTURE_ELEMENT_SPAN,
3971            Self::Quote => ffi::POPPLER_STRUCTURE_ELEMENT_QUOTE,
3972            Self::Note => ffi::POPPLER_STRUCTURE_ELEMENT_NOTE,
3973            Self::Reference => ffi::POPPLER_STRUCTURE_ELEMENT_REFERENCE,
3974            Self::Bibentry => ffi::POPPLER_STRUCTURE_ELEMENT_BIBENTRY,
3975            Self::Code => ffi::POPPLER_STRUCTURE_ELEMENT_CODE,
3976            Self::Link => ffi::POPPLER_STRUCTURE_ELEMENT_LINK,
3977            Self::Annot => ffi::POPPLER_STRUCTURE_ELEMENT_ANNOT,
3978            Self::Blockquote => ffi::POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE,
3979            Self::Caption => ffi::POPPLER_STRUCTURE_ELEMENT_CAPTION,
3980            Self::Nonstruct => ffi::POPPLER_STRUCTURE_ELEMENT_NONSTRUCT,
3981            Self::Toc => ffi::POPPLER_STRUCTURE_ELEMENT_TOC,
3982            Self::TocItem => ffi::POPPLER_STRUCTURE_ELEMENT_TOC_ITEM,
3983            Self::Index => ffi::POPPLER_STRUCTURE_ELEMENT_INDEX,
3984            Self::Private => ffi::POPPLER_STRUCTURE_ELEMENT_PRIVATE,
3985            Self::Paragraph => ffi::POPPLER_STRUCTURE_ELEMENT_PARAGRAPH,
3986            Self::Heading => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING,
3987            Self::Heading1 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_1,
3988            Self::Heading2 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_2,
3989            Self::Heading3 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_3,
3990            Self::Heading4 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_4,
3991            Self::Heading5 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_5,
3992            Self::Heading6 => ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_6,
3993            Self::List => ffi::POPPLER_STRUCTURE_ELEMENT_LIST,
3994            Self::ListItem => ffi::POPPLER_STRUCTURE_ELEMENT_LIST_ITEM,
3995            Self::ListLabel => ffi::POPPLER_STRUCTURE_ELEMENT_LIST_LABEL,
3996            Self::ListBody => ffi::POPPLER_STRUCTURE_ELEMENT_LIST_BODY,
3997            Self::Table => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE,
3998            Self::TableRow => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_ROW,
3999            Self::TableHeading => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING,
4000            Self::TableData => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_DATA,
4001            Self::TableHeader => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER,
4002            Self::TableFooter => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER,
4003            Self::TableBody => ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_BODY,
4004            Self::Ruby => ffi::POPPLER_STRUCTURE_ELEMENT_RUBY,
4005            Self::RubyBaseText => ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT,
4006            Self::RubyAnnotText => ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT,
4007            Self::RubyPunctuation => ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION,
4008            Self::Warichu => ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU,
4009            Self::WarichuText => ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT,
4010            Self::WarichuPunctuation => ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION,
4011            Self::Figure => ffi::POPPLER_STRUCTURE_ELEMENT_FIGURE,
4012            Self::Formula => ffi::POPPLER_STRUCTURE_ELEMENT_FORMULA,
4013            Self::Form => ffi::POPPLER_STRUCTURE_ELEMENT_FORM,
4014            Self::__Unknown(value) => value,
4015        }
4016    }
4017}
4018
4019#[doc(hidden)]
4020impl FromGlib<ffi::PopplerStructureElementKind> for StructureElementKind {
4021    unsafe fn from_glib(value: ffi::PopplerStructureElementKind) -> Self {
4022        match value {
4023            ffi::POPPLER_STRUCTURE_ELEMENT_CONTENT => Self::Content,
4024            ffi::POPPLER_STRUCTURE_ELEMENT_OBJECT_REFERENCE => Self::ObjectReference,
4025            ffi::POPPLER_STRUCTURE_ELEMENT_DOCUMENT => Self::Document,
4026            ffi::POPPLER_STRUCTURE_ELEMENT_PART => Self::Part,
4027            ffi::POPPLER_STRUCTURE_ELEMENT_ARTICLE => Self::Article,
4028            ffi::POPPLER_STRUCTURE_ELEMENT_SECTION => Self::Section,
4029            ffi::POPPLER_STRUCTURE_ELEMENT_DIV => Self::Div,
4030            ffi::POPPLER_STRUCTURE_ELEMENT_SPAN => Self::Span,
4031            ffi::POPPLER_STRUCTURE_ELEMENT_QUOTE => Self::Quote,
4032            ffi::POPPLER_STRUCTURE_ELEMENT_NOTE => Self::Note,
4033            ffi::POPPLER_STRUCTURE_ELEMENT_REFERENCE => Self::Reference,
4034            ffi::POPPLER_STRUCTURE_ELEMENT_BIBENTRY => Self::Bibentry,
4035            ffi::POPPLER_STRUCTURE_ELEMENT_CODE => Self::Code,
4036            ffi::POPPLER_STRUCTURE_ELEMENT_LINK => Self::Link,
4037            ffi::POPPLER_STRUCTURE_ELEMENT_ANNOT => Self::Annot,
4038            ffi::POPPLER_STRUCTURE_ELEMENT_BLOCKQUOTE => Self::Blockquote,
4039            ffi::POPPLER_STRUCTURE_ELEMENT_CAPTION => Self::Caption,
4040            ffi::POPPLER_STRUCTURE_ELEMENT_NONSTRUCT => Self::Nonstruct,
4041            ffi::POPPLER_STRUCTURE_ELEMENT_TOC => Self::Toc,
4042            ffi::POPPLER_STRUCTURE_ELEMENT_TOC_ITEM => Self::TocItem,
4043            ffi::POPPLER_STRUCTURE_ELEMENT_INDEX => Self::Index,
4044            ffi::POPPLER_STRUCTURE_ELEMENT_PRIVATE => Self::Private,
4045            ffi::POPPLER_STRUCTURE_ELEMENT_PARAGRAPH => Self::Paragraph,
4046            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING => Self::Heading,
4047            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_1 => Self::Heading1,
4048            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_2 => Self::Heading2,
4049            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_3 => Self::Heading3,
4050            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_4 => Self::Heading4,
4051            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_5 => Self::Heading5,
4052            ffi::POPPLER_STRUCTURE_ELEMENT_HEADING_6 => Self::Heading6,
4053            ffi::POPPLER_STRUCTURE_ELEMENT_LIST => Self::List,
4054            ffi::POPPLER_STRUCTURE_ELEMENT_LIST_ITEM => Self::ListItem,
4055            ffi::POPPLER_STRUCTURE_ELEMENT_LIST_LABEL => Self::ListLabel,
4056            ffi::POPPLER_STRUCTURE_ELEMENT_LIST_BODY => Self::ListBody,
4057            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE => Self::Table,
4058            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_ROW => Self::TableRow,
4059            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_HEADING => Self::TableHeading,
4060            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_DATA => Self::TableData,
4061            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_HEADER => Self::TableHeader,
4062            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_FOOTER => Self::TableFooter,
4063            ffi::POPPLER_STRUCTURE_ELEMENT_TABLE_BODY => Self::TableBody,
4064            ffi::POPPLER_STRUCTURE_ELEMENT_RUBY => Self::Ruby,
4065            ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_BASE_TEXT => Self::RubyBaseText,
4066            ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_ANNOT_TEXT => Self::RubyAnnotText,
4067            ffi::POPPLER_STRUCTURE_ELEMENT_RUBY_PUNCTUATION => Self::RubyPunctuation,
4068            ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU => Self::Warichu,
4069            ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU_TEXT => Self::WarichuText,
4070            ffi::POPPLER_STRUCTURE_ELEMENT_WARICHU_PUNCTUATION => Self::WarichuPunctuation,
4071            ffi::POPPLER_STRUCTURE_ELEMENT_FIGURE => Self::Figure,
4072            ffi::POPPLER_STRUCTURE_ELEMENT_FORMULA => Self::Formula,
4073            ffi::POPPLER_STRUCTURE_ELEMENT_FORM => Self::Form,
4074            value => Self::__Unknown(value),
4075        }
4076    }
4077}
4078
4079impl StaticType for StructureElementKind {
4080    #[inline]
4081    #[doc(alias = "poppler_structure_element_kind_get_type")]
4082    fn static_type() -> glib::Type {
4083        unsafe { from_glib(ffi::poppler_structure_element_kind_get_type()) }
4084    }
4085}
4086
4087impl glib::HasParamSpec for StructureElementKind {
4088    type ParamSpec = glib::ParamSpecEnum;
4089    type SetValue = Self;
4090    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4091
4092    fn param_spec_builder() -> Self::BuilderFn {
4093        Self::ParamSpec::builder_with_default
4094    }
4095}
4096
4097impl glib::value::ValueType for StructureElementKind {
4098    type Type = Self;
4099}
4100
4101unsafe impl<'a> glib::value::FromValue<'a> for StructureElementKind {
4102    type Checker = glib::value::GenericValueTypeChecker<Self>;
4103
4104    #[inline]
4105    unsafe fn from_value(value: &'a glib::Value) -> Self {
4106        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4107    }
4108}
4109
4110impl ToValue for StructureElementKind {
4111    #[inline]
4112    fn to_value(&self) -> glib::Value {
4113        let mut value = glib::Value::for_value_type::<Self>();
4114        unsafe {
4115            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4116        }
4117        value
4118    }
4119
4120    #[inline]
4121    fn value_type(&self) -> glib::Type {
4122        Self::static_type()
4123    }
4124}
4125
4126impl From<StructureElementKind> for glib::Value {
4127    #[inline]
4128    fn from(v: StructureElementKind) -> Self {
4129        ToValue::to_value(&v)
4130    }
4131}
4132
4133#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4134#[non_exhaustive]
4135#[doc(alias = "PopplerStructureFormRole")]
4136pub enum StructureFormRole {
4137    #[doc(alias = "POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED")]
4138    Undefined,
4139    #[doc(alias = "POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON")]
4140    RadioButton,
4141    #[doc(alias = "POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON")]
4142    PushButton,
4143    #[doc(alias = "POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE")]
4144    TextValue,
4145    #[doc(alias = "POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX")]
4146    Checkbox,
4147    #[doc(hidden)]
4148    __Unknown(i32),
4149}
4150
4151#[doc(hidden)]
4152impl IntoGlib for StructureFormRole {
4153    type GlibType = ffi::PopplerStructureFormRole;
4154
4155    #[inline]
4156    fn into_glib(self) -> ffi::PopplerStructureFormRole {
4157        match self {
4158            Self::Undefined => ffi::POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED,
4159            Self::RadioButton => ffi::POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON,
4160            Self::PushButton => ffi::POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON,
4161            Self::TextValue => ffi::POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE,
4162            Self::Checkbox => ffi::POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX,
4163            Self::__Unknown(value) => value,
4164        }
4165    }
4166}
4167
4168#[doc(hidden)]
4169impl FromGlib<ffi::PopplerStructureFormRole> for StructureFormRole {
4170    #[inline]
4171    unsafe fn from_glib(value: ffi::PopplerStructureFormRole) -> Self {
4172        match value {
4173            ffi::POPPLER_STRUCTURE_FORM_ROLE_UNDEFINED => Self::Undefined,
4174            ffi::POPPLER_STRUCTURE_FORM_ROLE_RADIO_BUTTON => Self::RadioButton,
4175            ffi::POPPLER_STRUCTURE_FORM_ROLE_PUSH_BUTTON => Self::PushButton,
4176            ffi::POPPLER_STRUCTURE_FORM_ROLE_TEXT_VALUE => Self::TextValue,
4177            ffi::POPPLER_STRUCTURE_FORM_ROLE_CHECKBOX => Self::Checkbox,
4178            value => Self::__Unknown(value),
4179        }
4180    }
4181}
4182
4183impl StaticType for StructureFormRole {
4184    #[inline]
4185    #[doc(alias = "poppler_structure_form_role_get_type")]
4186    fn static_type() -> glib::Type {
4187        unsafe { from_glib(ffi::poppler_structure_form_role_get_type()) }
4188    }
4189}
4190
4191impl glib::HasParamSpec for StructureFormRole {
4192    type ParamSpec = glib::ParamSpecEnum;
4193    type SetValue = Self;
4194    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4195
4196    fn param_spec_builder() -> Self::BuilderFn {
4197        Self::ParamSpec::builder_with_default
4198    }
4199}
4200
4201impl glib::value::ValueType for StructureFormRole {
4202    type Type = Self;
4203}
4204
4205unsafe impl<'a> glib::value::FromValue<'a> for StructureFormRole {
4206    type Checker = glib::value::GenericValueTypeChecker<Self>;
4207
4208    #[inline]
4209    unsafe fn from_value(value: &'a glib::Value) -> Self {
4210        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4211    }
4212}
4213
4214impl ToValue for StructureFormRole {
4215    #[inline]
4216    fn to_value(&self) -> glib::Value {
4217        let mut value = glib::Value::for_value_type::<Self>();
4218        unsafe {
4219            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4220        }
4221        value
4222    }
4223
4224    #[inline]
4225    fn value_type(&self) -> glib::Type {
4226        Self::static_type()
4227    }
4228}
4229
4230impl From<StructureFormRole> for glib::Value {
4231    #[inline]
4232    fn from(v: StructureFormRole) -> Self {
4233        ToValue::to_value(&v)
4234    }
4235}
4236
4237#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4238#[non_exhaustive]
4239#[doc(alias = "PopplerStructureFormState")]
4240pub enum StructureFormState {
4241    #[doc(alias = "POPPLER_STRUCTURE_FORM_STATE_ON")]
4242    On,
4243    #[doc(alias = "POPPLER_STRUCTURE_FORM_STATE_OFF")]
4244    Off,
4245    #[doc(alias = "POPPLER_STRUCTURE_FORM_STATE_NEUTRAL")]
4246    Neutral,
4247    #[doc(hidden)]
4248    __Unknown(i32),
4249}
4250
4251#[doc(hidden)]
4252impl IntoGlib for StructureFormState {
4253    type GlibType = ffi::PopplerStructureFormState;
4254
4255    #[inline]
4256    fn into_glib(self) -> ffi::PopplerStructureFormState {
4257        match self {
4258            Self::On => ffi::POPPLER_STRUCTURE_FORM_STATE_ON,
4259            Self::Off => ffi::POPPLER_STRUCTURE_FORM_STATE_OFF,
4260            Self::Neutral => ffi::POPPLER_STRUCTURE_FORM_STATE_NEUTRAL,
4261            Self::__Unknown(value) => value,
4262        }
4263    }
4264}
4265
4266#[doc(hidden)]
4267impl FromGlib<ffi::PopplerStructureFormState> for StructureFormState {
4268    #[inline]
4269    unsafe fn from_glib(value: ffi::PopplerStructureFormState) -> Self {
4270        match value {
4271            ffi::POPPLER_STRUCTURE_FORM_STATE_ON => Self::On,
4272            ffi::POPPLER_STRUCTURE_FORM_STATE_OFF => Self::Off,
4273            ffi::POPPLER_STRUCTURE_FORM_STATE_NEUTRAL => Self::Neutral,
4274            value => Self::__Unknown(value),
4275        }
4276    }
4277}
4278
4279impl StaticType for StructureFormState {
4280    #[inline]
4281    #[doc(alias = "poppler_structure_form_state_get_type")]
4282    fn static_type() -> glib::Type {
4283        unsafe { from_glib(ffi::poppler_structure_form_state_get_type()) }
4284    }
4285}
4286
4287impl glib::HasParamSpec for StructureFormState {
4288    type ParamSpec = glib::ParamSpecEnum;
4289    type SetValue = Self;
4290    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4291
4292    fn param_spec_builder() -> Self::BuilderFn {
4293        Self::ParamSpec::builder_with_default
4294    }
4295}
4296
4297impl glib::value::ValueType for StructureFormState {
4298    type Type = Self;
4299}
4300
4301unsafe impl<'a> glib::value::FromValue<'a> for StructureFormState {
4302    type Checker = glib::value::GenericValueTypeChecker<Self>;
4303
4304    #[inline]
4305    unsafe fn from_value(value: &'a glib::Value) -> Self {
4306        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4307    }
4308}
4309
4310impl ToValue for StructureFormState {
4311    #[inline]
4312    fn to_value(&self) -> glib::Value {
4313        let mut value = glib::Value::for_value_type::<Self>();
4314        unsafe {
4315            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4316        }
4317        value
4318    }
4319
4320    #[inline]
4321    fn value_type(&self) -> glib::Type {
4322        Self::static_type()
4323    }
4324}
4325
4326impl From<StructureFormState> for glib::Value {
4327    #[inline]
4328    fn from(v: StructureFormState) -> Self {
4329        ToValue::to_value(&v)
4330    }
4331}
4332
4333#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4334#[non_exhaustive]
4335#[doc(alias = "PopplerStructureGlyphOrientation")]
4336pub enum StructureGlyphOrientation {
4337    #[doc(alias = "POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO")]
4338    Auto,
4339    #[doc(alias = "POPPLER_STRUCTURE_GLYPH_ORIENTATION_90")]
4340    _90,
4341    #[doc(alias = "POPPLER_STRUCTURE_GLYPH_ORIENTATION_180")]
4342    _180,
4343    #[doc(alias = "POPPLER_STRUCTURE_GLYPH_ORIENTATION_270")]
4344    _270,
4345    #[doc(hidden)]
4346    __Unknown(i32),
4347}
4348
4349#[doc(hidden)]
4350impl IntoGlib for StructureGlyphOrientation {
4351    type GlibType = ffi::PopplerStructureGlyphOrientation;
4352
4353    #[inline]
4354    fn into_glib(self) -> ffi::PopplerStructureGlyphOrientation {
4355        match self {
4356            Self::Auto => ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO,
4357            Self::_90 => ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_90,
4358            Self::_180 => ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_180,
4359            Self::_270 => ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_270,
4360            Self::__Unknown(value) => value,
4361        }
4362    }
4363}
4364
4365#[doc(hidden)]
4366impl FromGlib<ffi::PopplerStructureGlyphOrientation> for StructureGlyphOrientation {
4367    #[inline]
4368    unsafe fn from_glib(value: ffi::PopplerStructureGlyphOrientation) -> Self {
4369        match value {
4370            ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_AUTO => Self::Auto,
4371            ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_90 => Self::_90,
4372            ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_180 => Self::_180,
4373            ffi::POPPLER_STRUCTURE_GLYPH_ORIENTATION_270 => Self::_270,
4374            value => Self::__Unknown(value),
4375        }
4376    }
4377}
4378
4379impl StaticType for StructureGlyphOrientation {
4380    #[inline]
4381    #[doc(alias = "poppler_structure_glyph_orientation_get_type")]
4382    fn static_type() -> glib::Type {
4383        unsafe { from_glib(ffi::poppler_structure_glyph_orientation_get_type()) }
4384    }
4385}
4386
4387impl glib::HasParamSpec for StructureGlyphOrientation {
4388    type ParamSpec = glib::ParamSpecEnum;
4389    type SetValue = Self;
4390    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4391
4392    fn param_spec_builder() -> Self::BuilderFn {
4393        Self::ParamSpec::builder_with_default
4394    }
4395}
4396
4397impl glib::value::ValueType for StructureGlyphOrientation {
4398    type Type = Self;
4399}
4400
4401unsafe impl<'a> glib::value::FromValue<'a> for StructureGlyphOrientation {
4402    type Checker = glib::value::GenericValueTypeChecker<Self>;
4403
4404    #[inline]
4405    unsafe fn from_value(value: &'a glib::Value) -> Self {
4406        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4407    }
4408}
4409
4410impl ToValue for StructureGlyphOrientation {
4411    #[inline]
4412    fn to_value(&self) -> glib::Value {
4413        let mut value = glib::Value::for_value_type::<Self>();
4414        unsafe {
4415            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4416        }
4417        value
4418    }
4419
4420    #[inline]
4421    fn value_type(&self) -> glib::Type {
4422        Self::static_type()
4423    }
4424}
4425
4426impl From<StructureGlyphOrientation> for glib::Value {
4427    #[inline]
4428    fn from(v: StructureGlyphOrientation) -> Self {
4429        ToValue::to_value(&v)
4430    }
4431}
4432
4433#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4434#[non_exhaustive]
4435#[doc(alias = "PopplerStructureInlineAlign")]
4436pub enum StructureInlineAlign {
4437    #[doc(alias = "POPPLER_STRUCTURE_INLINE_ALIGN_START")]
4438    Start,
4439    #[doc(alias = "POPPLER_STRUCTURE_INLINE_ALIGN_CENTER")]
4440    Center,
4441    #[doc(alias = "POPPLER_STRUCTURE_INLINE_ALIGN_END")]
4442    End,
4443    #[doc(hidden)]
4444    __Unknown(i32),
4445}
4446
4447#[doc(hidden)]
4448impl IntoGlib for StructureInlineAlign {
4449    type GlibType = ffi::PopplerStructureInlineAlign;
4450
4451    #[inline]
4452    fn into_glib(self) -> ffi::PopplerStructureInlineAlign {
4453        match self {
4454            Self::Start => ffi::POPPLER_STRUCTURE_INLINE_ALIGN_START,
4455            Self::Center => ffi::POPPLER_STRUCTURE_INLINE_ALIGN_CENTER,
4456            Self::End => ffi::POPPLER_STRUCTURE_INLINE_ALIGN_END,
4457            Self::__Unknown(value) => value,
4458        }
4459    }
4460}
4461
4462#[doc(hidden)]
4463impl FromGlib<ffi::PopplerStructureInlineAlign> for StructureInlineAlign {
4464    #[inline]
4465    unsafe fn from_glib(value: ffi::PopplerStructureInlineAlign) -> Self {
4466        match value {
4467            ffi::POPPLER_STRUCTURE_INLINE_ALIGN_START => Self::Start,
4468            ffi::POPPLER_STRUCTURE_INLINE_ALIGN_CENTER => Self::Center,
4469            ffi::POPPLER_STRUCTURE_INLINE_ALIGN_END => Self::End,
4470            value => Self::__Unknown(value),
4471        }
4472    }
4473}
4474
4475impl StaticType for StructureInlineAlign {
4476    #[inline]
4477    #[doc(alias = "poppler_structure_inline_align_get_type")]
4478    fn static_type() -> glib::Type {
4479        unsafe { from_glib(ffi::poppler_structure_inline_align_get_type()) }
4480    }
4481}
4482
4483impl glib::HasParamSpec for StructureInlineAlign {
4484    type ParamSpec = glib::ParamSpecEnum;
4485    type SetValue = Self;
4486    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4487
4488    fn param_spec_builder() -> Self::BuilderFn {
4489        Self::ParamSpec::builder_with_default
4490    }
4491}
4492
4493impl glib::value::ValueType for StructureInlineAlign {
4494    type Type = Self;
4495}
4496
4497unsafe impl<'a> glib::value::FromValue<'a> for StructureInlineAlign {
4498    type Checker = glib::value::GenericValueTypeChecker<Self>;
4499
4500    #[inline]
4501    unsafe fn from_value(value: &'a glib::Value) -> Self {
4502        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4503    }
4504}
4505
4506impl ToValue for StructureInlineAlign {
4507    #[inline]
4508    fn to_value(&self) -> glib::Value {
4509        let mut value = glib::Value::for_value_type::<Self>();
4510        unsafe {
4511            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4512        }
4513        value
4514    }
4515
4516    #[inline]
4517    fn value_type(&self) -> glib::Type {
4518        Self::static_type()
4519    }
4520}
4521
4522impl From<StructureInlineAlign> for glib::Value {
4523    #[inline]
4524    fn from(v: StructureInlineAlign) -> Self {
4525        ToValue::to_value(&v)
4526    }
4527}
4528
4529#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4530#[non_exhaustive]
4531#[doc(alias = "PopplerStructureListNumbering")]
4532pub enum StructureListNumbering {
4533    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_NONE")]
4534    None,
4535    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_DISC")]
4536    Disc,
4537    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE")]
4538    Circle,
4539    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE")]
4540    Square,
4541    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL")]
4542    Decimal,
4543    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN")]
4544    UpperRoman,
4545    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN")]
4546    LowerRoman,
4547    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA")]
4548    UpperAlpha,
4549    #[doc(alias = "POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA")]
4550    LowerAlpha,
4551    #[doc(hidden)]
4552    __Unknown(i32),
4553}
4554
4555#[doc(hidden)]
4556impl IntoGlib for StructureListNumbering {
4557    type GlibType = ffi::PopplerStructureListNumbering;
4558
4559    #[inline]
4560    fn into_glib(self) -> ffi::PopplerStructureListNumbering {
4561        match self {
4562            Self::None => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_NONE,
4563            Self::Disc => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_DISC,
4564            Self::Circle => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE,
4565            Self::Square => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE,
4566            Self::Decimal => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL,
4567            Self::UpperRoman => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN,
4568            Self::LowerRoman => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN,
4569            Self::UpperAlpha => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA,
4570            Self::LowerAlpha => ffi::POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA,
4571            Self::__Unknown(value) => value,
4572        }
4573    }
4574}
4575
4576#[doc(hidden)]
4577impl FromGlib<ffi::PopplerStructureListNumbering> for StructureListNumbering {
4578    #[inline]
4579    unsafe fn from_glib(value: ffi::PopplerStructureListNumbering) -> Self {
4580        match value {
4581            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_NONE => Self::None,
4582            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_DISC => Self::Disc,
4583            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_CIRCLE => Self::Circle,
4584            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_SQUARE => Self::Square,
4585            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_DECIMAL => Self::Decimal,
4586            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ROMAN => Self::UpperRoman,
4587            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ROMAN => Self::LowerRoman,
4588            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_UPPER_ALPHA => Self::UpperAlpha,
4589            ffi::POPPLER_STRUCTURE_LIST_NUMBERING_LOWER_ALPHA => Self::LowerAlpha,
4590            value => Self::__Unknown(value),
4591        }
4592    }
4593}
4594
4595impl StaticType for StructureListNumbering {
4596    #[inline]
4597    #[doc(alias = "poppler_structure_list_numbering_get_type")]
4598    fn static_type() -> glib::Type {
4599        unsafe { from_glib(ffi::poppler_structure_list_numbering_get_type()) }
4600    }
4601}
4602
4603impl glib::HasParamSpec for StructureListNumbering {
4604    type ParamSpec = glib::ParamSpecEnum;
4605    type SetValue = Self;
4606    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4607
4608    fn param_spec_builder() -> Self::BuilderFn {
4609        Self::ParamSpec::builder_with_default
4610    }
4611}
4612
4613impl glib::value::ValueType for StructureListNumbering {
4614    type Type = Self;
4615}
4616
4617unsafe impl<'a> glib::value::FromValue<'a> for StructureListNumbering {
4618    type Checker = glib::value::GenericValueTypeChecker<Self>;
4619
4620    #[inline]
4621    unsafe fn from_value(value: &'a glib::Value) -> Self {
4622        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4623    }
4624}
4625
4626impl ToValue for StructureListNumbering {
4627    #[inline]
4628    fn to_value(&self) -> glib::Value {
4629        let mut value = glib::Value::for_value_type::<Self>();
4630        unsafe {
4631            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4632        }
4633        value
4634    }
4635
4636    #[inline]
4637    fn value_type(&self) -> glib::Type {
4638        Self::static_type()
4639    }
4640}
4641
4642impl From<StructureListNumbering> for glib::Value {
4643    #[inline]
4644    fn from(v: StructureListNumbering) -> Self {
4645        ToValue::to_value(&v)
4646    }
4647}
4648
4649#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4650#[non_exhaustive]
4651#[doc(alias = "PopplerStructurePlacement")]
4652pub enum StructurePlacement {
4653    #[doc(alias = "POPPLER_STRUCTURE_PLACEMENT_BLOCK")]
4654    Block,
4655    #[doc(alias = "POPPLER_STRUCTURE_PLACEMENT_INLINE")]
4656    Inline,
4657    #[doc(alias = "POPPLER_STRUCTURE_PLACEMENT_BEFORE")]
4658    Before,
4659    #[doc(alias = "POPPLER_STRUCTURE_PLACEMENT_START")]
4660    Start,
4661    #[doc(alias = "POPPLER_STRUCTURE_PLACEMENT_END")]
4662    End,
4663    #[doc(hidden)]
4664    __Unknown(i32),
4665}
4666
4667#[doc(hidden)]
4668impl IntoGlib for StructurePlacement {
4669    type GlibType = ffi::PopplerStructurePlacement;
4670
4671    #[inline]
4672    fn into_glib(self) -> ffi::PopplerStructurePlacement {
4673        match self {
4674            Self::Block => ffi::POPPLER_STRUCTURE_PLACEMENT_BLOCK,
4675            Self::Inline => ffi::POPPLER_STRUCTURE_PLACEMENT_INLINE,
4676            Self::Before => ffi::POPPLER_STRUCTURE_PLACEMENT_BEFORE,
4677            Self::Start => ffi::POPPLER_STRUCTURE_PLACEMENT_START,
4678            Self::End => ffi::POPPLER_STRUCTURE_PLACEMENT_END,
4679            Self::__Unknown(value) => value,
4680        }
4681    }
4682}
4683
4684#[doc(hidden)]
4685impl FromGlib<ffi::PopplerStructurePlacement> for StructurePlacement {
4686    #[inline]
4687    unsafe fn from_glib(value: ffi::PopplerStructurePlacement) -> Self {
4688        match value {
4689            ffi::POPPLER_STRUCTURE_PLACEMENT_BLOCK => Self::Block,
4690            ffi::POPPLER_STRUCTURE_PLACEMENT_INLINE => Self::Inline,
4691            ffi::POPPLER_STRUCTURE_PLACEMENT_BEFORE => Self::Before,
4692            ffi::POPPLER_STRUCTURE_PLACEMENT_START => Self::Start,
4693            ffi::POPPLER_STRUCTURE_PLACEMENT_END => Self::End,
4694            value => Self::__Unknown(value),
4695        }
4696    }
4697}
4698
4699impl StaticType for StructurePlacement {
4700    #[inline]
4701    #[doc(alias = "poppler_structure_placement_get_type")]
4702    fn static_type() -> glib::Type {
4703        unsafe { from_glib(ffi::poppler_structure_placement_get_type()) }
4704    }
4705}
4706
4707impl glib::HasParamSpec for StructurePlacement {
4708    type ParamSpec = glib::ParamSpecEnum;
4709    type SetValue = Self;
4710    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4711
4712    fn param_spec_builder() -> Self::BuilderFn {
4713        Self::ParamSpec::builder_with_default
4714    }
4715}
4716
4717impl glib::value::ValueType for StructurePlacement {
4718    type Type = Self;
4719}
4720
4721unsafe impl<'a> glib::value::FromValue<'a> for StructurePlacement {
4722    type Checker = glib::value::GenericValueTypeChecker<Self>;
4723
4724    #[inline]
4725    unsafe fn from_value(value: &'a glib::Value) -> Self {
4726        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4727    }
4728}
4729
4730impl ToValue for StructurePlacement {
4731    #[inline]
4732    fn to_value(&self) -> glib::Value {
4733        let mut value = glib::Value::for_value_type::<Self>();
4734        unsafe {
4735            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4736        }
4737        value
4738    }
4739
4740    #[inline]
4741    fn value_type(&self) -> glib::Type {
4742        Self::static_type()
4743    }
4744}
4745
4746impl From<StructurePlacement> for glib::Value {
4747    #[inline]
4748    fn from(v: StructurePlacement) -> Self {
4749        ToValue::to_value(&v)
4750    }
4751}
4752
4753#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4754#[non_exhaustive]
4755#[doc(alias = "PopplerStructureRubyAlign")]
4756pub enum StructureRubyAlign {
4757    #[doc(alias = "POPPLER_STRUCTURE_RUBY_ALIGN_START")]
4758    Start,
4759    #[doc(alias = "POPPLER_STRUCTURE_RUBY_ALIGN_CENTER")]
4760    Center,
4761    #[doc(alias = "POPPLER_STRUCTURE_RUBY_ALIGN_END")]
4762    End,
4763    #[doc(alias = "POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY")]
4764    Justify,
4765    #[doc(alias = "POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE")]
4766    Distribute,
4767    #[doc(hidden)]
4768    __Unknown(i32),
4769}
4770
4771#[doc(hidden)]
4772impl IntoGlib for StructureRubyAlign {
4773    type GlibType = ffi::PopplerStructureRubyAlign;
4774
4775    #[inline]
4776    fn into_glib(self) -> ffi::PopplerStructureRubyAlign {
4777        match self {
4778            Self::Start => ffi::POPPLER_STRUCTURE_RUBY_ALIGN_START,
4779            Self::Center => ffi::POPPLER_STRUCTURE_RUBY_ALIGN_CENTER,
4780            Self::End => ffi::POPPLER_STRUCTURE_RUBY_ALIGN_END,
4781            Self::Justify => ffi::POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY,
4782            Self::Distribute => ffi::POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE,
4783            Self::__Unknown(value) => value,
4784        }
4785    }
4786}
4787
4788#[doc(hidden)]
4789impl FromGlib<ffi::PopplerStructureRubyAlign> for StructureRubyAlign {
4790    #[inline]
4791    unsafe fn from_glib(value: ffi::PopplerStructureRubyAlign) -> Self {
4792        match value {
4793            ffi::POPPLER_STRUCTURE_RUBY_ALIGN_START => Self::Start,
4794            ffi::POPPLER_STRUCTURE_RUBY_ALIGN_CENTER => Self::Center,
4795            ffi::POPPLER_STRUCTURE_RUBY_ALIGN_END => Self::End,
4796            ffi::POPPLER_STRUCTURE_RUBY_ALIGN_JUSTIFY => Self::Justify,
4797            ffi::POPPLER_STRUCTURE_RUBY_ALIGN_DISTRIBUTE => Self::Distribute,
4798            value => Self::__Unknown(value),
4799        }
4800    }
4801}
4802
4803impl StaticType for StructureRubyAlign {
4804    #[inline]
4805    #[doc(alias = "poppler_structure_ruby_align_get_type")]
4806    fn static_type() -> glib::Type {
4807        unsafe { from_glib(ffi::poppler_structure_ruby_align_get_type()) }
4808    }
4809}
4810
4811impl glib::HasParamSpec for StructureRubyAlign {
4812    type ParamSpec = glib::ParamSpecEnum;
4813    type SetValue = Self;
4814    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4815
4816    fn param_spec_builder() -> Self::BuilderFn {
4817        Self::ParamSpec::builder_with_default
4818    }
4819}
4820
4821impl glib::value::ValueType for StructureRubyAlign {
4822    type Type = Self;
4823}
4824
4825unsafe impl<'a> glib::value::FromValue<'a> for StructureRubyAlign {
4826    type Checker = glib::value::GenericValueTypeChecker<Self>;
4827
4828    #[inline]
4829    unsafe fn from_value(value: &'a glib::Value) -> Self {
4830        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4831    }
4832}
4833
4834impl ToValue for StructureRubyAlign {
4835    #[inline]
4836    fn to_value(&self) -> glib::Value {
4837        let mut value = glib::Value::for_value_type::<Self>();
4838        unsafe {
4839            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4840        }
4841        value
4842    }
4843
4844    #[inline]
4845    fn value_type(&self) -> glib::Type {
4846        Self::static_type()
4847    }
4848}
4849
4850impl From<StructureRubyAlign> for glib::Value {
4851    #[inline]
4852    fn from(v: StructureRubyAlign) -> Self {
4853        ToValue::to_value(&v)
4854    }
4855}
4856
4857#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4858#[non_exhaustive]
4859#[doc(alias = "PopplerStructureRubyPosition")]
4860pub enum StructureRubyPosition {
4861    #[doc(alias = "POPPLER_STRUCTURE_RUBY_POSITION_BEFORE")]
4862    Before,
4863    #[doc(alias = "POPPLER_STRUCTURE_RUBY_POSITION_AFTER")]
4864    After,
4865    #[doc(alias = "POPPLER_STRUCTURE_RUBY_POSITION_WARICHU")]
4866    Warichu,
4867    #[doc(alias = "POPPLER_STRUCTURE_RUBY_POSITION_INLINE")]
4868    Inline,
4869    #[doc(hidden)]
4870    __Unknown(i32),
4871}
4872
4873#[doc(hidden)]
4874impl IntoGlib for StructureRubyPosition {
4875    type GlibType = ffi::PopplerStructureRubyPosition;
4876
4877    #[inline]
4878    fn into_glib(self) -> ffi::PopplerStructureRubyPosition {
4879        match self {
4880            Self::Before => ffi::POPPLER_STRUCTURE_RUBY_POSITION_BEFORE,
4881            Self::After => ffi::POPPLER_STRUCTURE_RUBY_POSITION_AFTER,
4882            Self::Warichu => ffi::POPPLER_STRUCTURE_RUBY_POSITION_WARICHU,
4883            Self::Inline => ffi::POPPLER_STRUCTURE_RUBY_POSITION_INLINE,
4884            Self::__Unknown(value) => value,
4885        }
4886    }
4887}
4888
4889#[doc(hidden)]
4890impl FromGlib<ffi::PopplerStructureRubyPosition> for StructureRubyPosition {
4891    #[inline]
4892    unsafe fn from_glib(value: ffi::PopplerStructureRubyPosition) -> Self {
4893        match value {
4894            ffi::POPPLER_STRUCTURE_RUBY_POSITION_BEFORE => Self::Before,
4895            ffi::POPPLER_STRUCTURE_RUBY_POSITION_AFTER => Self::After,
4896            ffi::POPPLER_STRUCTURE_RUBY_POSITION_WARICHU => Self::Warichu,
4897            ffi::POPPLER_STRUCTURE_RUBY_POSITION_INLINE => Self::Inline,
4898            value => Self::__Unknown(value),
4899        }
4900    }
4901}
4902
4903impl StaticType for StructureRubyPosition {
4904    #[inline]
4905    #[doc(alias = "poppler_structure_ruby_position_get_type")]
4906    fn static_type() -> glib::Type {
4907        unsafe { from_glib(ffi::poppler_structure_ruby_position_get_type()) }
4908    }
4909}
4910
4911impl glib::HasParamSpec for StructureRubyPosition {
4912    type ParamSpec = glib::ParamSpecEnum;
4913    type SetValue = Self;
4914    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
4915
4916    fn param_spec_builder() -> Self::BuilderFn {
4917        Self::ParamSpec::builder_with_default
4918    }
4919}
4920
4921impl glib::value::ValueType for StructureRubyPosition {
4922    type Type = Self;
4923}
4924
4925unsafe impl<'a> glib::value::FromValue<'a> for StructureRubyPosition {
4926    type Checker = glib::value::GenericValueTypeChecker<Self>;
4927
4928    #[inline]
4929    unsafe fn from_value(value: &'a glib::Value) -> Self {
4930        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
4931    }
4932}
4933
4934impl ToValue for StructureRubyPosition {
4935    #[inline]
4936    fn to_value(&self) -> glib::Value {
4937        let mut value = glib::Value::for_value_type::<Self>();
4938        unsafe {
4939            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
4940        }
4941        value
4942    }
4943
4944    #[inline]
4945    fn value_type(&self) -> glib::Type {
4946        Self::static_type()
4947    }
4948}
4949
4950impl From<StructureRubyPosition> for glib::Value {
4951    #[inline]
4952    fn from(v: StructureRubyPosition) -> Self {
4953        ToValue::to_value(&v)
4954    }
4955}
4956
4957#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
4958#[non_exhaustive]
4959#[doc(alias = "PopplerStructureTableScope")]
4960pub enum StructureTableScope {
4961    #[doc(alias = "POPPLER_STRUCTURE_TABLE_SCOPE_ROW")]
4962    Row,
4963    #[doc(alias = "POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN")]
4964    Column,
4965    #[doc(alias = "POPPLER_STRUCTURE_TABLE_SCOPE_BOTH")]
4966    Both,
4967    #[doc(hidden)]
4968    __Unknown(i32),
4969}
4970
4971#[doc(hidden)]
4972impl IntoGlib for StructureTableScope {
4973    type GlibType = ffi::PopplerStructureTableScope;
4974
4975    #[inline]
4976    fn into_glib(self) -> ffi::PopplerStructureTableScope {
4977        match self {
4978            Self::Row => ffi::POPPLER_STRUCTURE_TABLE_SCOPE_ROW,
4979            Self::Column => ffi::POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN,
4980            Self::Both => ffi::POPPLER_STRUCTURE_TABLE_SCOPE_BOTH,
4981            Self::__Unknown(value) => value,
4982        }
4983    }
4984}
4985
4986#[doc(hidden)]
4987impl FromGlib<ffi::PopplerStructureTableScope> for StructureTableScope {
4988    #[inline]
4989    unsafe fn from_glib(value: ffi::PopplerStructureTableScope) -> Self {
4990        match value {
4991            ffi::POPPLER_STRUCTURE_TABLE_SCOPE_ROW => Self::Row,
4992            ffi::POPPLER_STRUCTURE_TABLE_SCOPE_COLUMN => Self::Column,
4993            ffi::POPPLER_STRUCTURE_TABLE_SCOPE_BOTH => Self::Both,
4994            value => Self::__Unknown(value),
4995        }
4996    }
4997}
4998
4999impl StaticType for StructureTableScope {
5000    #[inline]
5001    #[doc(alias = "poppler_structure_table_scope_get_type")]
5002    fn static_type() -> glib::Type {
5003        unsafe { from_glib(ffi::poppler_structure_table_scope_get_type()) }
5004    }
5005}
5006
5007impl glib::HasParamSpec for StructureTableScope {
5008    type ParamSpec = glib::ParamSpecEnum;
5009    type SetValue = Self;
5010    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5011
5012    fn param_spec_builder() -> Self::BuilderFn {
5013        Self::ParamSpec::builder_with_default
5014    }
5015}
5016
5017impl glib::value::ValueType for StructureTableScope {
5018    type Type = Self;
5019}
5020
5021unsafe impl<'a> glib::value::FromValue<'a> for StructureTableScope {
5022    type Checker = glib::value::GenericValueTypeChecker<Self>;
5023
5024    #[inline]
5025    unsafe fn from_value(value: &'a glib::Value) -> Self {
5026        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5027    }
5028}
5029
5030impl ToValue for StructureTableScope {
5031    #[inline]
5032    fn to_value(&self) -> glib::Value {
5033        let mut value = glib::Value::for_value_type::<Self>();
5034        unsafe {
5035            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5036        }
5037        value
5038    }
5039
5040    #[inline]
5041    fn value_type(&self) -> glib::Type {
5042        Self::static_type()
5043    }
5044}
5045
5046impl From<StructureTableScope> for glib::Value {
5047    #[inline]
5048    fn from(v: StructureTableScope) -> Self {
5049        ToValue::to_value(&v)
5050    }
5051}
5052
5053#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
5054#[non_exhaustive]
5055#[doc(alias = "PopplerStructureTextAlign")]
5056pub enum StructureTextAlign {
5057    #[doc(alias = "POPPLER_STRUCTURE_TEXT_ALIGN_START")]
5058    Start,
5059    #[doc(alias = "POPPLER_STRUCTURE_TEXT_ALIGN_CENTER")]
5060    Center,
5061    #[doc(alias = "POPPLER_STRUCTURE_TEXT_ALIGN_END")]
5062    End,
5063    #[doc(alias = "POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY")]
5064    Justify,
5065    #[doc(hidden)]
5066    __Unknown(i32),
5067}
5068
5069#[doc(hidden)]
5070impl IntoGlib for StructureTextAlign {
5071    type GlibType = ffi::PopplerStructureTextAlign;
5072
5073    #[inline]
5074    fn into_glib(self) -> ffi::PopplerStructureTextAlign {
5075        match self {
5076            Self::Start => ffi::POPPLER_STRUCTURE_TEXT_ALIGN_START,
5077            Self::Center => ffi::POPPLER_STRUCTURE_TEXT_ALIGN_CENTER,
5078            Self::End => ffi::POPPLER_STRUCTURE_TEXT_ALIGN_END,
5079            Self::Justify => ffi::POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY,
5080            Self::__Unknown(value) => value,
5081        }
5082    }
5083}
5084
5085#[doc(hidden)]
5086impl FromGlib<ffi::PopplerStructureTextAlign> for StructureTextAlign {
5087    #[inline]
5088    unsafe fn from_glib(value: ffi::PopplerStructureTextAlign) -> Self {
5089        match value {
5090            ffi::POPPLER_STRUCTURE_TEXT_ALIGN_START => Self::Start,
5091            ffi::POPPLER_STRUCTURE_TEXT_ALIGN_CENTER => Self::Center,
5092            ffi::POPPLER_STRUCTURE_TEXT_ALIGN_END => Self::End,
5093            ffi::POPPLER_STRUCTURE_TEXT_ALIGN_JUSTIFY => Self::Justify,
5094            value => Self::__Unknown(value),
5095        }
5096    }
5097}
5098
5099impl StaticType for StructureTextAlign {
5100    #[inline]
5101    #[doc(alias = "poppler_structure_text_align_get_type")]
5102    fn static_type() -> glib::Type {
5103        unsafe { from_glib(ffi::poppler_structure_text_align_get_type()) }
5104    }
5105}
5106
5107impl glib::HasParamSpec for StructureTextAlign {
5108    type ParamSpec = glib::ParamSpecEnum;
5109    type SetValue = Self;
5110    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5111
5112    fn param_spec_builder() -> Self::BuilderFn {
5113        Self::ParamSpec::builder_with_default
5114    }
5115}
5116
5117impl glib::value::ValueType for StructureTextAlign {
5118    type Type = Self;
5119}
5120
5121unsafe impl<'a> glib::value::FromValue<'a> for StructureTextAlign {
5122    type Checker = glib::value::GenericValueTypeChecker<Self>;
5123
5124    #[inline]
5125    unsafe fn from_value(value: &'a glib::Value) -> Self {
5126        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5127    }
5128}
5129
5130impl ToValue for StructureTextAlign {
5131    #[inline]
5132    fn to_value(&self) -> glib::Value {
5133        let mut value = glib::Value::for_value_type::<Self>();
5134        unsafe {
5135            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5136        }
5137        value
5138    }
5139
5140    #[inline]
5141    fn value_type(&self) -> glib::Type {
5142        Self::static_type()
5143    }
5144}
5145
5146impl From<StructureTextAlign> for glib::Value {
5147    #[inline]
5148    fn from(v: StructureTextAlign) -> Self {
5149        ToValue::to_value(&v)
5150    }
5151}
5152
5153#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
5154#[non_exhaustive]
5155#[doc(alias = "PopplerStructureTextDecoration")]
5156pub enum StructureTextDecoration {
5157    #[doc(alias = "POPPLER_STRUCTURE_TEXT_DECORATION_NONE")]
5158    None,
5159    #[doc(alias = "POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE")]
5160    Underline,
5161    #[doc(alias = "POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE")]
5162    Overline,
5163    #[doc(alias = "POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH")]
5164    Linethrough,
5165    #[doc(hidden)]
5166    __Unknown(i32),
5167}
5168
5169#[doc(hidden)]
5170impl IntoGlib for StructureTextDecoration {
5171    type GlibType = ffi::PopplerStructureTextDecoration;
5172
5173    #[inline]
5174    fn into_glib(self) -> ffi::PopplerStructureTextDecoration {
5175        match self {
5176            Self::None => ffi::POPPLER_STRUCTURE_TEXT_DECORATION_NONE,
5177            Self::Underline => ffi::POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE,
5178            Self::Overline => ffi::POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE,
5179            Self::Linethrough => ffi::POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH,
5180            Self::__Unknown(value) => value,
5181        }
5182    }
5183}
5184
5185#[doc(hidden)]
5186impl FromGlib<ffi::PopplerStructureTextDecoration> for StructureTextDecoration {
5187    #[inline]
5188    unsafe fn from_glib(value: ffi::PopplerStructureTextDecoration) -> Self {
5189        match value {
5190            ffi::POPPLER_STRUCTURE_TEXT_DECORATION_NONE => Self::None,
5191            ffi::POPPLER_STRUCTURE_TEXT_DECORATION_UNDERLINE => Self::Underline,
5192            ffi::POPPLER_STRUCTURE_TEXT_DECORATION_OVERLINE => Self::Overline,
5193            ffi::POPPLER_STRUCTURE_TEXT_DECORATION_LINETHROUGH => Self::Linethrough,
5194            value => Self::__Unknown(value),
5195        }
5196    }
5197}
5198
5199impl StaticType for StructureTextDecoration {
5200    #[inline]
5201    #[doc(alias = "poppler_structure_text_decoration_get_type")]
5202    fn static_type() -> glib::Type {
5203        unsafe { from_glib(ffi::poppler_structure_text_decoration_get_type()) }
5204    }
5205}
5206
5207impl glib::HasParamSpec for StructureTextDecoration {
5208    type ParamSpec = glib::ParamSpecEnum;
5209    type SetValue = Self;
5210    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5211
5212    fn param_spec_builder() -> Self::BuilderFn {
5213        Self::ParamSpec::builder_with_default
5214    }
5215}
5216
5217impl glib::value::ValueType for StructureTextDecoration {
5218    type Type = Self;
5219}
5220
5221unsafe impl<'a> glib::value::FromValue<'a> for StructureTextDecoration {
5222    type Checker = glib::value::GenericValueTypeChecker<Self>;
5223
5224    #[inline]
5225    unsafe fn from_value(value: &'a glib::Value) -> Self {
5226        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5227    }
5228}
5229
5230impl ToValue for StructureTextDecoration {
5231    #[inline]
5232    fn to_value(&self) -> glib::Value {
5233        let mut value = glib::Value::for_value_type::<Self>();
5234        unsafe {
5235            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5236        }
5237        value
5238    }
5239
5240    #[inline]
5241    fn value_type(&self) -> glib::Type {
5242        Self::static_type()
5243    }
5244}
5245
5246impl From<StructureTextDecoration> for glib::Value {
5247    #[inline]
5248    fn from(v: StructureTextDecoration) -> Self {
5249        ToValue::to_value(&v)
5250    }
5251}
5252
5253#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
5254#[non_exhaustive]
5255#[doc(alias = "PopplerStructureWritingMode")]
5256pub enum StructureWritingMode {
5257    #[doc(alias = "POPPLER_STRUCTURE_WRITING_MODE_LR_TB")]
5258    LrTb,
5259    #[doc(alias = "POPPLER_STRUCTURE_WRITING_MODE_RL_TB")]
5260    RlTb,
5261    #[doc(alias = "POPPLER_STRUCTURE_WRITING_MODE_TB_RL")]
5262    TbRl,
5263    #[doc(hidden)]
5264    __Unknown(i32),
5265}
5266
5267#[doc(hidden)]
5268impl IntoGlib for StructureWritingMode {
5269    type GlibType = ffi::PopplerStructureWritingMode;
5270
5271    #[inline]
5272    fn into_glib(self) -> ffi::PopplerStructureWritingMode {
5273        match self {
5274            Self::LrTb => ffi::POPPLER_STRUCTURE_WRITING_MODE_LR_TB,
5275            Self::RlTb => ffi::POPPLER_STRUCTURE_WRITING_MODE_RL_TB,
5276            Self::TbRl => ffi::POPPLER_STRUCTURE_WRITING_MODE_TB_RL,
5277            Self::__Unknown(value) => value,
5278        }
5279    }
5280}
5281
5282#[doc(hidden)]
5283impl FromGlib<ffi::PopplerStructureWritingMode> for StructureWritingMode {
5284    #[inline]
5285    unsafe fn from_glib(value: ffi::PopplerStructureWritingMode) -> Self {
5286        match value {
5287            ffi::POPPLER_STRUCTURE_WRITING_MODE_LR_TB => Self::LrTb,
5288            ffi::POPPLER_STRUCTURE_WRITING_MODE_RL_TB => Self::RlTb,
5289            ffi::POPPLER_STRUCTURE_WRITING_MODE_TB_RL => Self::TbRl,
5290            value => Self::__Unknown(value),
5291        }
5292    }
5293}
5294
5295impl StaticType for StructureWritingMode {
5296    #[inline]
5297    #[doc(alias = "poppler_structure_writing_mode_get_type")]
5298    fn static_type() -> glib::Type {
5299        unsafe { from_glib(ffi::poppler_structure_writing_mode_get_type()) }
5300    }
5301}
5302
5303impl glib::HasParamSpec for StructureWritingMode {
5304    type ParamSpec = glib::ParamSpecEnum;
5305    type SetValue = Self;
5306    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5307
5308    fn param_spec_builder() -> Self::BuilderFn {
5309        Self::ParamSpec::builder_with_default
5310    }
5311}
5312
5313impl glib::value::ValueType for StructureWritingMode {
5314    type Type = Self;
5315}
5316
5317unsafe impl<'a> glib::value::FromValue<'a> for StructureWritingMode {
5318    type Checker = glib::value::GenericValueTypeChecker<Self>;
5319
5320    #[inline]
5321    unsafe fn from_value(value: &'a glib::Value) -> Self {
5322        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5323    }
5324}
5325
5326impl ToValue for StructureWritingMode {
5327    #[inline]
5328    fn to_value(&self) -> glib::Value {
5329        let mut value = glib::Value::for_value_type::<Self>();
5330        unsafe {
5331            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5332        }
5333        value
5334    }
5335
5336    #[inline]
5337    fn value_type(&self) -> glib::Type {
5338        Self::static_type()
5339    }
5340}
5341
5342impl From<StructureWritingMode> for glib::Value {
5343    #[inline]
5344    fn from(v: StructureWritingMode) -> Self {
5345        ToValue::to_value(&v)
5346    }
5347}
5348
5349#[cfg(feature = "v24_12")]
5350#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5351#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
5352#[non_exhaustive]
5353#[doc(alias = "PopplerStyle")]
5354pub enum Style {
5355    #[doc(alias = "POPPLER_STYLE_NORMAL")]
5356    Normal,
5357    #[doc(alias = "POPPLER_STYLE_OBLIQUE")]
5358    Oblique,
5359    #[doc(alias = "POPPLER_STYLE_ITALIC")]
5360    Italic,
5361    #[doc(hidden)]
5362    __Unknown(i32),
5363}
5364
5365#[cfg(feature = "v24_12")]
5366#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5367#[doc(hidden)]
5368impl IntoGlib for Style {
5369    type GlibType = ffi::PopplerStyle;
5370
5371    #[inline]
5372    fn into_glib(self) -> ffi::PopplerStyle {
5373        match self {
5374            Self::Normal => ffi::POPPLER_STYLE_NORMAL,
5375            Self::Oblique => ffi::POPPLER_STYLE_OBLIQUE,
5376            Self::Italic => ffi::POPPLER_STYLE_ITALIC,
5377            Self::__Unknown(value) => value,
5378        }
5379    }
5380}
5381
5382#[cfg(feature = "v24_12")]
5383#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5384#[doc(hidden)]
5385impl FromGlib<ffi::PopplerStyle> for Style {
5386    #[inline]
5387    unsafe fn from_glib(value: ffi::PopplerStyle) -> Self {
5388        match value {
5389            ffi::POPPLER_STYLE_NORMAL => Self::Normal,
5390            ffi::POPPLER_STYLE_OBLIQUE => Self::Oblique,
5391            ffi::POPPLER_STYLE_ITALIC => Self::Italic,
5392            value => Self::__Unknown(value),
5393        }
5394    }
5395}
5396
5397#[cfg(feature = "v24_12")]
5398#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5399impl StaticType for Style {
5400    #[inline]
5401    #[doc(alias = "poppler_style_get_type")]
5402    fn static_type() -> glib::Type {
5403        unsafe { from_glib(ffi::poppler_style_get_type()) }
5404    }
5405}
5406
5407#[cfg(feature = "v24_12")]
5408#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5409impl glib::HasParamSpec for Style {
5410    type ParamSpec = glib::ParamSpecEnum;
5411    type SetValue = Self;
5412    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5413
5414    fn param_spec_builder() -> Self::BuilderFn {
5415        Self::ParamSpec::builder_with_default
5416    }
5417}
5418
5419#[cfg(feature = "v24_12")]
5420#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5421impl glib::value::ValueType for Style {
5422    type Type = Self;
5423}
5424
5425#[cfg(feature = "v24_12")]
5426#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5427unsafe impl<'a> glib::value::FromValue<'a> for Style {
5428    type Checker = glib::value::GenericValueTypeChecker<Self>;
5429
5430    #[inline]
5431    unsafe fn from_value(value: &'a glib::Value) -> Self {
5432        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5433    }
5434}
5435
5436#[cfg(feature = "v24_12")]
5437#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5438impl ToValue for Style {
5439    #[inline]
5440    fn to_value(&self) -> glib::Value {
5441        let mut value = glib::Value::for_value_type::<Self>();
5442        unsafe {
5443            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5444        }
5445        value
5446    }
5447
5448    #[inline]
5449    fn value_type(&self) -> glib::Type {
5450        Self::static_type()
5451    }
5452}
5453
5454#[cfg(feature = "v24_12")]
5455#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5456impl From<Style> for glib::Value {
5457    #[inline]
5458    fn from(v: Style) -> Self {
5459        ToValue::to_value(&v)
5460    }
5461}
5462
5463#[cfg(feature = "v24_12")]
5464#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5465#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
5466#[non_exhaustive]
5467#[doc(alias = "PopplerWeight")]
5468pub enum Weight {
5469    #[doc(alias = "POPPLER_WEIGHT_THIN")]
5470    Thin,
5471    #[doc(alias = "POPPLER_WEIGHT_ULTRALIGHT")]
5472    Ultralight,
5473    #[doc(alias = "POPPLER_WEIGHT_LIGHT")]
5474    Light,
5475    #[doc(alias = "POPPLER_WEIGHT_NORMAL")]
5476    Normal,
5477    #[doc(alias = "POPPLER_WEIGHT_MEDIUM")]
5478    Medium,
5479    #[doc(alias = "POPPLER_WEIGHT_SEMIBOLD")]
5480    Semibold,
5481    #[doc(alias = "POPPLER_WEIGHT_BOLD")]
5482    Bold,
5483    #[doc(alias = "POPPLER_WEIGHT_ULTRABOLD")]
5484    Ultrabold,
5485    #[doc(alias = "POPPLER_WEIGHT_HEAVY")]
5486    Heavy,
5487    #[doc(hidden)]
5488    __Unknown(i32),
5489}
5490
5491#[cfg(feature = "v24_12")]
5492#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5493#[doc(hidden)]
5494impl IntoGlib for Weight {
5495    type GlibType = ffi::PopplerWeight;
5496
5497    #[inline]
5498    fn into_glib(self) -> ffi::PopplerWeight {
5499        match self {
5500            Self::Thin => ffi::POPPLER_WEIGHT_THIN,
5501            Self::Ultralight => ffi::POPPLER_WEIGHT_ULTRALIGHT,
5502            Self::Light => ffi::POPPLER_WEIGHT_LIGHT,
5503            Self::Normal => ffi::POPPLER_WEIGHT_NORMAL,
5504            Self::Medium => ffi::POPPLER_WEIGHT_MEDIUM,
5505            Self::Semibold => ffi::POPPLER_WEIGHT_SEMIBOLD,
5506            Self::Bold => ffi::POPPLER_WEIGHT_BOLD,
5507            Self::Ultrabold => ffi::POPPLER_WEIGHT_ULTRABOLD,
5508            Self::Heavy => ffi::POPPLER_WEIGHT_HEAVY,
5509            Self::__Unknown(value) => value,
5510        }
5511    }
5512}
5513
5514#[cfg(feature = "v24_12")]
5515#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5516#[doc(hidden)]
5517impl FromGlib<ffi::PopplerWeight> for Weight {
5518    #[inline]
5519    unsafe fn from_glib(value: ffi::PopplerWeight) -> Self {
5520        match value {
5521            ffi::POPPLER_WEIGHT_THIN => Self::Thin,
5522            ffi::POPPLER_WEIGHT_ULTRALIGHT => Self::Ultralight,
5523            ffi::POPPLER_WEIGHT_LIGHT => Self::Light,
5524            ffi::POPPLER_WEIGHT_NORMAL => Self::Normal,
5525            ffi::POPPLER_WEIGHT_MEDIUM => Self::Medium,
5526            ffi::POPPLER_WEIGHT_SEMIBOLD => Self::Semibold,
5527            ffi::POPPLER_WEIGHT_BOLD => Self::Bold,
5528            ffi::POPPLER_WEIGHT_ULTRABOLD => Self::Ultrabold,
5529            ffi::POPPLER_WEIGHT_HEAVY => Self::Heavy,
5530            value => Self::__Unknown(value),
5531        }
5532    }
5533}
5534
5535#[cfg(feature = "v24_12")]
5536#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5537impl StaticType for Weight {
5538    #[inline]
5539    #[doc(alias = "poppler_weight_get_type")]
5540    fn static_type() -> glib::Type {
5541        unsafe { from_glib(ffi::poppler_weight_get_type()) }
5542    }
5543}
5544
5545#[cfg(feature = "v24_12")]
5546#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5547impl glib::HasParamSpec for Weight {
5548    type ParamSpec = glib::ParamSpecEnum;
5549    type SetValue = Self;
5550    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
5551
5552    fn param_spec_builder() -> Self::BuilderFn {
5553        Self::ParamSpec::builder_with_default
5554    }
5555}
5556
5557#[cfg(feature = "v24_12")]
5558#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5559impl glib::value::ValueType for Weight {
5560    type Type = Self;
5561}
5562
5563#[cfg(feature = "v24_12")]
5564#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5565unsafe impl<'a> glib::value::FromValue<'a> for Weight {
5566    type Checker = glib::value::GenericValueTypeChecker<Self>;
5567
5568    #[inline]
5569    unsafe fn from_value(value: &'a glib::Value) -> Self {
5570        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
5571    }
5572}
5573
5574#[cfg(feature = "v24_12")]
5575#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5576impl ToValue for Weight {
5577    #[inline]
5578    fn to_value(&self) -> glib::Value {
5579        let mut value = glib::Value::for_value_type::<Self>();
5580        unsafe {
5581            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
5582        }
5583        value
5584    }
5585
5586    #[inline]
5587    fn value_type(&self) -> glib::Type {
5588        Self::static_type()
5589    }
5590}
5591
5592#[cfg(feature = "v24_12")]
5593#[cfg_attr(docsrs, doc(cfg(feature = "v24_12")))]
5594impl From<Weight> for glib::Value {
5595    #[inline]
5596    fn from(v: Weight) -> Self {
5597        ToValue::to_value(&v)
5598    }
5599}