gstreamer_editing_services/auto/
flags.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::{bitflags::bitflags, prelude::*, translate::*, GStr};
8
9#[cfg(feature = "v1_20")]
10bitflags! {
11    #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
12    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
13    #[doc(alias = "GESMarkerFlags")]
14    pub struct MarkerFlags: u32 {
15        #[doc(alias = "GES_MARKER_FLAG_NONE")]
16        const NONE = ffi::GES_MARKER_FLAG_NONE as _;
17        #[doc(alias = "GES_MARKER_FLAG_SNAPPABLE")]
18        const SNAPPABLE = ffi::GES_MARKER_FLAG_SNAPPABLE as _;
19    }
20}
21
22#[cfg(feature = "v1_20")]
23#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
24#[doc(hidden)]
25impl IntoGlib for MarkerFlags {
26    type GlibType = ffi::GESMarkerFlags;
27
28    #[inline]
29    fn into_glib(self) -> ffi::GESMarkerFlags {
30        self.bits()
31    }
32}
33
34#[cfg(feature = "v1_20")]
35#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
36#[doc(hidden)]
37impl FromGlib<ffi::GESMarkerFlags> for MarkerFlags {
38    #[inline]
39    unsafe fn from_glib(value: ffi::GESMarkerFlags) -> Self {
40        skip_assert_initialized!();
41        Self::from_bits_truncate(value)
42    }
43}
44
45#[cfg(feature = "v1_20")]
46#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
47impl StaticType for MarkerFlags {
48    #[inline]
49    #[doc(alias = "ges_marker_flags_get_type")]
50    fn static_type() -> glib::Type {
51        unsafe { from_glib(ffi::ges_marker_flags_get_type()) }
52    }
53}
54
55#[cfg(feature = "v1_20")]
56#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
57impl glib::HasParamSpec for MarkerFlags {
58    type ParamSpec = glib::ParamSpecFlags;
59    type SetValue = Self;
60    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
61
62    fn param_spec_builder() -> Self::BuilderFn {
63        Self::ParamSpec::builder
64    }
65}
66
67#[cfg(feature = "v1_20")]
68#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
69impl glib::value::ValueType for MarkerFlags {
70    type Type = Self;
71}
72
73#[cfg(feature = "v1_20")]
74#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
75unsafe impl<'a> glib::value::FromValue<'a> for MarkerFlags {
76    type Checker = glib::value::GenericValueTypeChecker<Self>;
77
78    #[inline]
79    unsafe fn from_value(value: &'a glib::Value) -> Self {
80        skip_assert_initialized!();
81        from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
82    }
83}
84
85#[cfg(feature = "v1_20")]
86#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
87impl ToValue for MarkerFlags {
88    #[inline]
89    fn to_value(&self) -> glib::Value {
90        let mut value = glib::Value::for_value_type::<Self>();
91        unsafe {
92            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
93        }
94        value
95    }
96
97    #[inline]
98    fn value_type(&self) -> glib::Type {
99        Self::static_type()
100    }
101}
102
103#[cfg(feature = "v1_20")]
104#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
105impl From<MarkerFlags> for glib::Value {
106    #[inline]
107    fn from(v: MarkerFlags) -> Self {
108        skip_assert_initialized!();
109        ToValue::to_value(&v)
110    }
111}
112
113bitflags! {
114    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
115    #[doc(alias = "GESMetaFlag")]
116    pub struct MetaFlag: u32 {
117        #[doc(alias = "GES_META_READABLE")]
118        const READABLE = ffi::GES_META_READABLE as _;
119        #[doc(alias = "GES_META_WRITABLE")]
120        const WRITABLE = ffi::GES_META_WRITABLE as _;
121        #[doc(alias = "GES_META_READ_WRITE")]
122        const READWRITE = ffi::GES_META_READ_WRITE as _;
123    }
124}
125
126#[doc(hidden)]
127impl IntoGlib for MetaFlag {
128    type GlibType = ffi::GESMetaFlag;
129
130    #[inline]
131    fn into_glib(self) -> ffi::GESMetaFlag {
132        self.bits()
133    }
134}
135
136#[doc(hidden)]
137impl FromGlib<ffi::GESMetaFlag> for MetaFlag {
138    #[inline]
139    unsafe fn from_glib(value: ffi::GESMetaFlag) -> Self {
140        skip_assert_initialized!();
141        Self::from_bits_truncate(value)
142    }
143}
144
145impl StaticType for MetaFlag {
146    #[inline]
147    #[doc(alias = "ges_meta_flag_get_type")]
148    fn static_type() -> glib::Type {
149        unsafe { from_glib(ffi::ges_meta_flag_get_type()) }
150    }
151}
152
153impl glib::HasParamSpec for MetaFlag {
154    type ParamSpec = glib::ParamSpecFlags;
155    type SetValue = Self;
156    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
157
158    fn param_spec_builder() -> Self::BuilderFn {
159        Self::ParamSpec::builder
160    }
161}
162
163impl glib::value::ValueType for MetaFlag {
164    type Type = Self;
165}
166
167unsafe impl<'a> glib::value::FromValue<'a> for MetaFlag {
168    type Checker = glib::value::GenericValueTypeChecker<Self>;
169
170    #[inline]
171    unsafe fn from_value(value: &'a glib::Value) -> Self {
172        skip_assert_initialized!();
173        from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
174    }
175}
176
177impl ToValue for MetaFlag {
178    #[inline]
179    fn to_value(&self) -> glib::Value {
180        let mut value = glib::Value::for_value_type::<Self>();
181        unsafe {
182            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
183        }
184        value
185    }
186
187    #[inline]
188    fn value_type(&self) -> glib::Type {
189        Self::static_type()
190    }
191}
192
193impl From<MetaFlag> for glib::Value {
194    #[inline]
195    fn from(v: MetaFlag) -> Self {
196        skip_assert_initialized!();
197        ToValue::to_value(&v)
198    }
199}
200
201bitflags! {
202    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
203    #[doc(alias = "GESPipelineFlags")]
204    pub struct PipelineFlags: u32 {
205        #[doc(alias = "GES_PIPELINE_MODE_PREVIEW_AUDIO")]
206        const AUDIO_PREVIEW = ffi::GES_PIPELINE_MODE_PREVIEW_AUDIO as _;
207        #[doc(alias = "GES_PIPELINE_MODE_PREVIEW_VIDEO")]
208        const VIDEO_PREVIEW = ffi::GES_PIPELINE_MODE_PREVIEW_VIDEO as _;
209        #[doc(alias = "GES_PIPELINE_MODE_PREVIEW")]
210        const FULL_PREVIEW = ffi::GES_PIPELINE_MODE_PREVIEW as _;
211        #[doc(alias = "GES_PIPELINE_MODE_RENDER")]
212        const RENDER = ffi::GES_PIPELINE_MODE_RENDER as _;
213        #[doc(alias = "GES_PIPELINE_MODE_SMART_RENDER")]
214        const SMART_RENDER = ffi::GES_PIPELINE_MODE_SMART_RENDER as _;
215    }
216}
217
218#[doc(hidden)]
219impl IntoGlib for PipelineFlags {
220    type GlibType = ffi::GESPipelineFlags;
221
222    #[inline]
223    fn into_glib(self) -> ffi::GESPipelineFlags {
224        self.bits()
225    }
226}
227
228#[doc(hidden)]
229impl FromGlib<ffi::GESPipelineFlags> for PipelineFlags {
230    #[inline]
231    unsafe fn from_glib(value: ffi::GESPipelineFlags) -> Self {
232        skip_assert_initialized!();
233        Self::from_bits_truncate(value)
234    }
235}
236
237impl StaticType for PipelineFlags {
238    #[inline]
239    #[doc(alias = "ges_pipeline_flags_get_type")]
240    fn static_type() -> glib::Type {
241        unsafe { from_glib(ffi::ges_pipeline_flags_get_type()) }
242    }
243}
244
245impl glib::HasParamSpec for PipelineFlags {
246    type ParamSpec = glib::ParamSpecFlags;
247    type SetValue = Self;
248    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
249
250    fn param_spec_builder() -> Self::BuilderFn {
251        Self::ParamSpec::builder
252    }
253}
254
255impl glib::value::ValueType for PipelineFlags {
256    type Type = Self;
257}
258
259unsafe impl<'a> glib::value::FromValue<'a> for PipelineFlags {
260    type Checker = glib::value::GenericValueTypeChecker<Self>;
261
262    #[inline]
263    unsafe fn from_value(value: &'a glib::Value) -> Self {
264        skip_assert_initialized!();
265        from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
266    }
267}
268
269impl ToValue for PipelineFlags {
270    #[inline]
271    fn to_value(&self) -> glib::Value {
272        let mut value = glib::Value::for_value_type::<Self>();
273        unsafe {
274            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
275        }
276        value
277    }
278
279    #[inline]
280    fn value_type(&self) -> glib::Type {
281        Self::static_type()
282    }
283}
284
285impl From<PipelineFlags> for glib::Value {
286    #[inline]
287    fn from(v: PipelineFlags) -> Self {
288        skip_assert_initialized!();
289        ToValue::to_value(&v)
290    }
291}
292
293bitflags! {
294    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
295    #[doc(alias = "GESTrackType")]
296    pub struct TrackType: u32 {
297        #[doc(alias = "GES_TRACK_TYPE_UNKNOWN")]
298        const UNKNOWN = ffi::GES_TRACK_TYPE_UNKNOWN as _;
299        #[doc(alias = "GES_TRACK_TYPE_AUDIO")]
300        const AUDIO = ffi::GES_TRACK_TYPE_AUDIO as _;
301        #[doc(alias = "GES_TRACK_TYPE_VIDEO")]
302        const VIDEO = ffi::GES_TRACK_TYPE_VIDEO as _;
303        #[doc(alias = "GES_TRACK_TYPE_TEXT")]
304        const TEXT = ffi::GES_TRACK_TYPE_TEXT as _;
305        #[doc(alias = "GES_TRACK_TYPE_CUSTOM")]
306        const CUSTOM = ffi::GES_TRACK_TYPE_CUSTOM as _;
307    }
308}
309
310impl TrackType {
311    pub fn name<'a>(self) -> &'a GStr {
312        unsafe {
313            GStr::from_ptr(
314                ffi::ges_track_type_name(self.into_glib())
315                    .as_ref()
316                    .expect("ges_track_type_name returned NULL"),
317            )
318        }
319    }
320}
321
322impl std::fmt::Display for TrackType {
323    #[inline]
324    fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
325        f.write_str(&self.name())
326    }
327}
328
329#[doc(hidden)]
330impl IntoGlib for TrackType {
331    type GlibType = ffi::GESTrackType;
332
333    #[inline]
334    fn into_glib(self) -> ffi::GESTrackType {
335        self.bits()
336    }
337}
338
339#[doc(hidden)]
340impl FromGlib<ffi::GESTrackType> for TrackType {
341    #[inline]
342    unsafe fn from_glib(value: ffi::GESTrackType) -> Self {
343        skip_assert_initialized!();
344        Self::from_bits_truncate(value)
345    }
346}
347
348impl StaticType for TrackType {
349    #[inline]
350    #[doc(alias = "ges_track_type_get_type")]
351    fn static_type() -> glib::Type {
352        unsafe { from_glib(ffi::ges_track_type_get_type()) }
353    }
354}
355
356impl glib::HasParamSpec for TrackType {
357    type ParamSpec = glib::ParamSpecFlags;
358    type SetValue = Self;
359    type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
360
361    fn param_spec_builder() -> Self::BuilderFn {
362        Self::ParamSpec::builder
363    }
364}
365
366impl glib::value::ValueType for TrackType {
367    type Type = Self;
368}
369
370unsafe impl<'a> glib::value::FromValue<'a> for TrackType {
371    type Checker = glib::value::GenericValueTypeChecker<Self>;
372
373    #[inline]
374    unsafe fn from_value(value: &'a glib::Value) -> Self {
375        skip_assert_initialized!();
376        from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
377    }
378}
379
380impl ToValue for TrackType {
381    #[inline]
382    fn to_value(&self) -> glib::Value {
383        let mut value = glib::Value::for_value_type::<Self>();
384        unsafe {
385            glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
386        }
387        value
388    }
389
390    #[inline]
391    fn value_type(&self) -> glib::Type {
392        Self::static_type()
393    }
394}
395
396impl From<TrackType> for glib::Value {
397    #[inline]
398    fn from(v: TrackType) -> Self {
399        skip_assert_initialized!();
400        ToValue::to_value(&v)
401    }
402}