gstreamer_editing_services/auto/
flags.rs1use 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}