gtk4/auto/
symbolic_paintable.rs1use 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 {}