1use 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}