gstreamer_editing_services/auto/
enums.rs

1// This file was generated by gir (https://github.com/gtk-rs/gir)
2// from gir-files (https://github.com/gtk-rs/gir-files)
3// from gst-gir-files (https://gitlab.freedesktop.org/gstreamer/gir-files-rs.git)
4// DO NOT EDIT
5
6use crate::ffi;
7#[cfg(feature = "v1_16")]
8#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
9use glib::GStr;
10use glib::{prelude::*, translate::*};
11
12#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
13#[non_exhaustive]
14#[doc(alias = "GESAssetLoadingReturn")]
15pub enum AssetLoadingReturn {
16    #[doc(alias = "GES_ASSET_LOADING_ERROR")]
17    Error,
18    #[doc(alias = "GES_ASSET_LOADING_ASYNC")]
19    Async,
20    #[doc(alias = "GES_ASSET_LOADING_OK")]
21    Ok,
22    #[doc(hidden)]
23    __Unknown(i32),
24}
25
26#[doc(hidden)]
27impl IntoGlib for AssetLoadingReturn {
28    type GlibType = ffi::GESAssetLoadingReturn;
29
30    #[inline]
31    fn into_glib(self) -> ffi::GESAssetLoadingReturn {
32        match self {
33            Self::Error => ffi::GES_ASSET_LOADING_ERROR,
34            Self::Async => ffi::GES_ASSET_LOADING_ASYNC,
35            Self::Ok => ffi::GES_ASSET_LOADING_OK,
36            Self::__Unknown(value) => value,
37        }
38    }
39}
40
41#[doc(hidden)]
42impl FromGlib<ffi::GESAssetLoadingReturn> for AssetLoadingReturn {
43    #[inline]
44    unsafe fn from_glib(value: ffi::GESAssetLoadingReturn) -> Self {
45        skip_assert_initialized!();
46
47        match value {
48            ffi::GES_ASSET_LOADING_ERROR => Self::Error,
49            ffi::GES_ASSET_LOADING_ASYNC => Self::Async,
50            ffi::GES_ASSET_LOADING_OK => Self::Ok,
51            value => Self::__Unknown(value),
52        }
53    }
54}
55
56#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
57#[non_exhaustive]
58#[doc(alias = "GESChildrenControlMode")]
59pub enum ChildrenControlMode {
60    #[doc(alias = "GES_CHILDREN_UPDATE")]
61    Update,
62    #[doc(alias = "GES_CHILDREN_IGNORE_NOTIFIES")]
63    IgnoreNotifies,
64    #[doc(alias = "GES_CHILDREN_UPDATE_OFFSETS")]
65    UpdateOffsets,
66    #[doc(alias = "GES_CHILDREN_UPDATE_ALL_VALUES")]
67    UpdateAllValues,
68    #[doc(alias = "GES_CHILDREN_LAST")]
69    Last,
70    #[doc(hidden)]
71    __Unknown(i32),
72}
73
74#[doc(hidden)]
75impl IntoGlib for ChildrenControlMode {
76    type GlibType = ffi::GESChildrenControlMode;
77
78    #[inline]
79    fn into_glib(self) -> ffi::GESChildrenControlMode {
80        match self {
81            Self::Update => ffi::GES_CHILDREN_UPDATE,
82            Self::IgnoreNotifies => ffi::GES_CHILDREN_IGNORE_NOTIFIES,
83            Self::UpdateOffsets => ffi::GES_CHILDREN_UPDATE_OFFSETS,
84            Self::UpdateAllValues => ffi::GES_CHILDREN_UPDATE_ALL_VALUES,
85            Self::Last => ffi::GES_CHILDREN_LAST,
86            Self::__Unknown(value) => value,
87        }
88    }
89}
90
91#[doc(hidden)]
92impl FromGlib<ffi::GESChildrenControlMode> for ChildrenControlMode {
93    #[inline]
94    unsafe fn from_glib(value: ffi::GESChildrenControlMode) -> Self {
95        skip_assert_initialized!();
96
97        match value {
98            ffi::GES_CHILDREN_UPDATE => Self::Update,
99            ffi::GES_CHILDREN_IGNORE_NOTIFIES => Self::IgnoreNotifies,
100            ffi::GES_CHILDREN_UPDATE_OFFSETS => Self::UpdateOffsets,
101            ffi::GES_CHILDREN_UPDATE_ALL_VALUES => Self::UpdateAllValues,
102            ffi::GES_CHILDREN_LAST => Self::Last,
103            value => Self::__Unknown(value),
104        }
105    }
106}
107
108#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
109#[non_exhaustive]
110#[doc(alias = "GESEdge")]
111pub enum Edge {
112    #[doc(alias = "GES_EDGE_START")]
113    Start,
114    #[doc(alias = "GES_EDGE_END")]
115    End,
116    #[doc(alias = "GES_EDGE_NONE")]
117    None,
118    #[doc(hidden)]
119    __Unknown(i32),
120}
121
122impl Edge {
123    #[cfg(feature = "v1_16")]
124    #[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
125    pub fn name<'a>(self) -> &'a GStr {
126        unsafe {
127            GStr::from_ptr(
128                ffi::ges_edge_name(self.into_glib())
129                    .as_ref()
130                    .expect("ges_edge_name returned NULL"),
131            )
132        }
133    }
134}
135
136#[cfg(feature = "v1_16")]
137#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
138impl std::fmt::Display for Edge {
139    #[inline]
140    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
141        f.write_str(&self.name())
142    }
143}
144
145#[doc(hidden)]
146impl IntoGlib for Edge {
147    type GlibType = ffi::GESEdge;
148
149    #[inline]
150    fn into_glib(self) -> ffi::GESEdge {
151        match self {
152            Self::Start => ffi::GES_EDGE_START,
153            Self::End => ffi::GES_EDGE_END,
154            Self::None => ffi::GES_EDGE_NONE,
155            Self::__Unknown(value) => value,
156        }
157    }
158}
159
160#[doc(hidden)]
161impl FromGlib<ffi::GESEdge> for Edge {
162    #[inline]
163    unsafe fn from_glib(value: ffi::GESEdge) -> Self {
164        skip_assert_initialized!();
165
166        match value {
167            ffi::GES_EDGE_START => Self::Start,
168            ffi::GES_EDGE_END => Self::End,
169            ffi::GES_EDGE_NONE => Self::None,
170            value => Self::__Unknown(value),
171        }
172    }
173}
174
175impl StaticType for Edge {
176    #[inline]
177    #[doc(alias = "ges_edge_get_type")]
178    fn static_type() -> glib::Type {
179        unsafe { from_glib(ffi::ges_edge_get_type()) }
180    }
181}
182
183impl glib::HasParamSpec for Edge {
184    type ParamSpec = glib::ParamSpecEnum;
185    type SetValue = Self;
186    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
187
188    fn param_spec_builder() -> Self::BuilderFn {
189        Self::ParamSpec::builder_with_default
190    }
191}
192
193impl glib::value::ValueType for Edge {
194    type Type = Self;
195}
196
197unsafe impl<'a> glib::value::FromValue<'a> for Edge {
198    type Checker = glib::value::GenericValueTypeChecker<Self>;
199
200    #[inline]
201    unsafe fn from_value(value: &'a glib::Value) -> Self {
202        skip_assert_initialized!();
203        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
204    }
205}
206
207impl ToValue for Edge {
208    #[inline]
209    fn to_value(&self) -> glib::Value {
210        let mut value = glib::Value::for_value_type::<Self>();
211        unsafe {
212            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
213        }
214        value
215    }
216
217    #[inline]
218    fn value_type(&self) -> glib::Type {
219        Self::static_type()
220    }
221}
222
223impl From<Edge> for glib::Value {
224    #[inline]
225    fn from(v: Edge) -> Self {
226        skip_assert_initialized!();
227        ToValue::to_value(&v)
228    }
229}
230
231#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
232#[non_exhaustive]
233#[doc(alias = "GESEditMode")]
234pub enum EditMode {
235    #[doc(alias = "GES_EDIT_MODE_NORMAL")]
236    Normal,
237    #[doc(alias = "GES_EDIT_MODE_RIPPLE")]
238    Ripple,
239    #[doc(alias = "GES_EDIT_MODE_ROLL")]
240    Roll,
241    #[doc(alias = "GES_EDIT_MODE_TRIM")]
242    Trim,
243    #[doc(alias = "GES_EDIT_MODE_SLIDE")]
244    Slide,
245    #[doc(hidden)]
246    __Unknown(i32),
247}
248
249impl EditMode {
250    #[cfg(feature = "v1_18")]
251    #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
252    pub fn name<'a>(self) -> &'a GStr {
253        unsafe {
254            GStr::from_ptr(
255                ffi::ges_edit_mode_name(self.into_glib())
256                    .as_ref()
257                    .expect("ges_edit_mode_name returned NULL"),
258            )
259        }
260    }
261}
262
263#[cfg(feature = "v1_18")]
264#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
265impl std::fmt::Display for EditMode {
266    #[inline]
267    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
268        f.write_str(&self.name())
269    }
270}
271
272#[doc(hidden)]
273impl IntoGlib for EditMode {
274    type GlibType = ffi::GESEditMode;
275
276    #[inline]
277    fn into_glib(self) -> ffi::GESEditMode {
278        match self {
279            Self::Normal => ffi::GES_EDIT_MODE_NORMAL,
280            Self::Ripple => ffi::GES_EDIT_MODE_RIPPLE,
281            Self::Roll => ffi::GES_EDIT_MODE_ROLL,
282            Self::Trim => ffi::GES_EDIT_MODE_TRIM,
283            Self::Slide => ffi::GES_EDIT_MODE_SLIDE,
284            Self::__Unknown(value) => value,
285        }
286    }
287}
288
289#[doc(hidden)]
290impl FromGlib<ffi::GESEditMode> for EditMode {
291    #[inline]
292    unsafe fn from_glib(value: ffi::GESEditMode) -> Self {
293        skip_assert_initialized!();
294
295        match value {
296            ffi::GES_EDIT_MODE_NORMAL => Self::Normal,
297            ffi::GES_EDIT_MODE_RIPPLE => Self::Ripple,
298            ffi::GES_EDIT_MODE_ROLL => Self::Roll,
299            ffi::GES_EDIT_MODE_TRIM => Self::Trim,
300            ffi::GES_EDIT_MODE_SLIDE => Self::Slide,
301            value => Self::__Unknown(value),
302        }
303    }
304}
305
306impl StaticType for EditMode {
307    #[inline]
308    #[doc(alias = "ges_edit_mode_get_type")]
309    fn static_type() -> glib::Type {
310        unsafe { from_glib(ffi::ges_edit_mode_get_type()) }
311    }
312}
313
314impl glib::HasParamSpec for EditMode {
315    type ParamSpec = glib::ParamSpecEnum;
316    type SetValue = Self;
317    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
318
319    fn param_spec_builder() -> Self::BuilderFn {
320        Self::ParamSpec::builder_with_default
321    }
322}
323
324impl glib::value::ValueType for EditMode {
325    type Type = Self;
326}
327
328unsafe impl<'a> glib::value::FromValue<'a> for EditMode {
329    type Checker = glib::value::GenericValueTypeChecker<Self>;
330
331    #[inline]
332    unsafe fn from_value(value: &'a glib::Value) -> Self {
333        skip_assert_initialized!();
334        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
335    }
336}
337
338impl ToValue for EditMode {
339    #[inline]
340    fn to_value(&self) -> glib::Value {
341        let mut value = glib::Value::for_value_type::<Self>();
342        unsafe {
343            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
344        }
345        value
346    }
347
348    #[inline]
349    fn value_type(&self) -> glib::Type {
350        Self::static_type()
351    }
352}
353
354impl From<EditMode> for glib::Value {
355    #[inline]
356    fn from(v: EditMode) -> Self {
357        skip_assert_initialized!();
358        ToValue::to_value(&v)
359    }
360}
361
362#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
363#[non_exhaustive]
364#[doc(alias = "GESError")]
365pub enum Error {
366    #[doc(alias = "GES_ERROR_ASSET_WRONG_ID")]
367    AssetWrongId,
368    #[doc(alias = "GES_ERROR_ASSET_LOADING")]
369    AssetLoading,
370    #[doc(alias = "GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE")]
371    FormatterMalformedInputFile,
372    #[doc(alias = "GES_ERROR_INVALID_FRAME_NUMBER")]
373    InvalidFrameNumber,
374    #[doc(alias = "GES_ERROR_NEGATIVE_LAYER")]
375    NegativeLayer,
376    #[doc(alias = "GES_ERROR_NEGATIVE_TIME")]
377    NegativeTime,
378    #[doc(alias = "GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT")]
379    NotEnoughInternalContent,
380    #[doc(alias = "GES_ERROR_INVALID_OVERLAP_IN_TRACK")]
381    InvalidOverlapInTrack,
382    #[doc(alias = "GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION")]
383    InvalidEffectBinDescription,
384    #[doc(hidden)]
385    __Unknown(i32),
386}
387
388#[doc(hidden)]
389impl IntoGlib for Error {
390    type GlibType = ffi::GESError;
391
392    #[inline]
393    fn into_glib(self) -> ffi::GESError {
394        match self {
395            Self::AssetWrongId => ffi::GES_ERROR_ASSET_WRONG_ID,
396            Self::AssetLoading => ffi::GES_ERROR_ASSET_LOADING,
397            Self::FormatterMalformedInputFile => ffi::GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE,
398            Self::InvalidFrameNumber => ffi::GES_ERROR_INVALID_FRAME_NUMBER,
399            Self::NegativeLayer => ffi::GES_ERROR_NEGATIVE_LAYER,
400            Self::NegativeTime => ffi::GES_ERROR_NEGATIVE_TIME,
401            Self::NotEnoughInternalContent => ffi::GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT,
402            Self::InvalidOverlapInTrack => ffi::GES_ERROR_INVALID_OVERLAP_IN_TRACK,
403            Self::InvalidEffectBinDescription => ffi::GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION,
404            Self::__Unknown(value) => value,
405        }
406    }
407}
408
409#[doc(hidden)]
410impl FromGlib<ffi::GESError> for Error {
411    #[inline]
412    unsafe fn from_glib(value: ffi::GESError) -> Self {
413        skip_assert_initialized!();
414
415        match value {
416            ffi::GES_ERROR_ASSET_WRONG_ID => Self::AssetWrongId,
417            ffi::GES_ERROR_ASSET_LOADING => Self::AssetLoading,
418            ffi::GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE => Self::FormatterMalformedInputFile,
419            ffi::GES_ERROR_INVALID_FRAME_NUMBER => Self::InvalidFrameNumber,
420            ffi::GES_ERROR_NEGATIVE_LAYER => Self::NegativeLayer,
421            ffi::GES_ERROR_NEGATIVE_TIME => Self::NegativeTime,
422            ffi::GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT => Self::NotEnoughInternalContent,
423            ffi::GES_ERROR_INVALID_OVERLAP_IN_TRACK => Self::InvalidOverlapInTrack,
424            ffi::GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION => Self::InvalidEffectBinDescription,
425            value => Self::__Unknown(value),
426        }
427    }
428}
429
430#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
431#[non_exhaustive]
432#[doc(alias = "GESTextHAlign")]
433pub enum TextHAlign {
434    #[doc(alias = "GES_TEXT_HALIGN_LEFT")]
435    Left,
436    #[doc(alias = "GES_TEXT_HALIGN_CENTER")]
437    Center,
438    #[doc(alias = "GES_TEXT_HALIGN_RIGHT")]
439    Right,
440    #[doc(alias = "GES_TEXT_HALIGN_POSITION")]
441    Position,
442    #[doc(alias = "GES_TEXT_HALIGN_ABSOLUTE")]
443    Absolute,
444    #[doc(hidden)]
445    __Unknown(i32),
446}
447
448#[doc(hidden)]
449impl IntoGlib for TextHAlign {
450    type GlibType = ffi::GESTextHAlign;
451
452    #[inline]
453    fn into_glib(self) -> ffi::GESTextHAlign {
454        match self {
455            Self::Left => ffi::GES_TEXT_HALIGN_LEFT,
456            Self::Center => ffi::GES_TEXT_HALIGN_CENTER,
457            Self::Right => ffi::GES_TEXT_HALIGN_RIGHT,
458            Self::Position => ffi::GES_TEXT_HALIGN_POSITION,
459            Self::Absolute => ffi::GES_TEXT_HALIGN_ABSOLUTE,
460            Self::__Unknown(value) => value,
461        }
462    }
463}
464
465#[doc(hidden)]
466impl FromGlib<ffi::GESTextHAlign> for TextHAlign {
467    #[inline]
468    unsafe fn from_glib(value: ffi::GESTextHAlign) -> Self {
469        skip_assert_initialized!();
470
471        match value {
472            ffi::GES_TEXT_HALIGN_LEFT => Self::Left,
473            ffi::GES_TEXT_HALIGN_CENTER => Self::Center,
474            ffi::GES_TEXT_HALIGN_RIGHT => Self::Right,
475            ffi::GES_TEXT_HALIGN_POSITION => Self::Position,
476            ffi::GES_TEXT_HALIGN_ABSOLUTE => Self::Absolute,
477            value => Self::__Unknown(value),
478        }
479    }
480}
481
482impl StaticType for TextHAlign {
483    #[inline]
484    #[doc(alias = "ges_text_halign_get_type")]
485    fn static_type() -> glib::Type {
486        unsafe { from_glib(ffi::ges_text_halign_get_type()) }
487    }
488}
489
490impl glib::HasParamSpec for TextHAlign {
491    type ParamSpec = glib::ParamSpecEnum;
492    type SetValue = Self;
493    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
494
495    fn param_spec_builder() -> Self::BuilderFn {
496        Self::ParamSpec::builder_with_default
497    }
498}
499
500impl glib::value::ValueType for TextHAlign {
501    type Type = Self;
502}
503
504unsafe impl<'a> glib::value::FromValue<'a> for TextHAlign {
505    type Checker = glib::value::GenericValueTypeChecker<Self>;
506
507    #[inline]
508    unsafe fn from_value(value: &'a glib::Value) -> Self {
509        skip_assert_initialized!();
510        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
511    }
512}
513
514impl ToValue for TextHAlign {
515    #[inline]
516    fn to_value(&self) -> glib::Value {
517        let mut value = glib::Value::for_value_type::<Self>();
518        unsafe {
519            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
520        }
521        value
522    }
523
524    #[inline]
525    fn value_type(&self) -> glib::Type {
526        Self::static_type()
527    }
528}
529
530impl From<TextHAlign> for glib::Value {
531    #[inline]
532    fn from(v: TextHAlign) -> Self {
533        skip_assert_initialized!();
534        ToValue::to_value(&v)
535    }
536}
537
538#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
539#[non_exhaustive]
540#[doc(alias = "GESTextVAlign")]
541pub enum TextVAlign {
542    #[doc(alias = "GES_TEXT_VALIGN_BASELINE")]
543    Baseline,
544    #[doc(alias = "GES_TEXT_VALIGN_BOTTOM")]
545    Bottom,
546    #[doc(alias = "GES_TEXT_VALIGN_TOP")]
547    Top,
548    #[doc(alias = "GES_TEXT_VALIGN_POSITION")]
549    Position,
550    #[doc(alias = "GES_TEXT_VALIGN_CENTER")]
551    Center,
552    #[doc(alias = "GES_TEXT_VALIGN_ABSOLUTE")]
553    Absolute,
554    #[doc(hidden)]
555    __Unknown(i32),
556}
557
558#[doc(hidden)]
559impl IntoGlib for TextVAlign {
560    type GlibType = ffi::GESTextVAlign;
561
562    #[inline]
563    fn into_glib(self) -> ffi::GESTextVAlign {
564        match self {
565            Self::Baseline => ffi::GES_TEXT_VALIGN_BASELINE,
566            Self::Bottom => ffi::GES_TEXT_VALIGN_BOTTOM,
567            Self::Top => ffi::GES_TEXT_VALIGN_TOP,
568            Self::Position => ffi::GES_TEXT_VALIGN_POSITION,
569            Self::Center => ffi::GES_TEXT_VALIGN_CENTER,
570            Self::Absolute => ffi::GES_TEXT_VALIGN_ABSOLUTE,
571            Self::__Unknown(value) => value,
572        }
573    }
574}
575
576#[doc(hidden)]
577impl FromGlib<ffi::GESTextVAlign> for TextVAlign {
578    #[inline]
579    unsafe fn from_glib(value: ffi::GESTextVAlign) -> Self {
580        skip_assert_initialized!();
581
582        match value {
583            ffi::GES_TEXT_VALIGN_BASELINE => Self::Baseline,
584            ffi::GES_TEXT_VALIGN_BOTTOM => Self::Bottom,
585            ffi::GES_TEXT_VALIGN_TOP => Self::Top,
586            ffi::GES_TEXT_VALIGN_POSITION => Self::Position,
587            ffi::GES_TEXT_VALIGN_CENTER => Self::Center,
588            ffi::GES_TEXT_VALIGN_ABSOLUTE => Self::Absolute,
589            value => Self::__Unknown(value),
590        }
591    }
592}
593
594impl StaticType for TextVAlign {
595    #[inline]
596    #[doc(alias = "ges_text_valign_get_type")]
597    fn static_type() -> glib::Type {
598        unsafe { from_glib(ffi::ges_text_valign_get_type()) }
599    }
600}
601
602impl glib::HasParamSpec for TextVAlign {
603    type ParamSpec = glib::ParamSpecEnum;
604    type SetValue = Self;
605    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
606
607    fn param_spec_builder() -> Self::BuilderFn {
608        Self::ParamSpec::builder_with_default
609    }
610}
611
612impl glib::value::ValueType for TextVAlign {
613    type Type = Self;
614}
615
616unsafe impl<'a> glib::value::FromValue<'a> for TextVAlign {
617    type Checker = glib::value::GenericValueTypeChecker<Self>;
618
619    #[inline]
620    unsafe fn from_value(value: &'a glib::Value) -> Self {
621        skip_assert_initialized!();
622        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
623    }
624}
625
626impl ToValue for TextVAlign {
627    #[inline]
628    fn to_value(&self) -> glib::Value {
629        let mut value = glib::Value::for_value_type::<Self>();
630        unsafe {
631            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
632        }
633        value
634    }
635
636    #[inline]
637    fn value_type(&self) -> glib::Type {
638        Self::static_type()
639    }
640}
641
642impl From<TextVAlign> for glib::Value {
643    #[inline]
644    fn from(v: TextVAlign) -> Self {
645        skip_assert_initialized!();
646        ToValue::to_value(&v)
647    }
648}
649
650#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
651#[non_exhaustive]
652#[doc(alias = "GESVideoStandardTransitionType")]
653pub enum VideoStandardTransitionType {
654    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE")]
655    None,
656    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR")]
657    BarWipeLr,
658    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB")]
659    BarWipeTb,
660    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL")]
661    BoxWipeTl,
662    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR")]
663    BoxWipeTr,
664    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR")]
665    BoxWipeBr,
666    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL")]
667    BoxWipeBl,
668    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI")]
669    FourBoxWipeCi,
670    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO")]
671    FourBoxWipeCo,
672    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V")]
673    BarndoorV,
674    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H")]
675    BarndoorH,
676    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC")]
677    BoxWipeTc,
678    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC")]
679    BoxWipeRc,
680    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC")]
681    BoxWipeBc,
682    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC")]
683    BoxWipeLc,
684    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL")]
685    DiagonalTl,
686    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR")]
687    DiagonalTr,
688    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V")]
689    BowtieV,
690    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H")]
691    BowtieH,
692    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL")]
693    BarndoorDbl,
694    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL")]
695    BarndoorDtl,
696    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD")]
697    MiscDiagonalDbd,
698    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD")]
699    MiscDiagonalDd,
700    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D")]
701    VeeD,
702    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L")]
703    VeeL,
704    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U")]
705    VeeU,
706    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R")]
707    VeeR,
708    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D")]
709    BarnveeD,
710    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L")]
711    BarnveeL,
712    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U")]
713    BarnveeU,
714    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R")]
715    BarnveeR,
716    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT")]
717    IrisRect,
718    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12")]
719    ClockCw12,
720    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3")]
721    ClockCw3,
722    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6")]
723    ClockCw6,
724    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9")]
725    ClockCw9,
726    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV")]
727    PinwheelTbv,
728    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH")]
729    PinwheelTbh,
730    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB")]
731    PinwheelFb,
732    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT")]
733    FanCt,
734    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR")]
735    FanCr,
736    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV")]
737    DoublefanFov,
738    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH")]
739    DoublefanFoh,
740    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT")]
741    SinglesweepCwt,
742    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR")]
743    SinglesweepCwr,
744    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB")]
745    SinglesweepCwb,
746    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL")]
747    SinglesweepCwl,
748    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV")]
749    DoublesweepPv,
750    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD")]
751    DoublesweepPd,
752    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV")]
753    DoublesweepOv,
754    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH")]
755    DoublesweepOh,
756    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T")]
757    FanT,
758    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R")]
759    FanR,
760    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B")]
761    FanB,
762    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L")]
763    FanL,
764    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV")]
765    DoublefanFiv,
766    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH")]
767    DoublefanFih,
768    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL")]
769    SinglesweepCwtl,
770    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL")]
771    SinglesweepCwbl,
772    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR")]
773    SinglesweepCwbr,
774    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR")]
775    SinglesweepCwtr,
776    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL")]
777    DoublesweepPdtl,
778    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL")]
779    DoublesweepPdbl,
780    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T")]
781    SaloondoorT,
782    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L")]
783    SaloondoorL,
784    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B")]
785    SaloondoorB,
786    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R")]
787    SaloondoorR,
788    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R")]
789    WindshieldR,
790    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U")]
791    WindshieldU,
792    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V")]
793    WindshieldV,
794    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H")]
795    WindshieldH,
796    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE")]
797    Crossfade,
798    #[cfg(feature = "v1_22")]
799    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
800    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN")]
801    FadeIn,
802    #[doc(hidden)]
803    __Unknown(i32),
804}
805
806#[doc(hidden)]
807impl IntoGlib for VideoStandardTransitionType {
808    type GlibType = ffi::GESVideoStandardTransitionType;
809
810    fn into_glib(self) -> ffi::GESVideoStandardTransitionType {
811        match self {
812            Self::None => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE,
813            Self::BarWipeLr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR,
814            Self::BarWipeTb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB,
815            Self::BoxWipeTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL,
816            Self::BoxWipeTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR,
817            Self::BoxWipeBr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR,
818            Self::BoxWipeBl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL,
819            Self::FourBoxWipeCi => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI,
820            Self::FourBoxWipeCo => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO,
821            Self::BarndoorV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V,
822            Self::BarndoorH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H,
823            Self::BoxWipeTc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC,
824            Self::BoxWipeRc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC,
825            Self::BoxWipeBc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC,
826            Self::BoxWipeLc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC,
827            Self::DiagonalTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL,
828            Self::DiagonalTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR,
829            Self::BowtieV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V,
830            Self::BowtieH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H,
831            Self::BarndoorDbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL,
832            Self::BarndoorDtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL,
833            Self::MiscDiagonalDbd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD,
834            Self::MiscDiagonalDd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD,
835            Self::VeeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D,
836            Self::VeeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L,
837            Self::VeeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U,
838            Self::VeeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R,
839            Self::BarnveeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D,
840            Self::BarnveeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L,
841            Self::BarnveeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U,
842            Self::BarnveeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R,
843            Self::IrisRect => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT,
844            Self::ClockCw12 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12,
845            Self::ClockCw3 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3,
846            Self::ClockCw6 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6,
847            Self::ClockCw9 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9,
848            Self::PinwheelTbv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV,
849            Self::PinwheelTbh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH,
850            Self::PinwheelFb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB,
851            Self::FanCt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT,
852            Self::FanCr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR,
853            Self::DoublefanFov => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV,
854            Self::DoublefanFoh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH,
855            Self::SinglesweepCwt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT,
856            Self::SinglesweepCwr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR,
857            Self::SinglesweepCwb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB,
858            Self::SinglesweepCwl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL,
859            Self::DoublesweepPv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV,
860            Self::DoublesweepPd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD,
861            Self::DoublesweepOv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV,
862            Self::DoublesweepOh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH,
863            Self::FanT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T,
864            Self::FanR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R,
865            Self::FanB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B,
866            Self::FanL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L,
867            Self::DoublefanFiv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV,
868            Self::DoublefanFih => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH,
869            Self::SinglesweepCwtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL,
870            Self::SinglesweepCwbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL,
871            Self::SinglesweepCwbr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR,
872            Self::SinglesweepCwtr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR,
873            Self::DoublesweepPdtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL,
874            Self::DoublesweepPdbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL,
875            Self::SaloondoorT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T,
876            Self::SaloondoorL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L,
877            Self::SaloondoorB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B,
878            Self::SaloondoorR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R,
879            Self::WindshieldR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R,
880            Self::WindshieldU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U,
881            Self::WindshieldV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V,
882            Self::WindshieldH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H,
883            Self::Crossfade => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
884            #[cfg(feature = "v1_22")]
885            Self::FadeIn => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN,
886            Self::__Unknown(value) => value,
887        }
888    }
889}
890
891#[doc(hidden)]
892impl FromGlib<ffi::GESVideoStandardTransitionType> for VideoStandardTransitionType {
893    unsafe fn from_glib(value: ffi::GESVideoStandardTransitionType) -> Self {
894        skip_assert_initialized!();
895
896        match value {
897            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE => Self::None,
898            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR => Self::BarWipeLr,
899            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB => Self::BarWipeTb,
900            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL => Self::BoxWipeTl,
901            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR => Self::BoxWipeTr,
902            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR => Self::BoxWipeBr,
903            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL => Self::BoxWipeBl,
904            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI => Self::FourBoxWipeCi,
905            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO => Self::FourBoxWipeCo,
906            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V => Self::BarndoorV,
907            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H => Self::BarndoorH,
908            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC => Self::BoxWipeTc,
909            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC => Self::BoxWipeRc,
910            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC => Self::BoxWipeBc,
911            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC => Self::BoxWipeLc,
912            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL => Self::DiagonalTl,
913            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR => Self::DiagonalTr,
914            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V => Self::BowtieV,
915            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H => Self::BowtieH,
916            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL => Self::BarndoorDbl,
917            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL => Self::BarndoorDtl,
918            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD => Self::MiscDiagonalDbd,
919            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD => Self::MiscDiagonalDd,
920            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D => Self::VeeD,
921            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L => Self::VeeL,
922            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U => Self::VeeU,
923            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R => Self::VeeR,
924            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D => Self::BarnveeD,
925            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L => Self::BarnveeL,
926            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U => Self::BarnveeU,
927            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R => Self::BarnveeR,
928            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT => Self::IrisRect,
929            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12 => Self::ClockCw12,
930            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3 => Self::ClockCw3,
931            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6 => Self::ClockCw6,
932            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9 => Self::ClockCw9,
933            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV => Self::PinwheelTbv,
934            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH => Self::PinwheelTbh,
935            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB => Self::PinwheelFb,
936            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT => Self::FanCt,
937            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR => Self::FanCr,
938            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV => Self::DoublefanFov,
939            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH => Self::DoublefanFoh,
940            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT => Self::SinglesweepCwt,
941            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR => Self::SinglesweepCwr,
942            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB => Self::SinglesweepCwb,
943            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL => Self::SinglesweepCwl,
944            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV => Self::DoublesweepPv,
945            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD => Self::DoublesweepPd,
946            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV => Self::DoublesweepOv,
947            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH => Self::DoublesweepOh,
948            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T => Self::FanT,
949            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R => Self::FanR,
950            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B => Self::FanB,
951            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L => Self::FanL,
952            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV => Self::DoublefanFiv,
953            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH => Self::DoublefanFih,
954            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL => Self::SinglesweepCwtl,
955            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL => Self::SinglesweepCwbl,
956            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR => Self::SinglesweepCwbr,
957            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR => Self::SinglesweepCwtr,
958            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL => Self::DoublesweepPdtl,
959            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL => Self::DoublesweepPdbl,
960            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T => Self::SaloondoorT,
961            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L => Self::SaloondoorL,
962            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B => Self::SaloondoorB,
963            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R => Self::SaloondoorR,
964            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R => Self::WindshieldR,
965            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U => Self::WindshieldU,
966            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V => Self::WindshieldV,
967            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H => Self::WindshieldH,
968            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE => Self::Crossfade,
969            #[cfg(feature = "v1_22")]
970            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN => Self::FadeIn,
971            value => Self::__Unknown(value),
972        }
973    }
974}
975
976impl StaticType for VideoStandardTransitionType {
977    #[inline]
978    #[doc(alias = "ges_video_standard_transition_type_get_type")]
979    fn static_type() -> glib::Type {
980        unsafe { from_glib(ffi::ges_video_standard_transition_type_get_type()) }
981    }
982}
983
984impl glib::HasParamSpec for VideoStandardTransitionType {
985    type ParamSpec = glib::ParamSpecEnum;
986    type SetValue = Self;
987    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
988
989    fn param_spec_builder() -> Self::BuilderFn {
990        Self::ParamSpec::builder_with_default
991    }
992}
993
994impl glib::value::ValueType for VideoStandardTransitionType {
995    type Type = Self;
996}
997
998unsafe impl<'a> glib::value::FromValue<'a> for VideoStandardTransitionType {
999    type Checker = glib::value::GenericValueTypeChecker<Self>;
1000
1001    #[inline]
1002    unsafe fn from_value(value: &'a glib::Value) -> Self {
1003        skip_assert_initialized!();
1004        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1005    }
1006}
1007
1008impl ToValue for VideoStandardTransitionType {
1009    #[inline]
1010    fn to_value(&self) -> glib::Value {
1011        let mut value = glib::Value::for_value_type::<Self>();
1012        unsafe {
1013            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1014        }
1015        value
1016    }
1017
1018    #[inline]
1019    fn value_type(&self) -> glib::Type {
1020        Self::static_type()
1021    }
1022}
1023
1024impl From<VideoStandardTransitionType> for glib::Value {
1025    #[inline]
1026    fn from(v: VideoStandardTransitionType) -> Self {
1027        skip_assert_initialized!();
1028        ToValue::to_value(&v)
1029    }
1030}
1031
1032#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1033#[non_exhaustive]
1034#[doc(alias = "GESVideoTestPattern")]
1035pub enum VideoTestPattern {
1036    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE")]
1037    Smpte,
1038    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SNOW")]
1039    Snow,
1040    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLACK")]
1041    Black,
1042    #[doc(alias = "GES_VIDEO_TEST_PATTERN_WHITE")]
1043    White,
1044    #[doc(alias = "GES_VIDEO_TEST_PATTERN_RED")]
1045    Red,
1046    #[doc(alias = "GES_VIDEO_TEST_PATTERN_GREEN")]
1047    Green,
1048    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLUE")]
1049    Blue,
1050    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS1")]
1051    Checkers1,
1052    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS2")]
1053    Checkers2,
1054    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS4")]
1055    Checkers4,
1056    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS8")]
1057    Checkers8,
1058    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CIRCULAR")]
1059    Circular,
1060    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLINK")]
1061    Blink,
1062    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE75")]
1063    Smpte75,
1064    #[doc(alias = "GES_VIDEO_TEST_ZONE_PLATE")]
1065    ZonePlate,
1066    #[doc(alias = "GES_VIDEO_TEST_GAMUT")]
1067    Gamut,
1068    #[doc(alias = "GES_VIDEO_TEST_CHROMA_ZONE_PLATE")]
1069    ChromaZonePlate,
1070    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SOLID")]
1071    SolidColor,
1072    #[doc(hidden)]
1073    __Unknown(i32),
1074}
1075
1076#[doc(hidden)]
1077impl IntoGlib for VideoTestPattern {
1078    type GlibType = ffi::GESVideoTestPattern;
1079
1080    fn into_glib(self) -> ffi::GESVideoTestPattern {
1081        match self {
1082            Self::Smpte => ffi::GES_VIDEO_TEST_PATTERN_SMPTE,
1083            Self::Snow => ffi::GES_VIDEO_TEST_PATTERN_SNOW,
1084            Self::Black => ffi::GES_VIDEO_TEST_PATTERN_BLACK,
1085            Self::White => ffi::GES_VIDEO_TEST_PATTERN_WHITE,
1086            Self::Red => ffi::GES_VIDEO_TEST_PATTERN_RED,
1087            Self::Green => ffi::GES_VIDEO_TEST_PATTERN_GREEN,
1088            Self::Blue => ffi::GES_VIDEO_TEST_PATTERN_BLUE,
1089            Self::Checkers1 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1,
1090            Self::Checkers2 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2,
1091            Self::Checkers4 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4,
1092            Self::Checkers8 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8,
1093            Self::Circular => ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR,
1094            Self::Blink => ffi::GES_VIDEO_TEST_PATTERN_BLINK,
1095            Self::Smpte75 => ffi::GES_VIDEO_TEST_PATTERN_SMPTE75,
1096            Self::ZonePlate => ffi::GES_VIDEO_TEST_ZONE_PLATE,
1097            Self::Gamut => ffi::GES_VIDEO_TEST_GAMUT,
1098            Self::ChromaZonePlate => ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE,
1099            Self::SolidColor => ffi::GES_VIDEO_TEST_PATTERN_SOLID,
1100            Self::__Unknown(value) => value,
1101        }
1102    }
1103}
1104
1105#[doc(hidden)]
1106impl FromGlib<ffi::GESVideoTestPattern> for VideoTestPattern {
1107    unsafe fn from_glib(value: ffi::GESVideoTestPattern) -> Self {
1108        skip_assert_initialized!();
1109
1110        match value {
1111            ffi::GES_VIDEO_TEST_PATTERN_SMPTE => Self::Smpte,
1112            ffi::GES_VIDEO_TEST_PATTERN_SNOW => Self::Snow,
1113            ffi::GES_VIDEO_TEST_PATTERN_BLACK => Self::Black,
1114            ffi::GES_VIDEO_TEST_PATTERN_WHITE => Self::White,
1115            ffi::GES_VIDEO_TEST_PATTERN_RED => Self::Red,
1116            ffi::GES_VIDEO_TEST_PATTERN_GREEN => Self::Green,
1117            ffi::GES_VIDEO_TEST_PATTERN_BLUE => Self::Blue,
1118            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1 => Self::Checkers1,
1119            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2 => Self::Checkers2,
1120            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4 => Self::Checkers4,
1121            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8 => Self::Checkers8,
1122            ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR => Self::Circular,
1123            ffi::GES_VIDEO_TEST_PATTERN_BLINK => Self::Blink,
1124            ffi::GES_VIDEO_TEST_PATTERN_SMPTE75 => Self::Smpte75,
1125            ffi::GES_VIDEO_TEST_ZONE_PLATE => Self::ZonePlate,
1126            ffi::GES_VIDEO_TEST_GAMUT => Self::Gamut,
1127            ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE => Self::ChromaZonePlate,
1128            ffi::GES_VIDEO_TEST_PATTERN_SOLID => Self::SolidColor,
1129            value => Self::__Unknown(value),
1130        }
1131    }
1132}
1133
1134impl StaticType for VideoTestPattern {
1135    #[inline]
1136    #[doc(alias = "ges_video_test_pattern_get_type")]
1137    fn static_type() -> glib::Type {
1138        unsafe { from_glib(ffi::ges_video_test_pattern_get_type()) }
1139    }
1140}
1141
1142impl glib::HasParamSpec for VideoTestPattern {
1143    type ParamSpec = glib::ParamSpecEnum;
1144    type SetValue = Self;
1145    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1146
1147    fn param_spec_builder() -> Self::BuilderFn {
1148        Self::ParamSpec::builder_with_default
1149    }
1150}
1151
1152impl glib::value::ValueType for VideoTestPattern {
1153    type Type = Self;
1154}
1155
1156unsafe impl<'a> glib::value::FromValue<'a> for VideoTestPattern {
1157    type Checker = glib::value::GenericValueTypeChecker<Self>;
1158
1159    #[inline]
1160    unsafe fn from_value(value: &'a glib::Value) -> Self {
1161        skip_assert_initialized!();
1162        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
1163    }
1164}
1165
1166impl ToValue for VideoTestPattern {
1167    #[inline]
1168    fn to_value(&self) -> glib::Value {
1169        let mut value = glib::Value::for_value_type::<Self>();
1170        unsafe {
1171            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1172        }
1173        value
1174    }
1175
1176    #[inline]
1177    fn value_type(&self) -> glib::Type {
1178        Self::static_type()
1179    }
1180}
1181
1182impl From<VideoTestPattern> for glib::Value {
1183    #[inline]
1184    fn from(v: VideoTestPattern) -> Self {
1185        skip_assert_initialized!();
1186        ToValue::to_value(&v)
1187    }
1188}