gsk4/auto/cairo_renderer.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// DO NOT EDIT
4
5use crate::{ffi, Renderer};
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9 /// A GSK renderer that is using cairo.
10 ///
11 /// Since it is using cairo, this renderer cannot support
12 /// 3D transformations.
13 ///
14 /// # Implements
15 ///
16 /// [`GskRendererExt`][trait@crate::prelude::GskRendererExt]
17 #[doc(alias = "GskCairoRenderer")]
18 pub struct CairoRenderer(Object<ffi::GskCairoRenderer, ffi::GskCairoRendererClass>) @extends Renderer;
19
20 match fn {
21 type_ => || ffi::gsk_cairo_renderer_get_type(),
22 }
23}
24
25impl CairoRenderer {
26 /// Creates a new Cairo renderer.
27 ///
28 /// The Cairo renderer is the fallback renderer drawing in ways similar
29 /// to how GTK 3 drew its content. Its primary use is as comparison tool.
30 ///
31 /// The Cairo renderer is incomplete. It cannot render 3D transformed
32 /// content and will instead render an error marker. Its usage should be
33 /// avoided.
34 ///
35 /// # Returns
36 ///
37 /// a new Cairo renderer.
38 #[doc(alias = "gsk_cairo_renderer_new")]
39 pub fn new() -> CairoRenderer {
40 assert_initialized_main_thread!();
41 unsafe { Renderer::from_glib_full(ffi::gsk_cairo_renderer_new()).unsafe_cast() }
42 }
43}
44
45impl Default for CairoRenderer {
46 fn default() -> Self {
47 Self::new()
48 }
49}