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}