gtk4/auto/
symbolic_paintable.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;
6use glib::{prelude::*, translate::*};
7
8glib::wrapper! {
9    #[doc(alias = "GtkSymbolicPaintable")]
10    pub struct SymbolicPaintable(Interface<ffi::GtkSymbolicPaintable, ffi::GtkSymbolicPaintableInterface>) @requires gdk::Paintable;
11
12    match fn {
13        type_ => || ffi::gtk_symbolic_paintable_get_type(),
14    }
15}
16
17impl SymbolicPaintable {
18    pub const NONE: Option<&'static SymbolicPaintable> = None;
19}
20
21mod sealed {
22    pub trait Sealed {}
23    impl<T: super::IsA<super::SymbolicPaintable>> Sealed for T {}
24}
25
26pub trait SymbolicPaintableExt: IsA<SymbolicPaintable> + sealed::Sealed + 'static {
27    #[doc(alias = "gtk_symbolic_paintable_snapshot_symbolic")]
28    fn snapshot_symbolic(
29        &self,
30        snapshot: &impl IsA<gdk::Snapshot>,
31        width: f64,
32        height: f64,
33        colors: &[gdk::RGBA],
34    ) {
35        let n_colors = colors.len() as _;
36        unsafe {
37            ffi::gtk_symbolic_paintable_snapshot_symbolic(
38                self.as_ref().to_glib_none().0,
39                snapshot.as_ref().to_glib_none().0,
40                width,
41                height,
42                colors.to_glib_none().0,
43                n_colors,
44            );
45        }
46    }
47}
48
49impl<O: IsA<SymbolicPaintable>> SymbolicPaintableExt for O {}