gstreamer_gl/auto/
flags.rs
1use crate::ffi;
7use glib::{bitflags::bitflags, prelude::*, translate::*};
8
9bitflags! {
10 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11 #[doc(alias = "GstGLAPI")]
12 pub struct GLAPI: u32 {
13 #[doc(alias = "GST_GL_API_OPENGL")]
16 const OPENGL = ffi::GST_GL_API_OPENGL as _;
17 #[doc(alias = "GST_GL_API_OPENGL3")]
19 const OPENGL3 = ffi::GST_GL_API_OPENGL3 as _;
20 #[doc(alias = "GST_GL_API_GLES1")]
22 const GLES1 = ffi::GST_GL_API_GLES1 as _;
23 #[doc(alias = "GST_GL_API_GLES2")]
25 const GLES2 = ffi::GST_GL_API_GLES2 as _;
26 }
27}
28
29impl GLAPI {
30 #[doc(alias = "gst_gl_api_from_string")]
31 pub fn from_string(api_s: &str) -> GLAPI {
32 assert_initialized_main_thread!();
33 unsafe { from_glib(ffi::gst_gl_api_from_string(api_s.to_glib_none().0)) }
34 }
35
36 #[doc(alias = "gst_gl_api_to_string")]
37 #[doc(alias = "to_string")]
38 pub fn to_str(self) -> glib::GString {
39 assert_initialized_main_thread!();
40 unsafe { from_glib_full(ffi::gst_gl_api_to_string(self.into_glib())) }
41 }
42}
43
44impl std::fmt::Display for GLAPI {
45 #[inline]
46 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
47 f.write_str(&self.to_str())
48 }
49}
50
51#[doc(hidden)]
52impl IntoGlib for GLAPI {
53 type GlibType = ffi::GstGLAPI;
54
55 #[inline]
56 fn into_glib(self) -> ffi::GstGLAPI {
57 self.bits()
58 }
59}
60
61#[doc(hidden)]
62impl FromGlib<ffi::GstGLAPI> for GLAPI {
63 #[inline]
64 unsafe fn from_glib(value: ffi::GstGLAPI) -> Self {
65 skip_assert_initialized!();
66 Self::from_bits_truncate(value)
67 }
68}
69
70impl StaticType for GLAPI {
71 #[inline]
72 #[doc(alias = "gst_gl_api_get_type")]
73 fn static_type() -> glib::Type {
74 unsafe { from_glib(ffi::gst_gl_api_get_type()) }
75 }
76}
77
78impl glib::HasParamSpec for GLAPI {
79 type ParamSpec = glib::ParamSpecFlags;
80 type SetValue = Self;
81 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
82
83 fn param_spec_builder() -> Self::BuilderFn {
84 Self::ParamSpec::builder
85 }
86}
87
88impl glib::value::ValueType for GLAPI {
89 type Type = Self;
90}
91
92unsafe impl<'a> glib::value::FromValue<'a> for GLAPI {
93 type Checker = glib::value::GenericValueTypeChecker<Self>;
94
95 #[inline]
96 unsafe fn from_value(value: &'a glib::Value) -> Self {
97 skip_assert_initialized!();
98 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
99 }
100}
101
102impl ToValue for GLAPI {
103 #[inline]
104 fn to_value(&self) -> glib::Value {
105 let mut value = glib::Value::for_value_type::<Self>();
106 unsafe {
107 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
108 }
109 value
110 }
111
112 #[inline]
113 fn value_type(&self) -> glib::Type {
114 Self::static_type()
115 }
116}
117
118impl From<GLAPI> for glib::Value {
119 #[inline]
120 fn from(v: GLAPI) -> Self {
121 skip_assert_initialized!();
122 ToValue::to_value(&v)
123 }
124}
125
126#[cfg(feature = "v1_20")]
127bitflags! {
128 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
129 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
130 #[doc(alias = "GstGLConfigSurfaceType")]
131 pub struct GLConfigSurfaceType: u32 {
132 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_NONE")]
134 const NONE = ffi::GST_GL_CONFIG_SURFACE_TYPE_NONE as _;
135 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_WINDOW")]
137 const WINDOW = ffi::GST_GL_CONFIG_SURFACE_TYPE_WINDOW as _;
138 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PBUFFER")]
140 const PBUFFER = ffi::GST_GL_CONFIG_SURFACE_TYPE_PBUFFER as _;
141 #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PIXMAP")]
143 const PIXMAP = ffi::GST_GL_CONFIG_SURFACE_TYPE_PIXMAP as _;
144 }
145}
146
147#[cfg(feature = "v1_20")]
148#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
149impl GLConfigSurfaceType {
150 #[doc(alias = "gst_gl_config_surface_type_to_string")]
151 #[doc(alias = "to_string")]
152 pub fn to_str(self) -> Option<glib::GString> {
153 assert_initialized_main_thread!();
154 unsafe { from_glib_none(ffi::gst_gl_config_surface_type_to_string(self.into_glib())) }
155 }
156}
157
158#[cfg(feature = "v1_20")]
159#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
160#[doc(hidden)]
161impl IntoGlib for GLConfigSurfaceType {
162 type GlibType = ffi::GstGLConfigSurfaceType;
163
164 #[inline]
165 fn into_glib(self) -> ffi::GstGLConfigSurfaceType {
166 self.bits()
167 }
168}
169
170#[cfg(feature = "v1_20")]
171#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
172#[doc(hidden)]
173impl FromGlib<ffi::GstGLConfigSurfaceType> for GLConfigSurfaceType {
174 #[inline]
175 unsafe fn from_glib(value: ffi::GstGLConfigSurfaceType) -> Self {
176 skip_assert_initialized!();
177 Self::from_bits_truncate(value)
178 }
179}
180
181#[cfg(feature = "v1_20")]
182#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
183impl StaticType for GLConfigSurfaceType {
184 #[inline]
185 #[doc(alias = "gst_gl_config_surface_type_get_type")]
186 fn static_type() -> glib::Type {
187 unsafe { from_glib(ffi::gst_gl_config_surface_type_get_type()) }
188 }
189}
190
191#[cfg(feature = "v1_20")]
192#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
193impl glib::HasParamSpec for GLConfigSurfaceType {
194 type ParamSpec = glib::ParamSpecFlags;
195 type SetValue = Self;
196 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
197
198 fn param_spec_builder() -> Self::BuilderFn {
199 Self::ParamSpec::builder
200 }
201}
202
203#[cfg(feature = "v1_20")]
204#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
205impl glib::value::ValueType for GLConfigSurfaceType {
206 type Type = Self;
207}
208
209#[cfg(feature = "v1_20")]
210#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
211unsafe impl<'a> glib::value::FromValue<'a> for GLConfigSurfaceType {
212 type Checker = glib::value::GenericValueTypeChecker<Self>;
213
214 #[inline]
215 unsafe fn from_value(value: &'a glib::Value) -> Self {
216 skip_assert_initialized!();
217 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
218 }
219}
220
221#[cfg(feature = "v1_20")]
222#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
223impl ToValue for GLConfigSurfaceType {
224 #[inline]
225 fn to_value(&self) -> glib::Value {
226 let mut value = glib::Value::for_value_type::<Self>();
227 unsafe {
228 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
229 }
230 value
231 }
232
233 #[inline]
234 fn value_type(&self) -> glib::Type {
235 Self::static_type()
236 }
237}
238
239#[cfg(feature = "v1_20")]
240#[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
241impl From<GLConfigSurfaceType> for glib::Value {
242 #[inline]
243 fn from(v: GLConfigSurfaceType) -> Self {
244 skip_assert_initialized!();
245 ToValue::to_value(&v)
246 }
247}
248
249bitflags! {
250 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
251 #[doc(alias = "GstGLDisplayType")]
252 pub struct GLDisplayType: u32 {
253 #[doc(alias = "GST_GL_DISPLAY_TYPE_X11")]
255 const X11 = ffi::GST_GL_DISPLAY_TYPE_X11 as _;
256 #[doc(alias = "GST_GL_DISPLAY_TYPE_WAYLAND")]
258 const WAYLAND = ffi::GST_GL_DISPLAY_TYPE_WAYLAND as _;
259 #[doc(alias = "GST_GL_DISPLAY_TYPE_COCOA")]
261 const COCOA = ffi::GST_GL_DISPLAY_TYPE_COCOA as _;
262 #[doc(alias = "GST_GL_DISPLAY_TYPE_WIN32")]
264 const WIN32 = ffi::GST_GL_DISPLAY_TYPE_WIN32 as _;
265 #[doc(alias = "GST_GL_DISPLAY_TYPE_DISPMANX")]
267 const DISPMANX = ffi::GST_GL_DISPLAY_TYPE_DISPMANX as _;
268 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL")]
270 const EGL = ffi::GST_GL_DISPLAY_TYPE_EGL as _;
271 #[doc(alias = "GST_GL_DISPLAY_TYPE_VIV_FB")]
273 const VIV_FB = ffi::GST_GL_DISPLAY_TYPE_VIV_FB as _;
274 #[doc(alias = "GST_GL_DISPLAY_TYPE_GBM")]
276 const GBM = ffi::GST_GL_DISPLAY_TYPE_GBM as _;
277 #[cfg(feature = "v1_18")]
279 #[cfg_attr(docsrs, doc(cfg(feature = "v1_18")))]
280 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_DEVICE")]
281 const EGL_DEVICE = ffi::GST_GL_DISPLAY_TYPE_EGL_DEVICE as _;
282 #[cfg(feature = "v1_20")]
284 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
285 #[doc(alias = "GST_GL_DISPLAY_TYPE_EAGL")]
286 const EAGL = ffi::GST_GL_DISPLAY_TYPE_EAGL as _;
287 #[cfg(feature = "v1_20")]
289 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
290 #[doc(alias = "GST_GL_DISPLAY_TYPE_WINRT")]
291 const WINRT = ffi::GST_GL_DISPLAY_TYPE_WINRT as _;
292 #[cfg(feature = "v1_20")]
294 #[cfg_attr(docsrs, doc(cfg(feature = "v1_20")))]
295 #[doc(alias = "GST_GL_DISPLAY_TYPE_ANDROID")]
296 const ANDROID = ffi::GST_GL_DISPLAY_TYPE_ANDROID as _;
297 #[cfg(feature = "v1_24")]
300 #[cfg_attr(docsrs, doc(cfg(feature = "v1_24")))]
301 #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL_SURFACELESS")]
302 const EGL_SURFACELESS = ffi::GST_GL_DISPLAY_TYPE_EGL_SURFACELESS as _;
303 }
304}
305
306#[doc(hidden)]
307impl IntoGlib for GLDisplayType {
308 type GlibType = ffi::GstGLDisplayType;
309
310 #[inline]
311 fn into_glib(self) -> ffi::GstGLDisplayType {
312 self.bits()
313 }
314}
315
316#[doc(hidden)]
317impl FromGlib<ffi::GstGLDisplayType> for GLDisplayType {
318 #[inline]
319 unsafe fn from_glib(value: ffi::GstGLDisplayType) -> Self {
320 skip_assert_initialized!();
321 Self::from_bits_truncate(value)
322 }
323}
324
325impl StaticType for GLDisplayType {
326 #[inline]
327 #[doc(alias = "gst_gl_display_type_get_type")]
328 fn static_type() -> glib::Type {
329 unsafe { from_glib(ffi::gst_gl_display_type_get_type()) }
330 }
331}
332
333impl glib::HasParamSpec for GLDisplayType {
334 type ParamSpec = glib::ParamSpecFlags;
335 type SetValue = Self;
336 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
337
338 fn param_spec_builder() -> Self::BuilderFn {
339 Self::ParamSpec::builder
340 }
341}
342
343impl glib::value::ValueType for GLDisplayType {
344 type Type = Self;
345}
346
347unsafe impl<'a> glib::value::FromValue<'a> for GLDisplayType {
348 type Checker = glib::value::GenericValueTypeChecker<Self>;
349
350 #[inline]
351 unsafe fn from_value(value: &'a glib::Value) -> Self {
352 skip_assert_initialized!();
353 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
354 }
355}
356
357impl ToValue for GLDisplayType {
358 #[inline]
359 fn to_value(&self) -> glib::Value {
360 let mut value = glib::Value::for_value_type::<Self>();
361 unsafe {
362 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
363 }
364 value
365 }
366
367 #[inline]
368 fn value_type(&self) -> glib::Type {
369 Self::static_type()
370 }
371}
372
373impl From<GLDisplayType> for glib::Value {
374 #[inline]
375 fn from(v: GLDisplayType) -> Self {
376 skip_assert_initialized!();
377 ToValue::to_value(&v)
378 }
379}
380
381bitflags! {
382 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
383 #[doc(alias = "GstGLPlatform")]
384 pub struct GLPlatform: u32 {
385 #[doc(alias = "GST_GL_PLATFORM_EGL")]
388 const EGL = ffi::GST_GL_PLATFORM_EGL as _;
389 #[doc(alias = "GST_GL_PLATFORM_GLX")]
391 const GLX = ffi::GST_GL_PLATFORM_GLX as _;
392 #[doc(alias = "GST_GL_PLATFORM_WGL")]
394 const WGL = ffi::GST_GL_PLATFORM_WGL as _;
395 #[doc(alias = "GST_GL_PLATFORM_CGL")]
397 const CGL = ffi::GST_GL_PLATFORM_CGL as _;
398 #[doc(alias = "GST_GL_PLATFORM_EAGL")]
400 const EAGL = ffi::GST_GL_PLATFORM_EAGL as _;
401 }
402}
403
404impl GLPlatform {
405 #[doc(alias = "gst_gl_platform_from_string")]
406 pub fn from_string(platform_s: &str) -> GLPlatform {
407 assert_initialized_main_thread!();
408 unsafe {
409 from_glib(ffi::gst_gl_platform_from_string(
410 platform_s.to_glib_none().0,
411 ))
412 }
413 }
414
415 #[doc(alias = "gst_gl_platform_to_string")]
416 #[doc(alias = "to_string")]
417 pub fn to_str(self) -> glib::GString {
418 assert_initialized_main_thread!();
419 unsafe { from_glib_full(ffi::gst_gl_platform_to_string(self.into_glib())) }
420 }
421}
422
423impl std::fmt::Display for GLPlatform {
424 #[inline]
425 fn fmt(&self, f: &mut std::fmt::Formatter) -> std::fmt::Result {
426 f.write_str(&self.to_str())
427 }
428}
429
430#[doc(hidden)]
431impl IntoGlib for GLPlatform {
432 type GlibType = ffi::GstGLPlatform;
433
434 #[inline]
435 fn into_glib(self) -> ffi::GstGLPlatform {
436 self.bits()
437 }
438}
439
440#[doc(hidden)]
441impl FromGlib<ffi::GstGLPlatform> for GLPlatform {
442 #[inline]
443 unsafe fn from_glib(value: ffi::GstGLPlatform) -> Self {
444 skip_assert_initialized!();
445 Self::from_bits_truncate(value)
446 }
447}
448
449impl StaticType for GLPlatform {
450 #[inline]
451 #[doc(alias = "gst_gl_platform_get_type")]
452 fn static_type() -> glib::Type {
453 unsafe { from_glib(ffi::gst_gl_platform_get_type()) }
454 }
455}
456
457impl glib::HasParamSpec for GLPlatform {
458 type ParamSpec = glib::ParamSpecFlags;
459 type SetValue = Self;
460 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
461
462 fn param_spec_builder() -> Self::BuilderFn {
463 Self::ParamSpec::builder
464 }
465}
466
467impl glib::value::ValueType for GLPlatform {
468 type Type = Self;
469}
470
471unsafe impl<'a> glib::value::FromValue<'a> for GLPlatform {
472 type Checker = glib::value::GenericValueTypeChecker<Self>;
473
474 #[inline]
475 unsafe fn from_value(value: &'a glib::Value) -> Self {
476 skip_assert_initialized!();
477 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
478 }
479}
480
481impl ToValue for GLPlatform {
482 #[inline]
483 fn to_value(&self) -> glib::Value {
484 let mut value = glib::Value::for_value_type::<Self>();
485 unsafe {
486 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
487 }
488 value
489 }
490
491 #[inline]
492 fn value_type(&self) -> glib::Type {
493 Self::static_type()
494 }
495}
496
497impl From<GLPlatform> for glib::Value {
498 #[inline]
499 fn from(v: GLPlatform) -> Self {
500 skip_assert_initialized!();
501 ToValue::to_value(&v)
502 }
503}
504
505bitflags! {
506 #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
508 #[doc(alias = "GstGLSLProfile")]
509 pub struct GLSLProfile: u32 {
510 #[doc(alias = "GST_GLSL_PROFILE_ES")]
512 const ES = ffi::GST_GLSL_PROFILE_ES as _;
513 #[doc(alias = "GST_GLSL_PROFILE_CORE")]
515 const CORE = ffi::GST_GLSL_PROFILE_CORE as _;
516 #[doc(alias = "GST_GLSL_PROFILE_COMPATIBILITY")]
518 const COMPATIBILITY = ffi::GST_GLSL_PROFILE_COMPATIBILITY as _;
519 }
520}
521
522impl GLSLProfile {
523 #[doc(alias = "gst_glsl_profile_from_string")]
524 pub fn from_string(string: &str) -> GLSLProfile {
525 assert_initialized_main_thread!();
526 unsafe { from_glib(ffi::gst_glsl_profile_from_string(string.to_glib_none().0)) }
527 }
528
529 #[doc(alias = "gst_glsl_profile_to_string")]
530 #[doc(alias = "to_string")]
531 pub fn to_str(self) -> Option<glib::GString> {
532 assert_initialized_main_thread!();
533 unsafe { from_glib_none(ffi::gst_glsl_profile_to_string(self.into_glib())) }
534 }
535}
536
537#[doc(hidden)]
538impl IntoGlib for GLSLProfile {
539 type GlibType = ffi::GstGLSLProfile;
540
541 #[inline]
542 fn into_glib(self) -> ffi::GstGLSLProfile {
543 self.bits()
544 }
545}
546
547#[doc(hidden)]
548impl FromGlib<ffi::GstGLSLProfile> for GLSLProfile {
549 #[inline]
550 unsafe fn from_glib(value: ffi::GstGLSLProfile) -> Self {
551 skip_assert_initialized!();
552 Self::from_bits_truncate(value)
553 }
554}
555
556impl StaticType for GLSLProfile {
557 #[inline]
558 #[doc(alias = "gst_glsl_profile_get_type")]
559 fn static_type() -> glib::Type {
560 unsafe { from_glib(ffi::gst_glsl_profile_get_type()) }
561 }
562}
563
564impl glib::HasParamSpec for GLSLProfile {
565 type ParamSpec = glib::ParamSpecFlags;
566 type SetValue = Self;
567 type BuilderFn = fn(&str) -> glib::ParamSpecFlagsBuilder<Self>;
568
569 fn param_spec_builder() -> Self::BuilderFn {
570 Self::ParamSpec::builder
571 }
572}
573
574impl glib::value::ValueType for GLSLProfile {
575 type Type = Self;
576}
577
578unsafe impl<'a> glib::value::FromValue<'a> for GLSLProfile {
579 type Checker = glib::value::GenericValueTypeChecker<Self>;
580
581 #[inline]
582 unsafe fn from_value(value: &'a glib::Value) -> Self {
583 skip_assert_initialized!();
584 from_glib(glib::gobject_ffi::g_value_get_flags(value.to_glib_none().0))
585 }
586}
587
588impl ToValue for GLSLProfile {
589 #[inline]
590 fn to_value(&self) -> glib::Value {
591 let mut value = glib::Value::for_value_type::<Self>();
592 unsafe {
593 glib::gobject_ffi::g_value_set_flags(value.to_glib_none_mut().0, self.into_glib());
594 }
595 value
596 }
597
598 #[inline]
599 fn value_type(&self) -> glib::Type {
600 Self::static_type()
601 }
602}
603
604impl From<GLSLProfile> for glib::Value {
605 #[inline]
606 fn from(v: GLSLProfile) -> Self {
607 skip_assert_initialized!();
608 ToValue::to_value(&v)
609 }
610}