Skip to main content

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        unsafe { 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        unsafe { 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
430impl glib::error::ErrorDomain for Error {
431    #[inline]
432    fn domain() -> glib::Quark {
433        skip_assert_initialized!();
434
435        static QUARK: ::std::sync::OnceLock<glib::ffi::GQuark> = ::std::sync::OnceLock::new();
436        let quark = *QUARK.get_or_init(|| unsafe {
437            glib::ffi::g_quark_from_static_string(c"GES_ERROR".as_ptr())
438        });
439        unsafe { from_glib(quark) }
440    }
441
442    #[inline]
443    fn code(self) -> i32 {
444        self.into_glib()
445    }
446
447    #[inline]
448    #[allow(clippy::match_single_binding)]
449    fn from(code: i32) -> Option<Self> {
450        skip_assert_initialized!();
451        match unsafe { from_glib(code) } {
452            value => Some(value),
453        }
454    }
455}
456
457#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
458#[non_exhaustive]
459#[doc(alias = "GESTextHAlign")]
460pub enum TextHAlign {
461    #[doc(alias = "GES_TEXT_HALIGN_LEFT")]
462    Left,
463    #[doc(alias = "GES_TEXT_HALIGN_CENTER")]
464    Center,
465    #[doc(alias = "GES_TEXT_HALIGN_RIGHT")]
466    Right,
467    #[doc(alias = "GES_TEXT_HALIGN_POSITION")]
468    Position,
469    #[doc(alias = "GES_TEXT_HALIGN_ABSOLUTE")]
470    Absolute,
471    #[doc(hidden)]
472    __Unknown(i32),
473}
474
475#[doc(hidden)]
476impl IntoGlib for TextHAlign {
477    type GlibType = ffi::GESTextHAlign;
478
479    #[inline]
480    fn into_glib(self) -> ffi::GESTextHAlign {
481        match self {
482            Self::Left => ffi::GES_TEXT_HALIGN_LEFT,
483            Self::Center => ffi::GES_TEXT_HALIGN_CENTER,
484            Self::Right => ffi::GES_TEXT_HALIGN_RIGHT,
485            Self::Position => ffi::GES_TEXT_HALIGN_POSITION,
486            Self::Absolute => ffi::GES_TEXT_HALIGN_ABSOLUTE,
487            Self::__Unknown(value) => value,
488        }
489    }
490}
491
492#[doc(hidden)]
493impl FromGlib<ffi::GESTextHAlign> for TextHAlign {
494    #[inline]
495    unsafe fn from_glib(value: ffi::GESTextHAlign) -> Self {
496        skip_assert_initialized!();
497
498        match value {
499            ffi::GES_TEXT_HALIGN_LEFT => Self::Left,
500            ffi::GES_TEXT_HALIGN_CENTER => Self::Center,
501            ffi::GES_TEXT_HALIGN_RIGHT => Self::Right,
502            ffi::GES_TEXT_HALIGN_POSITION => Self::Position,
503            ffi::GES_TEXT_HALIGN_ABSOLUTE => Self::Absolute,
504            value => Self::__Unknown(value),
505        }
506    }
507}
508
509impl StaticType for TextHAlign {
510    #[inline]
511    #[doc(alias = "ges_text_halign_get_type")]
512    fn static_type() -> glib::Type {
513        unsafe { from_glib(ffi::ges_text_halign_get_type()) }
514    }
515}
516
517impl glib::HasParamSpec for TextHAlign {
518    type ParamSpec = glib::ParamSpecEnum;
519    type SetValue = Self;
520    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
521
522    fn param_spec_builder() -> Self::BuilderFn {
523        Self::ParamSpec::builder_with_default
524    }
525}
526
527impl glib::value::ValueType for TextHAlign {
528    type Type = Self;
529}
530
531unsafe impl<'a> glib::value::FromValue<'a> for TextHAlign {
532    type Checker = glib::value::GenericValueTypeChecker<Self>;
533
534    #[inline]
535    unsafe fn from_value(value: &'a glib::Value) -> Self {
536        skip_assert_initialized!();
537        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
538    }
539}
540
541impl ToValue for TextHAlign {
542    #[inline]
543    fn to_value(&self) -> glib::Value {
544        let mut value = glib::Value::for_value_type::<Self>();
545        unsafe {
546            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
547        }
548        value
549    }
550
551    #[inline]
552    fn value_type(&self) -> glib::Type {
553        Self::static_type()
554    }
555}
556
557impl From<TextHAlign> for glib::Value {
558    #[inline]
559    fn from(v: TextHAlign) -> Self {
560        skip_assert_initialized!();
561        ToValue::to_value(&v)
562    }
563}
564
565#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
566#[non_exhaustive]
567#[doc(alias = "GESTextVAlign")]
568pub enum TextVAlign {
569    #[doc(alias = "GES_TEXT_VALIGN_BASELINE")]
570    Baseline,
571    #[doc(alias = "GES_TEXT_VALIGN_BOTTOM")]
572    Bottom,
573    #[doc(alias = "GES_TEXT_VALIGN_TOP")]
574    Top,
575    #[doc(alias = "GES_TEXT_VALIGN_POSITION")]
576    Position,
577    #[doc(alias = "GES_TEXT_VALIGN_CENTER")]
578    Center,
579    #[doc(alias = "GES_TEXT_VALIGN_ABSOLUTE")]
580    Absolute,
581    #[doc(hidden)]
582    __Unknown(i32),
583}
584
585#[doc(hidden)]
586impl IntoGlib for TextVAlign {
587    type GlibType = ffi::GESTextVAlign;
588
589    #[inline]
590    fn into_glib(self) -> ffi::GESTextVAlign {
591        match self {
592            Self::Baseline => ffi::GES_TEXT_VALIGN_BASELINE,
593            Self::Bottom => ffi::GES_TEXT_VALIGN_BOTTOM,
594            Self::Top => ffi::GES_TEXT_VALIGN_TOP,
595            Self::Position => ffi::GES_TEXT_VALIGN_POSITION,
596            Self::Center => ffi::GES_TEXT_VALIGN_CENTER,
597            Self::Absolute => ffi::GES_TEXT_VALIGN_ABSOLUTE,
598            Self::__Unknown(value) => value,
599        }
600    }
601}
602
603#[doc(hidden)]
604impl FromGlib<ffi::GESTextVAlign> for TextVAlign {
605    #[inline]
606    unsafe fn from_glib(value: ffi::GESTextVAlign) -> Self {
607        skip_assert_initialized!();
608
609        match value {
610            ffi::GES_TEXT_VALIGN_BASELINE => Self::Baseline,
611            ffi::GES_TEXT_VALIGN_BOTTOM => Self::Bottom,
612            ffi::GES_TEXT_VALIGN_TOP => Self::Top,
613            ffi::GES_TEXT_VALIGN_POSITION => Self::Position,
614            ffi::GES_TEXT_VALIGN_CENTER => Self::Center,
615            ffi::GES_TEXT_VALIGN_ABSOLUTE => Self::Absolute,
616            value => Self::__Unknown(value),
617        }
618    }
619}
620
621impl StaticType for TextVAlign {
622    #[inline]
623    #[doc(alias = "ges_text_valign_get_type")]
624    fn static_type() -> glib::Type {
625        unsafe { from_glib(ffi::ges_text_valign_get_type()) }
626    }
627}
628
629impl glib::HasParamSpec for TextVAlign {
630    type ParamSpec = glib::ParamSpecEnum;
631    type SetValue = Self;
632    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
633
634    fn param_spec_builder() -> Self::BuilderFn {
635        Self::ParamSpec::builder_with_default
636    }
637}
638
639impl glib::value::ValueType for TextVAlign {
640    type Type = Self;
641}
642
643unsafe impl<'a> glib::value::FromValue<'a> for TextVAlign {
644    type Checker = glib::value::GenericValueTypeChecker<Self>;
645
646    #[inline]
647    unsafe fn from_value(value: &'a glib::Value) -> Self {
648        skip_assert_initialized!();
649        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
650    }
651}
652
653impl ToValue for TextVAlign {
654    #[inline]
655    fn to_value(&self) -> glib::Value {
656        let mut value = glib::Value::for_value_type::<Self>();
657        unsafe {
658            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
659        }
660        value
661    }
662
663    #[inline]
664    fn value_type(&self) -> glib::Type {
665        Self::static_type()
666    }
667}
668
669impl From<TextVAlign> for glib::Value {
670    #[inline]
671    fn from(v: TextVAlign) -> Self {
672        skip_assert_initialized!();
673        ToValue::to_value(&v)
674    }
675}
676
677#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
678#[non_exhaustive]
679#[doc(alias = "GESVideoStandardTransitionType")]
680pub enum VideoStandardTransitionType {
681    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE")]
682    None,
683    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR")]
684    BarWipeLr,
685    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB")]
686    BarWipeTb,
687    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL")]
688    BoxWipeTl,
689    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR")]
690    BoxWipeTr,
691    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR")]
692    BoxWipeBr,
693    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL")]
694    BoxWipeBl,
695    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI")]
696    FourBoxWipeCi,
697    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO")]
698    FourBoxWipeCo,
699    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V")]
700    BarndoorV,
701    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H")]
702    BarndoorH,
703    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC")]
704    BoxWipeTc,
705    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC")]
706    BoxWipeRc,
707    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC")]
708    BoxWipeBc,
709    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC")]
710    BoxWipeLc,
711    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL")]
712    DiagonalTl,
713    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR")]
714    DiagonalTr,
715    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V")]
716    BowtieV,
717    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H")]
718    BowtieH,
719    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL")]
720    BarndoorDbl,
721    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL")]
722    BarndoorDtl,
723    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD")]
724    MiscDiagonalDbd,
725    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD")]
726    MiscDiagonalDd,
727    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D")]
728    VeeD,
729    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L")]
730    VeeL,
731    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U")]
732    VeeU,
733    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R")]
734    VeeR,
735    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D")]
736    BarnveeD,
737    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L")]
738    BarnveeL,
739    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U")]
740    BarnveeU,
741    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R")]
742    BarnveeR,
743    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT")]
744    IrisRect,
745    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12")]
746    ClockCw12,
747    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3")]
748    ClockCw3,
749    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6")]
750    ClockCw6,
751    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9")]
752    ClockCw9,
753    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV")]
754    PinwheelTbv,
755    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH")]
756    PinwheelTbh,
757    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB")]
758    PinwheelFb,
759    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT")]
760    FanCt,
761    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR")]
762    FanCr,
763    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV")]
764    DoublefanFov,
765    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH")]
766    DoublefanFoh,
767    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT")]
768    SinglesweepCwt,
769    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR")]
770    SinglesweepCwr,
771    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB")]
772    SinglesweepCwb,
773    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL")]
774    SinglesweepCwl,
775    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV")]
776    DoublesweepPv,
777    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD")]
778    DoublesweepPd,
779    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV")]
780    DoublesweepOv,
781    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH")]
782    DoublesweepOh,
783    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T")]
784    FanT,
785    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R")]
786    FanR,
787    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B")]
788    FanB,
789    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L")]
790    FanL,
791    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV")]
792    DoublefanFiv,
793    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH")]
794    DoublefanFih,
795    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL")]
796    SinglesweepCwtl,
797    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL")]
798    SinglesweepCwbl,
799    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR")]
800    SinglesweepCwbr,
801    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR")]
802    SinglesweepCwtr,
803    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL")]
804    DoublesweepPdtl,
805    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL")]
806    DoublesweepPdbl,
807    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T")]
808    SaloondoorT,
809    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L")]
810    SaloondoorL,
811    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B")]
812    SaloondoorB,
813    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R")]
814    SaloondoorR,
815    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R")]
816    WindshieldR,
817    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U")]
818    WindshieldU,
819    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V")]
820    WindshieldV,
821    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H")]
822    WindshieldH,
823    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE")]
824    Crossfade,
825    #[cfg(feature = "v1_22")]
826    #[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
827    #[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN")]
828    FadeIn,
829    #[doc(hidden)]
830    __Unknown(i32),
831}
832
833#[doc(hidden)]
834impl IntoGlib for VideoStandardTransitionType {
835    type GlibType = ffi::GESVideoStandardTransitionType;
836
837    fn into_glib(self) -> ffi::GESVideoStandardTransitionType {
838        match self {
839            Self::None => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE,
840            Self::BarWipeLr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR,
841            Self::BarWipeTb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB,
842            Self::BoxWipeTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL,
843            Self::BoxWipeTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR,
844            Self::BoxWipeBr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR,
845            Self::BoxWipeBl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL,
846            Self::FourBoxWipeCi => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI,
847            Self::FourBoxWipeCo => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO,
848            Self::BarndoorV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V,
849            Self::BarndoorH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H,
850            Self::BoxWipeTc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC,
851            Self::BoxWipeRc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC,
852            Self::BoxWipeBc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC,
853            Self::BoxWipeLc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC,
854            Self::DiagonalTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL,
855            Self::DiagonalTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR,
856            Self::BowtieV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V,
857            Self::BowtieH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H,
858            Self::BarndoorDbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL,
859            Self::BarndoorDtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL,
860            Self::MiscDiagonalDbd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD,
861            Self::MiscDiagonalDd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD,
862            Self::VeeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D,
863            Self::VeeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L,
864            Self::VeeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U,
865            Self::VeeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R,
866            Self::BarnveeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D,
867            Self::BarnveeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L,
868            Self::BarnveeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U,
869            Self::BarnveeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R,
870            Self::IrisRect => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT,
871            Self::ClockCw12 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12,
872            Self::ClockCw3 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3,
873            Self::ClockCw6 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6,
874            Self::ClockCw9 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9,
875            Self::PinwheelTbv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV,
876            Self::PinwheelTbh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH,
877            Self::PinwheelFb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB,
878            Self::FanCt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT,
879            Self::FanCr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR,
880            Self::DoublefanFov => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV,
881            Self::DoublefanFoh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH,
882            Self::SinglesweepCwt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT,
883            Self::SinglesweepCwr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR,
884            Self::SinglesweepCwb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB,
885            Self::SinglesweepCwl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL,
886            Self::DoublesweepPv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV,
887            Self::DoublesweepPd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD,
888            Self::DoublesweepOv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV,
889            Self::DoublesweepOh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH,
890            Self::FanT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T,
891            Self::FanR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R,
892            Self::FanB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B,
893            Self::FanL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L,
894            Self::DoublefanFiv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV,
895            Self::DoublefanFih => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH,
896            Self::SinglesweepCwtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL,
897            Self::SinglesweepCwbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL,
898            Self::SinglesweepCwbr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR,
899            Self::SinglesweepCwtr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR,
900            Self::DoublesweepPdtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL,
901            Self::DoublesweepPdbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL,
902            Self::SaloondoorT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T,
903            Self::SaloondoorL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L,
904            Self::SaloondoorB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B,
905            Self::SaloondoorR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R,
906            Self::WindshieldR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R,
907            Self::WindshieldU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U,
908            Self::WindshieldV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V,
909            Self::WindshieldH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H,
910            Self::Crossfade => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
911            #[cfg(feature = "v1_22")]
912            Self::FadeIn => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN,
913            Self::__Unknown(value) => value,
914        }
915    }
916}
917
918#[doc(hidden)]
919impl FromGlib<ffi::GESVideoStandardTransitionType> for VideoStandardTransitionType {
920    unsafe fn from_glib(value: ffi::GESVideoStandardTransitionType) -> Self {
921        skip_assert_initialized!();
922
923        match value {
924            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE => Self::None,
925            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR => Self::BarWipeLr,
926            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB => Self::BarWipeTb,
927            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL => Self::BoxWipeTl,
928            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR => Self::BoxWipeTr,
929            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR => Self::BoxWipeBr,
930            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL => Self::BoxWipeBl,
931            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI => Self::FourBoxWipeCi,
932            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO => Self::FourBoxWipeCo,
933            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V => Self::BarndoorV,
934            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H => Self::BarndoorH,
935            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC => Self::BoxWipeTc,
936            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC => Self::BoxWipeRc,
937            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC => Self::BoxWipeBc,
938            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC => Self::BoxWipeLc,
939            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL => Self::DiagonalTl,
940            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR => Self::DiagonalTr,
941            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V => Self::BowtieV,
942            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H => Self::BowtieH,
943            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL => Self::BarndoorDbl,
944            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL => Self::BarndoorDtl,
945            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD => Self::MiscDiagonalDbd,
946            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD => Self::MiscDiagonalDd,
947            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D => Self::VeeD,
948            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L => Self::VeeL,
949            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U => Self::VeeU,
950            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R => Self::VeeR,
951            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D => Self::BarnveeD,
952            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L => Self::BarnveeL,
953            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U => Self::BarnveeU,
954            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R => Self::BarnveeR,
955            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT => Self::IrisRect,
956            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12 => Self::ClockCw12,
957            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3 => Self::ClockCw3,
958            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6 => Self::ClockCw6,
959            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9 => Self::ClockCw9,
960            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV => Self::PinwheelTbv,
961            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH => Self::PinwheelTbh,
962            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB => Self::PinwheelFb,
963            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT => Self::FanCt,
964            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR => Self::FanCr,
965            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV => Self::DoublefanFov,
966            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH => Self::DoublefanFoh,
967            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT => Self::SinglesweepCwt,
968            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR => Self::SinglesweepCwr,
969            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB => Self::SinglesweepCwb,
970            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL => Self::SinglesweepCwl,
971            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV => Self::DoublesweepPv,
972            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD => Self::DoublesweepPd,
973            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV => Self::DoublesweepOv,
974            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH => Self::DoublesweepOh,
975            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T => Self::FanT,
976            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R => Self::FanR,
977            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B => Self::FanB,
978            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L => Self::FanL,
979            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV => Self::DoublefanFiv,
980            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH => Self::DoublefanFih,
981            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL => Self::SinglesweepCwtl,
982            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL => Self::SinglesweepCwbl,
983            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR => Self::SinglesweepCwbr,
984            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR => Self::SinglesweepCwtr,
985            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL => Self::DoublesweepPdtl,
986            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL => Self::DoublesweepPdbl,
987            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T => Self::SaloondoorT,
988            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L => Self::SaloondoorL,
989            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B => Self::SaloondoorB,
990            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R => Self::SaloondoorR,
991            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R => Self::WindshieldR,
992            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U => Self::WindshieldU,
993            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V => Self::WindshieldV,
994            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H => Self::WindshieldH,
995            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE => Self::Crossfade,
996            #[cfg(feature = "v1_22")]
997            ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN => Self::FadeIn,
998            value => Self::__Unknown(value),
999        }
1000    }
1001}
1002
1003impl StaticType for VideoStandardTransitionType {
1004    #[inline]
1005    #[doc(alias = "ges_video_standard_transition_type_get_type")]
1006    fn static_type() -> glib::Type {
1007        unsafe { from_glib(ffi::ges_video_standard_transition_type_get_type()) }
1008    }
1009}
1010
1011impl glib::HasParamSpec for VideoStandardTransitionType {
1012    type ParamSpec = glib::ParamSpecEnum;
1013    type SetValue = Self;
1014    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1015
1016    fn param_spec_builder() -> Self::BuilderFn {
1017        Self::ParamSpec::builder_with_default
1018    }
1019}
1020
1021impl glib::value::ValueType for VideoStandardTransitionType {
1022    type Type = Self;
1023}
1024
1025unsafe impl<'a> glib::value::FromValue<'a> for VideoStandardTransitionType {
1026    type Checker = glib::value::GenericValueTypeChecker<Self>;
1027
1028    #[inline]
1029    unsafe fn from_value(value: &'a glib::Value) -> Self {
1030        skip_assert_initialized!();
1031        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1032    }
1033}
1034
1035impl ToValue for VideoStandardTransitionType {
1036    #[inline]
1037    fn to_value(&self) -> glib::Value {
1038        let mut value = glib::Value::for_value_type::<Self>();
1039        unsafe {
1040            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1041        }
1042        value
1043    }
1044
1045    #[inline]
1046    fn value_type(&self) -> glib::Type {
1047        Self::static_type()
1048    }
1049}
1050
1051impl From<VideoStandardTransitionType> for glib::Value {
1052    #[inline]
1053    fn from(v: VideoStandardTransitionType) -> Self {
1054        skip_assert_initialized!();
1055        ToValue::to_value(&v)
1056    }
1057}
1058
1059#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
1060#[non_exhaustive]
1061#[doc(alias = "GESVideoTestPattern")]
1062pub enum VideoTestPattern {
1063    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE")]
1064    Smpte,
1065    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SNOW")]
1066    Snow,
1067    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLACK")]
1068    Black,
1069    #[doc(alias = "GES_VIDEO_TEST_PATTERN_WHITE")]
1070    White,
1071    #[doc(alias = "GES_VIDEO_TEST_PATTERN_RED")]
1072    Red,
1073    #[doc(alias = "GES_VIDEO_TEST_PATTERN_GREEN")]
1074    Green,
1075    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLUE")]
1076    Blue,
1077    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS1")]
1078    Checkers1,
1079    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS2")]
1080    Checkers2,
1081    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS4")]
1082    Checkers4,
1083    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS8")]
1084    Checkers8,
1085    #[doc(alias = "GES_VIDEO_TEST_PATTERN_CIRCULAR")]
1086    Circular,
1087    #[doc(alias = "GES_VIDEO_TEST_PATTERN_BLINK")]
1088    Blink,
1089    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE75")]
1090    Smpte75,
1091    #[doc(alias = "GES_VIDEO_TEST_ZONE_PLATE")]
1092    ZonePlate,
1093    #[doc(alias = "GES_VIDEO_TEST_GAMUT")]
1094    Gamut,
1095    #[doc(alias = "GES_VIDEO_TEST_CHROMA_ZONE_PLATE")]
1096    ChromaZonePlate,
1097    #[doc(alias = "GES_VIDEO_TEST_PATTERN_SOLID")]
1098    SolidColor,
1099    #[doc(hidden)]
1100    __Unknown(i32),
1101}
1102
1103#[doc(hidden)]
1104impl IntoGlib for VideoTestPattern {
1105    type GlibType = ffi::GESVideoTestPattern;
1106
1107    fn into_glib(self) -> ffi::GESVideoTestPattern {
1108        match self {
1109            Self::Smpte => ffi::GES_VIDEO_TEST_PATTERN_SMPTE,
1110            Self::Snow => ffi::GES_VIDEO_TEST_PATTERN_SNOW,
1111            Self::Black => ffi::GES_VIDEO_TEST_PATTERN_BLACK,
1112            Self::White => ffi::GES_VIDEO_TEST_PATTERN_WHITE,
1113            Self::Red => ffi::GES_VIDEO_TEST_PATTERN_RED,
1114            Self::Green => ffi::GES_VIDEO_TEST_PATTERN_GREEN,
1115            Self::Blue => ffi::GES_VIDEO_TEST_PATTERN_BLUE,
1116            Self::Checkers1 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1,
1117            Self::Checkers2 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2,
1118            Self::Checkers4 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4,
1119            Self::Checkers8 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8,
1120            Self::Circular => ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR,
1121            Self::Blink => ffi::GES_VIDEO_TEST_PATTERN_BLINK,
1122            Self::Smpte75 => ffi::GES_VIDEO_TEST_PATTERN_SMPTE75,
1123            Self::ZonePlate => ffi::GES_VIDEO_TEST_ZONE_PLATE,
1124            Self::Gamut => ffi::GES_VIDEO_TEST_GAMUT,
1125            Self::ChromaZonePlate => ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE,
1126            Self::SolidColor => ffi::GES_VIDEO_TEST_PATTERN_SOLID,
1127            Self::__Unknown(value) => value,
1128        }
1129    }
1130}
1131
1132#[doc(hidden)]
1133impl FromGlib<ffi::GESVideoTestPattern> for VideoTestPattern {
1134    unsafe fn from_glib(value: ffi::GESVideoTestPattern) -> Self {
1135        skip_assert_initialized!();
1136
1137        match value {
1138            ffi::GES_VIDEO_TEST_PATTERN_SMPTE => Self::Smpte,
1139            ffi::GES_VIDEO_TEST_PATTERN_SNOW => Self::Snow,
1140            ffi::GES_VIDEO_TEST_PATTERN_BLACK => Self::Black,
1141            ffi::GES_VIDEO_TEST_PATTERN_WHITE => Self::White,
1142            ffi::GES_VIDEO_TEST_PATTERN_RED => Self::Red,
1143            ffi::GES_VIDEO_TEST_PATTERN_GREEN => Self::Green,
1144            ffi::GES_VIDEO_TEST_PATTERN_BLUE => Self::Blue,
1145            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1 => Self::Checkers1,
1146            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2 => Self::Checkers2,
1147            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4 => Self::Checkers4,
1148            ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8 => Self::Checkers8,
1149            ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR => Self::Circular,
1150            ffi::GES_VIDEO_TEST_PATTERN_BLINK => Self::Blink,
1151            ffi::GES_VIDEO_TEST_PATTERN_SMPTE75 => Self::Smpte75,
1152            ffi::GES_VIDEO_TEST_ZONE_PLATE => Self::ZonePlate,
1153            ffi::GES_VIDEO_TEST_GAMUT => Self::Gamut,
1154            ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE => Self::ChromaZonePlate,
1155            ffi::GES_VIDEO_TEST_PATTERN_SOLID => Self::SolidColor,
1156            value => Self::__Unknown(value),
1157        }
1158    }
1159}
1160
1161impl StaticType for VideoTestPattern {
1162    #[inline]
1163    #[doc(alias = "ges_video_test_pattern_get_type")]
1164    fn static_type() -> glib::Type {
1165        unsafe { from_glib(ffi::ges_video_test_pattern_get_type()) }
1166    }
1167}
1168
1169impl glib::HasParamSpec for VideoTestPattern {
1170    type ParamSpec = glib::ParamSpecEnum;
1171    type SetValue = Self;
1172    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
1173
1174    fn param_spec_builder() -> Self::BuilderFn {
1175        Self::ParamSpec::builder_with_default
1176    }
1177}
1178
1179impl glib::value::ValueType for VideoTestPattern {
1180    type Type = Self;
1181}
1182
1183unsafe impl<'a> glib::value::FromValue<'a> for VideoTestPattern {
1184    type Checker = glib::value::GenericValueTypeChecker<Self>;
1185
1186    #[inline]
1187    unsafe fn from_value(value: &'a glib::Value) -> Self {
1188        skip_assert_initialized!();
1189        unsafe { from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0)) }
1190    }
1191}
1192
1193impl ToValue for VideoTestPattern {
1194    #[inline]
1195    fn to_value(&self) -> glib::Value {
1196        let mut value = glib::Value::for_value_type::<Self>();
1197        unsafe {
1198            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
1199        }
1200        value
1201    }
1202
1203    #[inline]
1204    fn value_type(&self) -> glib::Type {
1205        Self::static_type()
1206    }
1207}
1208
1209impl From<VideoTestPattern> for glib::Value {
1210    #[inline]
1211    fn from(v: VideoTestPattern) -> Self {
1212        skip_assert_initialized!();
1213        ToValue::to_value(&v)
1214    }
1215}