gstreamer_controller/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;
7use glib::{prelude::*, translate::*};
8
9#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
10#[non_exhaustive]
11#[doc(alias = "GstInterpolationMode")]
12pub enum InterpolationMode {
13    #[doc(alias = "GST_INTERPOLATION_MODE_NONE")]
14    None,
15    #[doc(alias = "GST_INTERPOLATION_MODE_LINEAR")]
16    Linear,
17    #[doc(alias = "GST_INTERPOLATION_MODE_CUBIC")]
18    Cubic,
19    #[doc(alias = "GST_INTERPOLATION_MODE_CUBIC_MONOTONIC")]
20    CubicMonotonic,
21    #[doc(hidden)]
22    __Unknown(i32),
23}
24
25#[doc(hidden)]
26impl IntoGlib for InterpolationMode {
27    type GlibType = ffi::GstInterpolationMode;
28
29    #[inline]
30    fn into_glib(self) -> ffi::GstInterpolationMode {
31        match self {
32            Self::None => ffi::GST_INTERPOLATION_MODE_NONE,
33            Self::Linear => ffi::GST_INTERPOLATION_MODE_LINEAR,
34            Self::Cubic => ffi::GST_INTERPOLATION_MODE_CUBIC,
35            Self::CubicMonotonic => ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC,
36            Self::__Unknown(value) => value,
37        }
38    }
39}
40
41#[doc(hidden)]
42impl FromGlib<ffi::GstInterpolationMode> for InterpolationMode {
43    #[inline]
44    unsafe fn from_glib(value: ffi::GstInterpolationMode) -> Self {
45        skip_assert_initialized!();
46
47        match value {
48            ffi::GST_INTERPOLATION_MODE_NONE => Self::None,
49            ffi::GST_INTERPOLATION_MODE_LINEAR => Self::Linear,
50            ffi::GST_INTERPOLATION_MODE_CUBIC => Self::Cubic,
51            ffi::GST_INTERPOLATION_MODE_CUBIC_MONOTONIC => Self::CubicMonotonic,
52            value => Self::__Unknown(value),
53        }
54    }
55}
56
57impl StaticType for InterpolationMode {
58    #[inline]
59    #[doc(alias = "gst_interpolation_mode_get_type")]
60    fn static_type() -> glib::Type {
61        unsafe { from_glib(ffi::gst_interpolation_mode_get_type()) }
62    }
63}
64
65impl glib::HasParamSpec for InterpolationMode {
66    type ParamSpec = glib::ParamSpecEnum;
67    type SetValue = Self;
68    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
69
70    fn param_spec_builder() -> Self::BuilderFn {
71        Self::ParamSpec::builder_with_default
72    }
73}
74
75impl glib::value::ValueType for InterpolationMode {
76    type Type = Self;
77}
78
79unsafe impl<'a> glib::value::FromValue<'a> for InterpolationMode {
80    type Checker = glib::value::GenericValueTypeChecker<Self>;
81
82    #[inline]
83    unsafe fn from_value(value: &'a glib::Value) -> Self {
84        skip_assert_initialized!();
85        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
86    }
87}
88
89impl ToValue for InterpolationMode {
90    #[inline]
91    fn to_value(&self) -> glib::Value {
92        let mut value = glib::Value::for_value_type::<Self>();
93        unsafe {
94            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
95        }
96        value
97    }
98
99    #[inline]
100    fn value_type(&self) -> glib::Type {
101        Self::static_type()
102    }
103}
104
105impl From<InterpolationMode> for glib::Value {
106    #[inline]
107    fn from(v: InterpolationMode) -> Self {
108        skip_assert_initialized!();
109        ToValue::to_value(&v)
110    }
111}
112
113#[derive(Debug, Eq, PartialEq, Ord, PartialOrd, Hash, Clone, Copy)]
114#[non_exhaustive]
115#[doc(alias = "GstLFOWaveform")]
116pub enum LFOWaveform {
117    #[doc(alias = "GST_LFO_WAVEFORM_SINE")]
118    Sine,
119    #[doc(alias = "GST_LFO_WAVEFORM_SQUARE")]
120    Square,
121    #[doc(alias = "GST_LFO_WAVEFORM_SAW")]
122    Saw,
123    #[doc(alias = "GST_LFO_WAVEFORM_REVERSE_SAW")]
124    ReverseSaw,
125    #[doc(alias = "GST_LFO_WAVEFORM_TRIANGLE")]
126    Triangle,
127    #[doc(hidden)]
128    __Unknown(i32),
129}
130
131#[doc(hidden)]
132impl IntoGlib for LFOWaveform {
133    type GlibType = ffi::GstLFOWaveform;
134
135    #[inline]
136    fn into_glib(self) -> ffi::GstLFOWaveform {
137        match self {
138            Self::Sine => ffi::GST_LFO_WAVEFORM_SINE,
139            Self::Square => ffi::GST_LFO_WAVEFORM_SQUARE,
140            Self::Saw => ffi::GST_LFO_WAVEFORM_SAW,
141            Self::ReverseSaw => ffi::GST_LFO_WAVEFORM_REVERSE_SAW,
142            Self::Triangle => ffi::GST_LFO_WAVEFORM_TRIANGLE,
143            Self::__Unknown(value) => value,
144        }
145    }
146}
147
148#[doc(hidden)]
149impl FromGlib<ffi::GstLFOWaveform> for LFOWaveform {
150    #[inline]
151    unsafe fn from_glib(value: ffi::GstLFOWaveform) -> Self {
152        skip_assert_initialized!();
153
154        match value {
155            ffi::GST_LFO_WAVEFORM_SINE => Self::Sine,
156            ffi::GST_LFO_WAVEFORM_SQUARE => Self::Square,
157            ffi::GST_LFO_WAVEFORM_SAW => Self::Saw,
158            ffi::GST_LFO_WAVEFORM_REVERSE_SAW => Self::ReverseSaw,
159            ffi::GST_LFO_WAVEFORM_TRIANGLE => Self::Triangle,
160            value => Self::__Unknown(value),
161        }
162    }
163}
164
165impl StaticType for LFOWaveform {
166    #[inline]
167    #[doc(alias = "gst_lfo_waveform_get_type")]
168    fn static_type() -> glib::Type {
169        unsafe { from_glib(ffi::gst_lfo_waveform_get_type()) }
170    }
171}
172
173impl glib::HasParamSpec for LFOWaveform {
174    type ParamSpec = glib::ParamSpecEnum;
175    type SetValue = Self;
176    type BuilderFn = fn(&str, Self) -> glib::ParamSpecEnumBuilder<Self>;
177
178    fn param_spec_builder() -> Self::BuilderFn {
179        Self::ParamSpec::builder_with_default
180    }
181}
182
183impl glib::value::ValueType for LFOWaveform {
184    type Type = Self;
185}
186
187unsafe impl<'a> glib::value::FromValue<'a> for LFOWaveform {
188    type Checker = glib::value::GenericValueTypeChecker<Self>;
189
190    #[inline]
191    unsafe fn from_value(value: &'a glib::Value) -> Self {
192        skip_assert_initialized!();
193        from_glib(glib::gobject_ffi::g_value_get_enum(value.to_glib_none().0))
194    }
195}
196
197impl ToValue for LFOWaveform {
198    #[inline]
199    fn to_value(&self) -> glib::Value {
200        let mut value = glib::Value::for_value_type::<Self>();
201        unsafe {
202            glib::gobject_ffi::g_value_set_enum(value.to_glib_none_mut().0, self.into_glib());
203        }
204        value
205    }
206
207    #[inline]
208    fn value_type(&self) -> glib::Type {
209        Self::static_type()
210    }
211}
212
213impl From<LFOWaveform> for glib::Value {
214    #[inline]
215    fn from(v: LFOWaveform) -> Self {
216        skip_assert_initialized!();
217        ToValue::to_value(&v)
218    }
219}