use crate::ffi;
#[cfg(feature = "v1_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
use glib::GStr;
use glib::{prelude::*, translate::*};
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESAssetLoadingReturn")]
pub enum AssetLoadingReturn {
#[doc(alias = "GES_ASSET_LOADING_ERROR")]
Error,
#[doc(alias = "GES_ASSET_LOADING_ASYNC")]
Async,
#[doc(alias = "GES_ASSET_LOADING_OK")]
Ok,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for AssetLoadingReturn {
type GlibType = ffi::GESAssetLoadingReturn;
#[inline]
fn into_glib(self) -> ffi::GESAssetLoadingReturn {
match self {
Self::Error => ffi::GES_ASSET_LOADING_ERROR,
Self::Async => ffi::GES_ASSET_LOADING_ASYNC,
Self::Ok => ffi::GES_ASSET_LOADING_OK,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESAssetLoadingReturn> for AssetLoadingReturn {
#[inline]
unsafe fn from_glib(value: ffi::GESAssetLoadingReturn) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_ASSET_LOADING_ERROR => Self::Error,
ffi::GES_ASSET_LOADING_ASYNC => Self::Async,
ffi::GES_ASSET_LOADING_OK => Self::Ok,
value => Self::__Unknown(value),
}
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESChildrenControlMode")]
pub enum ChildrenControlMode {
#[doc(alias = "GES_CHILDREN_UPDATE")]
Update,
#[doc(alias = "GES_CHILDREN_IGNORE_NOTIFIES")]
IgnoreNotifies,
#[doc(alias = "GES_CHILDREN_UPDATE_OFFSETS")]
UpdateOffsets,
#[doc(alias = "GES_CHILDREN_UPDATE_ALL_VALUES")]
UpdateAllValues,
#[doc(alias = "GES_CHILDREN_LAST")]
Last,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for ChildrenControlMode {
type GlibType = ffi::GESChildrenControlMode;
#[inline]
fn into_glib(self) -> ffi::GESChildrenControlMode {
match self {
Self::Update => ffi::GES_CHILDREN_UPDATE,
Self::IgnoreNotifies => ffi::GES_CHILDREN_IGNORE_NOTIFIES,
Self::UpdateOffsets => ffi::GES_CHILDREN_UPDATE_OFFSETS,
Self::UpdateAllValues => ffi::GES_CHILDREN_UPDATE_ALL_VALUES,
Self::Last => ffi::GES_CHILDREN_LAST,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESChildrenControlMode> for ChildrenControlMode {
#[inline]
unsafe fn from_glib(value: ffi::GESChildrenControlMode) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_CHILDREN_UPDATE => Self::Update,
ffi::GES_CHILDREN_IGNORE_NOTIFIES => Self::IgnoreNotifies,
ffi::GES_CHILDREN_UPDATE_OFFSETS => Self::UpdateOffsets,
ffi::GES_CHILDREN_UPDATE_ALL_VALUES => Self::UpdateAllValues,
ffi::GES_CHILDREN_LAST => Self::Last,
value => Self::__Unknown(value),
}
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESEdge")]
pub enum Edge {
#[doc(alias = "GES_EDGE_START")]
Start,
#[doc(alias = "GES_EDGE_END")]
End,
#[doc(alias = "GES_EDGE_NONE")]
None,
#[doc(hidden)]
__Unknown(i32),
}
impl Edge {
#[cfg(feature = "v1_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
pub fn name<'a>(self) -> &'a GStr {
unsafe {
GStr::from_ptr(
ffi::ges_edge_name(self.into_glib())
.as_ref()
.expect("ges_edge_name returned NULL"),
)
}
}
}
#[cfg(feature = "v1_16")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_16")))]
impl std::fmt::Display for Edge {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(&self.name())
}
}
#[doc(hidden)]
impl IntoGlib for Edge {
type GlibType = ffi::GESEdge;
#[inline]
fn into_glib(self) -> ffi::GESEdge {
match self {
Self::Start => ffi::GES_EDGE_START,
Self::End => ffi::GES_EDGE_END,
Self::None => ffi::GES_EDGE_NONE,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESEdge> for Edge {
#[inline]
unsafe fn from_glib(value: ffi::GESEdge) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_EDGE_START => Self::Start,
ffi::GES_EDGE_END => Self::End,
ffi::GES_EDGE_NONE => Self::None,
value => Self::__Unknown(value),
}
}
}
impl StaticType for Edge {
#[inline]
#[doc(alias = "ges_edge_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_edge_get_type()) }
}
}
impl glib::HasParamSpec for Edge {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for Edge {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for Edge {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for Edge {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<Edge> for glib::Value {
#[inline]
fn from(v: Edge) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESEditMode")]
pub enum EditMode {
#[doc(alias = "GES_EDIT_MODE_NORMAL")]
Normal,
#[doc(alias = "GES_EDIT_MODE_RIPPLE")]
Ripple,
#[doc(alias = "GES_EDIT_MODE_ROLL")]
Roll,
#[doc(alias = "GES_EDIT_MODE_TRIM")]
Trim,
#[doc(alias = "GES_EDIT_MODE_SLIDE")]
Slide,
#[doc(hidden)]
__Unknown(i32),
}
impl EditMode {
#[cfg(feature = "v1_18")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
pub fn name<'a>(self) -> &'a GStr {
unsafe {
GStr::from_ptr(
ffi::ges_edit_mode_name(self.into_glib())
.as_ref()
.expect("ges_edit_mode_name returned NULL"),
)
}
}
}
#[cfg(feature = "v1_18")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
impl std::fmt::Display for EditMode {
#[inline]
fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
f.write_str(&self.name())
}
}
#[doc(hidden)]
impl IntoGlib for EditMode {
type GlibType = ffi::GESEditMode;
#[inline]
fn into_glib(self) -> ffi::GESEditMode {
match self {
Self::Normal => ffi::GES_EDIT_MODE_NORMAL,
Self::Ripple => ffi::GES_EDIT_MODE_RIPPLE,
Self::Roll => ffi::GES_EDIT_MODE_ROLL,
Self::Trim => ffi::GES_EDIT_MODE_TRIM,
Self::Slide => ffi::GES_EDIT_MODE_SLIDE,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESEditMode> for EditMode {
#[inline]
unsafe fn from_glib(value: ffi::GESEditMode) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_EDIT_MODE_NORMAL => Self::Normal,
ffi::GES_EDIT_MODE_RIPPLE => Self::Ripple,
ffi::GES_EDIT_MODE_ROLL => Self::Roll,
ffi::GES_EDIT_MODE_TRIM => Self::Trim,
ffi::GES_EDIT_MODE_SLIDE => Self::Slide,
value => Self::__Unknown(value),
}
}
}
impl StaticType for EditMode {
#[inline]
#[doc(alias = "ges_edit_mode_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_edit_mode_get_type()) }
}
}
impl glib::HasParamSpec for EditMode {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for EditMode {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for EditMode {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for EditMode {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<EditMode> for glib::Value {
#[inline]
fn from(v: EditMode) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESError")]
pub enum Error {
#[doc(alias = "GES_ERROR_ASSET_WRONG_ID")]
AssetWrongId,
#[doc(alias = "GES_ERROR_ASSET_LOADING")]
AssetLoading,
#[doc(alias = "GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE")]
FormatterMalformedInputFile,
#[doc(alias = "GES_ERROR_INVALID_FRAME_NUMBER")]
InvalidFrameNumber,
#[doc(alias = "GES_ERROR_NEGATIVE_LAYER")]
NegativeLayer,
#[doc(alias = "GES_ERROR_NEGATIVE_TIME")]
NegativeTime,
#[doc(alias = "GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT")]
NotEnoughInternalContent,
#[doc(alias = "GES_ERROR_INVALID_OVERLAP_IN_TRACK")]
InvalidOverlapInTrack,
#[doc(alias = "GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION")]
InvalidEffectBinDescription,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for Error {
type GlibType = ffi::GESError;
#[inline]
fn into_glib(self) -> ffi::GESError {
match self {
Self::AssetWrongId => ffi::GES_ERROR_ASSET_WRONG_ID,
Self::AssetLoading => ffi::GES_ERROR_ASSET_LOADING,
Self::FormatterMalformedInputFile => ffi::GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE,
Self::InvalidFrameNumber => ffi::GES_ERROR_INVALID_FRAME_NUMBER,
Self::NegativeLayer => ffi::GES_ERROR_NEGATIVE_LAYER,
Self::NegativeTime => ffi::GES_ERROR_NEGATIVE_TIME,
Self::NotEnoughInternalContent => ffi::GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT,
Self::InvalidOverlapInTrack => ffi::GES_ERROR_INVALID_OVERLAP_IN_TRACK,
Self::InvalidEffectBinDescription => ffi::GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESError> for Error {
#[inline]
unsafe fn from_glib(value: ffi::GESError) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_ERROR_ASSET_WRONG_ID => Self::AssetWrongId,
ffi::GES_ERROR_ASSET_LOADING => Self::AssetLoading,
ffi::GES_ERROR_FORMATTER_MALFORMED_INPUT_FILE => Self::FormatterMalformedInputFile,
ffi::GES_ERROR_INVALID_FRAME_NUMBER => Self::InvalidFrameNumber,
ffi::GES_ERROR_NEGATIVE_LAYER => Self::NegativeLayer,
ffi::GES_ERROR_NEGATIVE_TIME => Self::NegativeTime,
ffi::GES_ERROR_NOT_ENOUGH_INTERNAL_CONTENT => Self::NotEnoughInternalContent,
ffi::GES_ERROR_INVALID_OVERLAP_IN_TRACK => Self::InvalidOverlapInTrack,
ffi::GES_ERROR_INVALID_EFFECT_BIN_DESCRIPTION => Self::InvalidEffectBinDescription,
value => Self::__Unknown(value),
}
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESTextHAlign")]
pub enum TextHAlign {
#[doc(alias = "GES_TEXT_HALIGN_LEFT")]
Left,
#[doc(alias = "GES_TEXT_HALIGN_CENTER")]
Center,
#[doc(alias = "GES_TEXT_HALIGN_RIGHT")]
Right,
#[doc(alias = "GES_TEXT_HALIGN_POSITION")]
Position,
#[doc(alias = "GES_TEXT_HALIGN_ABSOLUTE")]
Absolute,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for TextHAlign {
type GlibType = ffi::GESTextHAlign;
#[inline]
fn into_glib(self) -> ffi::GESTextHAlign {
match self {
Self::Left => ffi::GES_TEXT_HALIGN_LEFT,
Self::Center => ffi::GES_TEXT_HALIGN_CENTER,
Self::Right => ffi::GES_TEXT_HALIGN_RIGHT,
Self::Position => ffi::GES_TEXT_HALIGN_POSITION,
Self::Absolute => ffi::GES_TEXT_HALIGN_ABSOLUTE,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESTextHAlign> for TextHAlign {
#[inline]
unsafe fn from_glib(value: ffi::GESTextHAlign) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_TEXT_HALIGN_LEFT => Self::Left,
ffi::GES_TEXT_HALIGN_CENTER => Self::Center,
ffi::GES_TEXT_HALIGN_RIGHT => Self::Right,
ffi::GES_TEXT_HALIGN_POSITION => Self::Position,
ffi::GES_TEXT_HALIGN_ABSOLUTE => Self::Absolute,
value => Self::__Unknown(value),
}
}
}
impl StaticType for TextHAlign {
#[inline]
#[doc(alias = "ges_text_halign_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_text_halign_get_type()) }
}
}
impl glib::HasParamSpec for TextHAlign {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for TextHAlign {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for TextHAlign {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for TextHAlign {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<TextHAlign> for glib::Value {
#[inline]
fn from(v: TextHAlign) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESTextVAlign")]
pub enum TextVAlign {
#[doc(alias = "GES_TEXT_VALIGN_BASELINE")]
Baseline,
#[doc(alias = "GES_TEXT_VALIGN_BOTTOM")]
Bottom,
#[doc(alias = "GES_TEXT_VALIGN_TOP")]
Top,
#[doc(alias = "GES_TEXT_VALIGN_POSITION")]
Position,
#[doc(alias = "GES_TEXT_VALIGN_CENTER")]
Center,
#[doc(alias = "GES_TEXT_VALIGN_ABSOLUTE")]
Absolute,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for TextVAlign {
type GlibType = ffi::GESTextVAlign;
#[inline]
fn into_glib(self) -> ffi::GESTextVAlign {
match self {
Self::Baseline => ffi::GES_TEXT_VALIGN_BASELINE,
Self::Bottom => ffi::GES_TEXT_VALIGN_BOTTOM,
Self::Top => ffi::GES_TEXT_VALIGN_TOP,
Self::Position => ffi::GES_TEXT_VALIGN_POSITION,
Self::Center => ffi::GES_TEXT_VALIGN_CENTER,
Self::Absolute => ffi::GES_TEXT_VALIGN_ABSOLUTE,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESTextVAlign> for TextVAlign {
#[inline]
unsafe fn from_glib(value: ffi::GESTextVAlign) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_TEXT_VALIGN_BASELINE => Self::Baseline,
ffi::GES_TEXT_VALIGN_BOTTOM => Self::Bottom,
ffi::GES_TEXT_VALIGN_TOP => Self::Top,
ffi::GES_TEXT_VALIGN_POSITION => Self::Position,
ffi::GES_TEXT_VALIGN_CENTER => Self::Center,
ffi::GES_TEXT_VALIGN_ABSOLUTE => Self::Absolute,
value => Self::__Unknown(value),
}
}
}
impl StaticType for TextVAlign {
#[inline]
#[doc(alias = "ges_text_valign_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_text_valign_get_type()) }
}
}
impl glib::HasParamSpec for TextVAlign {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for TextVAlign {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for TextVAlign {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for TextVAlign {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<TextVAlign> for glib::Value {
#[inline]
fn from(v: TextVAlign) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESVideoStandardTransitionType")]
pub enum VideoStandardTransitionType {
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE")]
None,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR")]
BarWipeLr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB")]
BarWipeTb,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL")]
BoxWipeTl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR")]
BoxWipeTr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR")]
BoxWipeBr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL")]
BoxWipeBl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI")]
FourBoxWipeCi,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO")]
FourBoxWipeCo,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V")]
BarndoorV,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H")]
BarndoorH,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC")]
BoxWipeTc,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC")]
BoxWipeRc,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC")]
BoxWipeBc,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC")]
BoxWipeLc,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL")]
DiagonalTl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR")]
DiagonalTr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V")]
BowtieV,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H")]
BowtieH,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL")]
BarndoorDbl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL")]
BarndoorDtl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD")]
MiscDiagonalDbd,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD")]
MiscDiagonalDd,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D")]
VeeD,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L")]
VeeL,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U")]
VeeU,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R")]
VeeR,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D")]
BarnveeD,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L")]
BarnveeL,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U")]
BarnveeU,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R")]
BarnveeR,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT")]
IrisRect,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12")]
ClockCw12,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3")]
ClockCw3,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6")]
ClockCw6,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9")]
ClockCw9,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV")]
PinwheelTbv,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH")]
PinwheelTbh,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB")]
PinwheelFb,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT")]
FanCt,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR")]
FanCr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV")]
DoublefanFov,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH")]
DoublefanFoh,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT")]
SinglesweepCwt,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR")]
SinglesweepCwr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB")]
SinglesweepCwb,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL")]
SinglesweepCwl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV")]
DoublesweepPv,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD")]
DoublesweepPd,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV")]
DoublesweepOv,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH")]
DoublesweepOh,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T")]
FanT,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R")]
FanR,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B")]
FanB,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L")]
FanL,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV")]
DoublefanFiv,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH")]
DoublefanFih,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL")]
SinglesweepCwtl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL")]
SinglesweepCwbl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR")]
SinglesweepCwbr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR")]
SinglesweepCwtr,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL")]
DoublesweepPdtl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL")]
DoublesweepPdbl,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T")]
SaloondoorT,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L")]
SaloondoorL,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B")]
SaloondoorB,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R")]
SaloondoorR,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R")]
WindshieldR,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U")]
WindshieldU,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V")]
WindshieldV,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H")]
WindshieldH,
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE")]
Crossfade,
#[cfg(feature = "v1_22")]
#[cfg_attr(docsrs, doc(cfg(feature = "v1_22")))]
#[doc(alias = "GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN")]
FadeIn,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for VideoStandardTransitionType {
type GlibType = ffi::GESVideoStandardTransitionType;
fn into_glib(self) -> ffi::GESVideoStandardTransitionType {
match self {
Self::None => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE,
Self::BarWipeLr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR,
Self::BarWipeTb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB,
Self::BoxWipeTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL,
Self::BoxWipeTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR,
Self::BoxWipeBr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR,
Self::BoxWipeBl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL,
Self::FourBoxWipeCi => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI,
Self::FourBoxWipeCo => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO,
Self::BarndoorV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V,
Self::BarndoorH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H,
Self::BoxWipeTc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC,
Self::BoxWipeRc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC,
Self::BoxWipeBc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC,
Self::BoxWipeLc => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC,
Self::DiagonalTl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL,
Self::DiagonalTr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR,
Self::BowtieV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V,
Self::BowtieH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H,
Self::BarndoorDbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL,
Self::BarndoorDtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL,
Self::MiscDiagonalDbd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD,
Self::MiscDiagonalDd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD,
Self::VeeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D,
Self::VeeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L,
Self::VeeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U,
Self::VeeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R,
Self::BarnveeD => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D,
Self::BarnveeL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L,
Self::BarnveeU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U,
Self::BarnveeR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R,
Self::IrisRect => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT,
Self::ClockCw12 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12,
Self::ClockCw3 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3,
Self::ClockCw6 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6,
Self::ClockCw9 => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9,
Self::PinwheelTbv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV,
Self::PinwheelTbh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH,
Self::PinwheelFb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB,
Self::FanCt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT,
Self::FanCr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR,
Self::DoublefanFov => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV,
Self::DoublefanFoh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH,
Self::SinglesweepCwt => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT,
Self::SinglesweepCwr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR,
Self::SinglesweepCwb => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB,
Self::SinglesweepCwl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL,
Self::DoublesweepPv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV,
Self::DoublesweepPd => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD,
Self::DoublesweepOv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV,
Self::DoublesweepOh => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH,
Self::FanT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T,
Self::FanR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R,
Self::FanB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B,
Self::FanL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L,
Self::DoublefanFiv => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV,
Self::DoublefanFih => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH,
Self::SinglesweepCwtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL,
Self::SinglesweepCwbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL,
Self::SinglesweepCwbr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR,
Self::SinglesweepCwtr => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR,
Self::DoublesweepPdtl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL,
Self::DoublesweepPdbl => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL,
Self::SaloondoorT => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T,
Self::SaloondoorL => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L,
Self::SaloondoorB => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B,
Self::SaloondoorR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R,
Self::WindshieldR => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R,
Self::WindshieldU => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U,
Self::WindshieldV => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V,
Self::WindshieldH => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H,
Self::Crossfade => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE,
#[cfg(feature = "v1_22")]
Self::FadeIn => ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESVideoStandardTransitionType> for VideoStandardTransitionType {
unsafe fn from_glib(value: ffi::GESVideoStandardTransitionType) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_NONE => Self::None,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_LR => Self::BarWipeLr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BAR_WIPE_TB => Self::BarWipeTb,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TL => Self::BoxWipeTl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TR => Self::BoxWipeTr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BR => Self::BoxWipeBr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BL => Self::BoxWipeBl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CI => Self::FourBoxWipeCi,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FOUR_BOX_WIPE_CO => Self::FourBoxWipeCo,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_V => Self::BarndoorV,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_H => Self::BarndoorH,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_TC => Self::BoxWipeTc,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_RC => Self::BoxWipeRc,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_BC => Self::BoxWipeBc,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOX_WIPE_LC => Self::BoxWipeLc,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TL => Self::DiagonalTl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DIAGONAL_TR => Self::DiagonalTr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_V => Self::BowtieV,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BOWTIE_H => Self::BowtieH,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DBL => Self::BarndoorDbl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNDOOR_DTL => Self::BarndoorDtl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DBD => Self::MiscDiagonalDbd,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_MISC_DIAGONAL_DD => Self::MiscDiagonalDd,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_D => Self::VeeD,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_L => Self::VeeL,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_U => Self::VeeU,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_VEE_R => Self::VeeR,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_D => Self::BarnveeD,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_L => Self::BarnveeL,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_U => Self::BarnveeU,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_BARNVEE_R => Self::BarnveeR,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_IRIS_RECT => Self::IrisRect,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW12 => Self::ClockCw12,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW3 => Self::ClockCw3,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW6 => Self::ClockCw6,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CLOCK_CW9 => Self::ClockCw9,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBV => Self::PinwheelTbv,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_TBH => Self::PinwheelTbh,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_PINWHEEL_FB => Self::PinwheelFb,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CT => Self::FanCt,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_CR => Self::FanCr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOV => Self::DoublefanFov,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FOH => Self::DoublefanFoh,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWT => Self::SinglesweepCwt,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWR => Self::SinglesweepCwr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWB => Self::SinglesweepCwb,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWL => Self::SinglesweepCwl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PV => Self::DoublesweepPv,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PD => Self::DoublesweepPd,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OV => Self::DoublesweepOv,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_OH => Self::DoublesweepOh,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_T => Self::FanT,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_R => Self::FanR,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_B => Self::FanB,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FAN_L => Self::FanL,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIV => Self::DoublefanFiv,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLEFAN_FIH => Self::DoublefanFih,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTL => Self::SinglesweepCwtl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBL => Self::SinglesweepCwbl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWBR => Self::SinglesweepCwbr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SINGLESWEEP_CWTR => Self::SinglesweepCwtr,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDTL => Self::DoublesweepPdtl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_DOUBLESWEEP_PDBL => Self::DoublesweepPdbl,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_T => Self::SaloondoorT,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_L => Self::SaloondoorL,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_B => Self::SaloondoorB,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_SALOONDOOR_R => Self::SaloondoorR,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_R => Self::WindshieldR,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_U => Self::WindshieldU,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_V => Self::WindshieldV,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_WINDSHIELD_H => Self::WindshieldH,
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_CROSSFADE => Self::Crossfade,
#[cfg(feature = "v1_22")]
ffi::GES_VIDEO_STANDARD_TRANSITION_TYPE_FADE_IN => Self::FadeIn,
value => Self::__Unknown(value),
}
}
}
impl StaticType for VideoStandardTransitionType {
#[inline]
#[doc(alias = "ges_video_standard_transition_type_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_video_standard_transition_type_get_type()) }
}
}
impl glib::HasParamSpec for VideoStandardTransitionType {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for VideoStandardTransitionType {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for VideoStandardTransitionType {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for VideoStandardTransitionType {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<VideoStandardTransitionType> for glib::Value {
#[inline]
fn from(v: VideoStandardTransitionType) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}
#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
#[non_exhaustive]
#[doc(alias = "GESVideoTestPattern")]
pub enum VideoTestPattern {
#[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE")]
Smpte,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_SNOW")]
Snow,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_BLACK")]
Black,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_WHITE")]
White,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_RED")]
Red,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_GREEN")]
Green,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_BLUE")]
Blue,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS1")]
Checkers1,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS2")]
Checkers2,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS4")]
Checkers4,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_CHECKERS8")]
Checkers8,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_CIRCULAR")]
Circular,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_BLINK")]
Blink,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_SMPTE75")]
Smpte75,
#[doc(alias = "GES_VIDEO_TEST_ZONE_PLATE")]
ZonePlate,
#[doc(alias = "GES_VIDEO_TEST_GAMUT")]
Gamut,
#[doc(alias = "GES_VIDEO_TEST_CHROMA_ZONE_PLATE")]
ChromaZonePlate,
#[doc(alias = "GES_VIDEO_TEST_PATTERN_SOLID")]
SolidColor,
#[doc(hidden)]
__Unknown(i32),
}
#[doc(hidden)]
impl IntoGlib for VideoTestPattern {
type GlibType = ffi::GESVideoTestPattern;
fn into_glib(self) -> ffi::GESVideoTestPattern {
match self {
Self::Smpte => ffi::GES_VIDEO_TEST_PATTERN_SMPTE,
Self::Snow => ffi::GES_VIDEO_TEST_PATTERN_SNOW,
Self::Black => ffi::GES_VIDEO_TEST_PATTERN_BLACK,
Self::White => ffi::GES_VIDEO_TEST_PATTERN_WHITE,
Self::Red => ffi::GES_VIDEO_TEST_PATTERN_RED,
Self::Green => ffi::GES_VIDEO_TEST_PATTERN_GREEN,
Self::Blue => ffi::GES_VIDEO_TEST_PATTERN_BLUE,
Self::Checkers1 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1,
Self::Checkers2 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2,
Self::Checkers4 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4,
Self::Checkers8 => ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8,
Self::Circular => ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR,
Self::Blink => ffi::GES_VIDEO_TEST_PATTERN_BLINK,
Self::Smpte75 => ffi::GES_VIDEO_TEST_PATTERN_SMPTE75,
Self::ZonePlate => ffi::GES_VIDEO_TEST_ZONE_PLATE,
Self::Gamut => ffi::GES_VIDEO_TEST_GAMUT,
Self::ChromaZonePlate => ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE,
Self::SolidColor => ffi::GES_VIDEO_TEST_PATTERN_SOLID,
Self::__Unknown(value) => value,
}
}
}
#[doc(hidden)]
impl FromGlib<ffi::GESVideoTestPattern> for VideoTestPattern {
unsafe fn from_glib(value: ffi::GESVideoTestPattern) -> Self {
skip_assert_initialized!();
match value {
ffi::GES_VIDEO_TEST_PATTERN_SMPTE => Self::Smpte,
ffi::GES_VIDEO_TEST_PATTERN_SNOW => Self::Snow,
ffi::GES_VIDEO_TEST_PATTERN_BLACK => Self::Black,
ffi::GES_VIDEO_TEST_PATTERN_WHITE => Self::White,
ffi::GES_VIDEO_TEST_PATTERN_RED => Self::Red,
ffi::GES_VIDEO_TEST_PATTERN_GREEN => Self::Green,
ffi::GES_VIDEO_TEST_PATTERN_BLUE => Self::Blue,
ffi::GES_VIDEO_TEST_PATTERN_CHECKERS1 => Self::Checkers1,
ffi::GES_VIDEO_TEST_PATTERN_CHECKERS2 => Self::Checkers2,
ffi::GES_VIDEO_TEST_PATTERN_CHECKERS4 => Self::Checkers4,
ffi::GES_VIDEO_TEST_PATTERN_CHECKERS8 => Self::Checkers8,
ffi::GES_VIDEO_TEST_PATTERN_CIRCULAR => Self::Circular,
ffi::GES_VIDEO_TEST_PATTERN_BLINK => Self::Blink,
ffi::GES_VIDEO_TEST_PATTERN_SMPTE75 => Self::Smpte75,
ffi::GES_VIDEO_TEST_ZONE_PLATE => Self::ZonePlate,
ffi::GES_VIDEO_TEST_GAMUT => Self::Gamut,
ffi::GES_VIDEO_TEST_CHROMA_ZONE_PLATE => Self::ChromaZonePlate,
ffi::GES_VIDEO_TEST_PATTERN_SOLID => Self::SolidColor,
value => Self::__Unknown(value),
}
}
}
impl StaticType for VideoTestPattern {
#[inline]
#[doc(alias = "ges_video_test_pattern_get_type")]
fn static_type() -> glib::Type {
unsafe { from_glib(ffi::ges_video_test_pattern_get_type()) }
}
}
impl glib::HasParamSpec for VideoTestPattern {
type ParamSpec = glib::ParamSpecEnum;
type SetValue = Self;
type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
fn param_spec_builder() -> Self::BuilderFn {
Self::ParamSpec::builder_with_default
}
}
impl glib::value::ValueType for VideoTestPattern {
type Type = Self;
}
unsafe impl<'a> glib::value::FromValue<'a> for VideoTestPattern {
type Checker = glib::value::GenericValueTypeChecker<Self>;
#[inline]
unsafe fn from_value(value: &'a glib::Value) -> Self {
skip_assert_initialized!();
from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
}
}
impl ToValue for VideoTestPattern {
#[inline]
fn to_value(&self) -> glib::Value {
let mut value = glib::Value::for_value_type::<Self>();
unsafe {
glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
}
value
}
#[inline]
fn value_type(&self) -> glib::Type {
Self::static_type()
}
}
impl From<VideoTestPattern> for glib::Value {
#[inline]
fn from(v: VideoTestPattern) -> Self {
skip_assert_initialized!();
ToValue::to_value(&v)
}
}