gsk4/
ngl_renderer.rs

1// Take a look at the license at the top of the repository in the LICENSE file.
2
3use std::fmt;
4
5use glib::translate::*;
6
7use crate::{ffi, prelude::*, Renderer};
8
9glib::wrapper! {
10    ///
11    ///
12    /// # Implements
13    ///
14    /// [`GskRendererExt`][trait@crate::prelude::GskRendererExt]
15    #[doc(alias = "GskNglRenderer")]
16    pub struct NglRenderer(Object<ffi::GskNglRenderer>) @extends Renderer;
17
18    match fn {
19        type_ => || ffi::gsk_ngl_renderer_get_type(),
20    }
21}
22
23impl NglRenderer {
24    /// Same as gsk_gl_renderer_new().
25    ///
26    /// # Deprecated since 4.18
27    ///
28    /// Use gsk_gl_renderer_new()
29    ///
30    /// # Returns
31    ///
32    /// a GL renderer
33    #[doc(alias = "gsk_ngl_renderer_new")]
34    pub fn new() -> NglRenderer {
35        assert_initialized_main_thread!();
36        unsafe { Renderer::from_glib_full(ffi::gsk_ngl_renderer_new()).unsafe_cast() }
37    }
38}
39
40impl Default for NglRenderer {
41    fn default() -> Self {
42        Self::new()
43    }
44}
45
46impl fmt::Display for NglRenderer {
47    fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
48        f.write_str("NglRenderer")
49    }
50}