gstreamer_gl/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::*};
8
9bitflags! {
10    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
11    #[doc(alias = "GstGLAPI")]
12    pub struct GLAPI: u32 {
13        /// Desktop OpenGL up to and including 3.1. The
14        ///  compatibility profile when the OpenGL version is >= 3.2
15        #[doc(alias = "GST_GL_API_OPENGL")]
16        const OPENGL = ffi::GST_GL_API_OPENGL as _;
17        /// Desktop OpenGL >= 3.2 core profile
18        #[doc(alias = "GST_GL_API_OPENGL3")]
19        const OPENGL3 = ffi::GST_GL_API_OPENGL3 as _;
20        /// OpenGL ES 1.x
21        #[doc(alias = "GST_GL_API_GLES1")]
22        const GLES1 = ffi::GST_GL_API_GLES1 as _;
23        /// OpenGL ES 2.x and 3.x
24        #[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        /// none
133        #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_NONE")]
134        const NONE = ffi::GST_GL_CONFIG_SURFACE_TYPE_NONE as _;
135        /// window
136        #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_WINDOW")]
137        const WINDOW = ffi::GST_GL_CONFIG_SURFACE_TYPE_WINDOW as _;
138        /// pbuffer
139        #[doc(alias = "GST_GL_CONFIG_SURFACE_TYPE_PBUFFER")]
140        const PBUFFER = ffi::GST_GL_CONFIG_SURFACE_TYPE_PBUFFER as _;
141        /// pixmap
142        #[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        /// X11 display
254        #[doc(alias = "GST_GL_DISPLAY_TYPE_X11")]
255        const X11 = ffi::GST_GL_DISPLAY_TYPE_X11 as _;
256        /// Wayland display
257        #[doc(alias = "GST_GL_DISPLAY_TYPE_WAYLAND")]
258        const WAYLAND = ffi::GST_GL_DISPLAY_TYPE_WAYLAND as _;
259        /// Cocoa display
260        #[doc(alias = "GST_GL_DISPLAY_TYPE_COCOA")]
261        const COCOA = ffi::GST_GL_DISPLAY_TYPE_COCOA as _;
262        /// Win32 display
263        #[doc(alias = "GST_GL_DISPLAY_TYPE_WIN32")]
264        const WIN32 = ffi::GST_GL_DISPLAY_TYPE_WIN32 as _;
265        /// Dispmanx display
266        #[doc(alias = "GST_GL_DISPLAY_TYPE_DISPMANX")]
267        const DISPMANX = ffi::GST_GL_DISPLAY_TYPE_DISPMANX as _;
268        /// EGL display
269        #[doc(alias = "GST_GL_DISPLAY_TYPE_EGL")]
270        const EGL = ffi::GST_GL_DISPLAY_TYPE_EGL as _;
271        /// Vivante Framebuffer display
272        #[doc(alias = "GST_GL_DISPLAY_TYPE_VIV_FB")]
273        const VIV_FB = ffi::GST_GL_DISPLAY_TYPE_VIV_FB as _;
274        /// Mesa3D GBM display
275        #[doc(alias = "GST_GL_DISPLAY_TYPE_GBM")]
276        const GBM = ffi::GST_GL_DISPLAY_TYPE_GBM as _;
277        /// EGLDevice display.
278        #[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        /// EAGL display.
283        #[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        /// WinRT display.
288        #[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        /// Android display.
293        #[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        /// Mesa3D surfaceless display using the EGL_PLATFORM_SURFACELESS_MESA
298        /// extension.
299        #[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        /// the EGL platform used primarily with the X11, wayland
386        ///  and android window systems as well as on embedded Linux
387        #[doc(alias = "GST_GL_PLATFORM_EGL")]
388        const EGL = ffi::GST_GL_PLATFORM_EGL as _;
389        /// the GLX platform used primarily with the X11 window system
390        #[doc(alias = "GST_GL_PLATFORM_GLX")]
391        const GLX = ffi::GST_GL_PLATFORM_GLX as _;
392        /// the WGL platform used primarily on Windows
393        #[doc(alias = "GST_GL_PLATFORM_WGL")]
394        const WGL = ffi::GST_GL_PLATFORM_WGL as _;
395        /// the CGL platform used primarily on OS X
396        #[doc(alias = "GST_GL_PLATFORM_CGL")]
397        const CGL = ffi::GST_GL_PLATFORM_CGL as _;
398        /// the EAGL platform used primarily on iOS
399        #[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    /// GLSL profiles
507    #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
508    #[doc(alias = "GstGLSLProfile")]
509    pub struct GLSLProfile: u32 {
510        /// OpenGL|ES profile
511        #[doc(alias = "GST_GLSL_PROFILE_ES")]
512        const ES = ffi::GST_GLSL_PROFILE_ES as _;
513        /// OpenGL core profile
514        #[doc(alias = "GST_GLSL_PROFILE_CORE")]
515        const CORE = ffi::GST_GLSL_PROFILE_CORE as _;
516        /// OpenGL compatibility profile
517        #[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}