Skip to main content

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