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