diff --git a/gdk4-macos/src/auto/versions.txt b/gdk4-macos/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-macos/src/auto/versions.txt +++ b/gdk4-macos/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-macos/sys/versions.txt b/gdk4-macos/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-macos/sys/versions.txt +++ b/gdk4-macos/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-wayland/src/auto/versions.txt b/gdk4-wayland/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-wayland/src/auto/versions.txt +++ b/gdk4-wayland/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-wayland/sys/versions.txt b/gdk4-wayland/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-wayland/sys/versions.txt +++ b/gdk4-wayland/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-win32/src/auto/versions.txt b/gdk4-win32/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-win32/src/auto/versions.txt +++ b/gdk4-win32/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-win32/sys/versions.txt b/gdk4-win32/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-win32/sys/versions.txt +++ b/gdk4-win32/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-x11/src/auto/versions.txt b/gdk4-x11/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-x11/src/auto/versions.txt +++ b/gdk4-x11/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4-x11/sys/versions.txt b/gdk4-x11/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4-x11/sys/versions.txt +++ b/gdk4-x11/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4/src/auto/versions.txt b/gdk4/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4/src/auto/versions.txt +++ b/gdk4/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gdk4/sys/src/lib.rs b/gdk4/sys/src/lib.rs index f0178937def7..f57068ac67d2 100644 --- a/gdk4/sys/src/lib.rs +++ b/gdk4/sys/src/lib.rs @@ -5894,15 +5894,17 @@ extern "C" { // GdkScrollEvent //========================================================================= pub fn gdk_scroll_event_get_type() -> GType; - //#[cfg(feature = "v4_20")] - //#[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))] - //pub fn gdk_scroll_event_get_relative_direction(event: /*Metadata mismatch*/*mut [c:type mismatch GdkEvent != GdkScrollRelativeDirection of ScrollRelativeDirection]) -> GdkScrollRelativeDirection; pub fn gdk_scroll_event_get_deltas( event: *mut GdkScrollEvent, delta_x: *mut c_double, delta_y: *mut c_double, ); pub fn gdk_scroll_event_get_direction(event: *mut GdkScrollEvent) -> GdkScrollDirection; + #[cfg(feature = "v4_20")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))] + pub fn gdk_scroll_event_get_relative_direction( + event: *mut GdkScrollEvent, + ) -> GdkScrollRelativeDirection; #[cfg(feature = "v4_8")] #[cfg_attr(docsrs, doc(cfg(feature = "v4_8")))] pub fn gdk_scroll_event_get_unit(event: *mut GdkScrollEvent) -> GdkScrollUnit; diff --git a/gdk4/sys/versions.txt b/gdk4/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gdk4/sys/versions.txt +++ b/gdk4/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gir b/gir index d9a99899e425..1d0088ebcb66 160000 --- a/gir +++ b/gir @@ -1 +1 @@ -Subproject commit d9a99899e425a061e50baca3a19cc54f952e285d +Subproject commit 1d0088ebcb66e5324fc5f8efa7ee993eff45faaa diff --git a/gir-files b/gir-files index 3b05ae05a285..60a110082abd 160000 --- a/gir-files +++ b/gir-files @@ -1 +1 @@ -Subproject commit 3b05ae05a28512e43194beceff147078da76e766 +Subproject commit 60a110082abde8749a00bcf262e304f12cf05aa2 diff --git a/gsk4/src/auto/enums.rs b/gsk4/src/auto/enums.rs index ffb21556d5e1..793a71a532d2 100644 --- a/gsk4/src/auto/enums.rs +++ b/gsk4/src/auto/enums.rs @@ -1314,6 +1314,18 @@ pub enum RenderNodeType { #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))] #[doc(alias = "GSK_COMPONENT_TRANSFER_NODE")] ComponentTransferNode, + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + #[doc(alias = "GSK_COPY_NODE")] + CopyNode, + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + #[doc(alias = "GSK_PASTE_NODE")] + PasteNode, + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + #[doc(alias = "GSK_COMPOSITE_NODE")] + CompositeNode, #[doc(hidden)] __Unknown(i32), } @@ -1362,6 +1374,12 @@ impl IntoGlib for RenderNodeType { Self::SubsurfaceNode => ffi::GSK_SUBSURFACE_NODE, #[cfg(feature = "v4_20")] Self::ComponentTransferNode => ffi::GSK_COMPONENT_TRANSFER_NODE, + #[cfg(feature = "v4_22")] + Self::CopyNode => ffi::GSK_COPY_NODE, + #[cfg(feature = "v4_22")] + Self::PasteNode => ffi::GSK_PASTE_NODE, + #[cfg(feature = "v4_22")] + Self::CompositeNode => ffi::GSK_COMPOSITE_NODE, Self::__Unknown(value) => value, } } @@ -1411,6 +1429,12 @@ impl FromGlib for RenderNodeType { ffi::GSK_SUBSURFACE_NODE => Self::SubsurfaceNode, #[cfg(feature = "v4_20")] ffi::GSK_COMPONENT_TRANSFER_NODE => Self::ComponentTransferNode, + #[cfg(feature = "v4_22")] + ffi::GSK_COPY_NODE => Self::CopyNode, + #[cfg(feature = "v4_22")] + ffi::GSK_PASTE_NODE => Self::PasteNode, + #[cfg(feature = "v4_22")] + ffi::GSK_COMPOSITE_NODE => Self::CompositeNode, value => Self::__Unknown(value), } } diff --git a/gsk4/src/auto/path.rs b/gsk4/src/auto/path.rs index 570466e4767b..eb355e2e0919 100644 --- a/gsk4/src/auto/path.rs +++ b/gsk4/src/auto/path.rs @@ -175,9 +175,9 @@ impl PartialEq for Path { self.equal(other) } } + #[cfg(feature = "v4_22")] #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] - impl Eq for Path {} impl std::fmt::Display for Path { diff --git a/gsk4/src/auto/versions.txt b/gsk4/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gsk4/src/auto/versions.txt +++ b/gsk4/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gsk4/sys/src/lib.rs b/gsk4/sys/src/lib.rs index 2de9eae0088e..fbd211cfaa83 100644 --- a/gsk4/sys/src/lib.rs +++ b/gsk4/sys/src/lib.rs @@ -106,6 +106,20 @@ pub const GSK_PATH_QUAD: GskPathOperation = 3; pub const GSK_PATH_CUBIC: GskPathOperation = 4; pub const GSK_PATH_CONIC: GskPathOperation = 5; +pub type GskPorterDuff = c_int; +pub const GSK_PORTER_DUFF_SOURCE: GskPorterDuff = 0; +pub const GSK_PORTER_DUFF_DEST: GskPorterDuff = 1; +pub const GSK_PORTER_DUFF_SOURCE_OVER_DEST: GskPorterDuff = 2; +pub const GSK_PORTER_DUFF_DEST_OVER_SOURCE: GskPorterDuff = 3; +pub const GSK_PORTER_DUFF_SOURCE_IN_DEST: GskPorterDuff = 4; +pub const GSK_PORTER_DUFF_DEST_IN_SOURCE: GskPorterDuff = 5; +pub const GSK_PORTER_DUFF_SOURCE_OUT_DEST: GskPorterDuff = 6; +pub const GSK_PORTER_DUFF_DEST_OUT_SOURCE: GskPorterDuff = 7; +pub const GSK_PORTER_DUFF_SOURCE_ATOP_DEST: GskPorterDuff = 8; +pub const GSK_PORTER_DUFF_DEST_ATOP_SOURCE: GskPorterDuff = 9; +pub const GSK_PORTER_DUFF_XOR: GskPorterDuff = 10; +pub const GSK_PORTER_DUFF_CLEAR: GskPorterDuff = 11; + pub type GskRenderNodeType = c_int; pub const GSK_NOT_A_RENDER_NODE: GskRenderNodeType = 0; pub const GSK_CONTAINER_NODE: GskRenderNodeType = 1; @@ -151,6 +165,15 @@ pub const GSK_SUBSURFACE_NODE: GskRenderNodeType = 30; #[cfg(feature = "v4_20")] #[cfg_attr(docsrs, doc(cfg(feature = "v4_20")))] pub const GSK_COMPONENT_TRANSFER_NODE: GskRenderNodeType = 31; +#[cfg(feature = "v4_22")] +#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] +pub const GSK_COPY_NODE: GskRenderNodeType = 32; +#[cfg(feature = "v4_22")] +#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] +pub const GSK_PASTE_NODE: GskRenderNodeType = 33; +#[cfg(feature = "v4_22")] +#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] +pub const GSK_COMPOSITE_NODE: GskRenderNodeType = 34; pub type GskScalingFilter = c_int; pub const GSK_SCALING_FILTER_LINEAR: GskScalingFilter = 0; @@ -225,6 +248,25 @@ pub type GskPathIntersectionFunc = Option< gpointer, ) -> gboolean, >; +pub type GskRenderReplayFontFilter = Option< + unsafe extern "C" fn( + *mut GskRenderReplay, + *mut pango::PangoFont, + gpointer, + ) -> *mut pango::PangoFont, +>; +pub type GskRenderReplayNodeFilter = Option< + unsafe extern "C" fn(*mut GskRenderReplay, *mut GskRenderNode, gpointer) -> *mut GskRenderNode, +>; +pub type GskRenderReplayNodeForeach = + Option gboolean>; +pub type GskRenderReplayTextureFilter = Option< + unsafe extern "C" fn( + *mut GskRenderReplay, + *mut gdk::GdkTexture, + gpointer, + ) -> *mut gdk::GdkTexture, +>; // Records #[cfg(feature = "broadway")] @@ -397,6 +439,15 @@ impl ::std::fmt::Debug for GskPathPoint__s1 { } } +#[repr(C)] +#[allow(dead_code)] +pub struct _GskRenderReplay { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +pub type GskRenderReplay = _GskRenderReplay; + #[repr(C)] #[allow(dead_code)] pub struct _GskRendererClass { @@ -635,6 +686,20 @@ impl ::std::fmt::Debug for GskComponentTransferNode { } } +#[repr(C)] +#[allow(dead_code)] +pub struct GskCompositeNode { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +impl ::std::fmt::Debug for GskCompositeNode { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GskCompositeNode @ {self:p}")) + .finish() + } +} + #[repr(C)] #[allow(dead_code)] pub struct GskConicGradientNode { @@ -663,6 +728,19 @@ impl ::std::fmt::Debug for GskContainerNode { } } +#[repr(C)] +#[allow(dead_code)] +pub struct GskCopyNode { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +impl ::std::fmt::Debug for GskCopyNode { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GskCopyNode @ {self:p}")).finish() + } +} + #[repr(C)] #[allow(dead_code)] pub struct GskCrossFadeNode { @@ -827,6 +905,19 @@ impl ::std::fmt::Debug for GskOutsetShadowNode { } } +#[repr(C)] +#[allow(dead_code)] +pub struct GskPasteNode { + _data: [u8; 0], + _marker: core::marker::PhantomData<(*mut u8, core::marker::PhantomPinned)>, +} + +impl ::std::fmt::Debug for GskPasteNode { + fn fmt(&self, f: &mut ::std::fmt::Formatter) -> ::std::fmt::Result { + f.debug_struct(&format!("GskPasteNode @ {self:p}")).finish() + } +} + #[repr(C)] #[allow(dead_code)] pub struct GskRadialGradientNode { @@ -1105,6 +1196,13 @@ extern "C" { #[cfg_attr(docsrs, doc(cfg(feature = "v4_14")))] pub fn gsk_path_operation_get_type() -> GType; + //========================================================================= + // GskPorterDuff + //========================================================================= + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_porter_duff_get_type() -> GType; + //========================================================================= // GskRenderNodeType //========================================================================= @@ -1569,6 +1667,75 @@ extern "C" { tangent: *mut graphene::graphene_vec2_t, ); + //========================================================================= + // GskRenderReplay + //========================================================================= + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_default( + self_: *mut GskRenderReplay, + node: *mut GskRenderNode, + ) -> *mut GskRenderNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_filter_font( + self_: *mut GskRenderReplay, + font: *mut pango::PangoFont, + ) -> *mut pango::PangoFont; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_filter_node( + self_: *mut GskRenderReplay, + node: *mut GskRenderNode, + ) -> *mut GskRenderNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_filter_texture( + self_: *mut GskRenderReplay, + texture: *mut gdk::GdkTexture, + ) -> *mut gdk::GdkTexture; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_foreach_node(self_: *mut GskRenderReplay, node: *mut GskRenderNode); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_free(self_: *mut GskRenderReplay); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_set_font_filter( + self_: *mut GskRenderReplay, + filter: GskRenderReplayFontFilter, + user_data: gpointer, + user_destroy: glib::GDestroyNotify, + ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_set_node_filter( + self_: *mut GskRenderReplay, + filter: GskRenderReplayNodeFilter, + user_data: gpointer, + user_destroy: glib::GDestroyNotify, + ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_set_node_foreach( + self_: *mut GskRenderReplay, + foreach: GskRenderReplayNodeForeach, + user_data: gpointer, + user_destroy: glib::GDestroyNotify, + ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_set_texture_filter( + self_: *mut GskRenderReplay, + filter: GskRenderReplayTextureFilter, + user_data: gpointer, + user_destroy: glib::GDestroyNotify, + ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_render_replay_new() -> *mut GskRenderReplay; + //========================================================================= // GskRoundedRect //========================================================================= @@ -1966,6 +2133,27 @@ extern "C" { component: c_uint, ) -> *const GskComponentTransfer; + //========================================================================= + // GskCompositeNode + //========================================================================= + pub fn gsk_composite_node_get_type() -> GType; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_composite_node_new( + child: *mut GskRenderNode, + mask: *mut GskRenderNode, + op: GskPorterDuff, + ) -> *mut GskCompositeNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_composite_node_get_child(node: *const GskCompositeNode) -> *mut GskRenderNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_composite_node_get_mask(node: *const GskCompositeNode) -> *mut GskRenderNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_composite_node_get_operator(node: *const GskCompositeNode) -> GskPorterDuff; + //========================================================================= // GskConicGradientNode //========================================================================= @@ -2004,6 +2192,19 @@ extern "C" { ) -> *mut GskRenderNode; pub fn gsk_container_node_get_n_children(node: *const GskContainerNode) -> c_uint; + //========================================================================= + // GskCopyNode + //========================================================================= + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_copy_node_get_type() -> GType; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_copy_node_new(child: *mut GskRenderNode) -> *mut GskCopyNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_copy_node_get_child(node: *const GskCopyNode) -> *mut GskRenderNode; + //========================================================================= // GskCrossFadeNode //========================================================================= @@ -2250,6 +2451,22 @@ extern "C" { ) -> *const GskRoundedRect; pub fn gsk_outset_shadow_node_get_spread(node: *const GskOutsetShadowNode) -> c_float; + //========================================================================= + // GskPasteNode + //========================================================================= + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_paste_node_get_type() -> GType; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_paste_node_new( + bounds: *const graphene::graphene_rect_t, + depth: size_t, + ) -> *mut GskPasteNode; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gsk_paste_node_get_depth(node: *const GskPasteNode) -> size_t; + //========================================================================= // GskRadialGradientNode //========================================================================= diff --git a/gsk4/sys/tests/abi.rs b/gsk4/sys/tests/abi.rs index bc7350dfb488..1d259ea72a3b 100644 --- a/gsk4/sys/tests/abi.rs +++ b/gsk4/sys/tests/abi.rs @@ -306,6 +306,13 @@ const RUST_LAYOUTS: &[(&str, Layout)] = &[ alignment: align_of::(), }, ), + ( + "GskPorterDuff", + Layout { + size: size_of::(), + alignment: align_of::(), + }, + ), ( "GskRenderNodeType", Layout { @@ -375,8 +382,10 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GSK_COLOR_MATRIX_NODE", "15"), ("(gint) GSK_COLOR_NODE", "3"), ("(gint) GSK_COMPONENT_TRANSFER_NODE", "31"), + ("(gint) GSK_COMPOSITE_NODE", "34"), ("(gint) GSK_CONIC_GRADIENT_NODE", "8"), ("(gint) GSK_CONTAINER_NODE", "1"), + ("(gint) GSK_COPY_NODE", "32"), ("(gint) GSK_CORNER_BOTTOM_LEFT", "3"), ("(gint) GSK_CORNER_BOTTOM_RIGHT", "2"), ("(gint) GSK_CORNER_TOP_LEFT", "0"), @@ -411,6 +420,7 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GSK_NOT_A_RENDER_NODE", "0"), ("(gint) GSK_OPACITY_NODE", "14"), ("(gint) GSK_OUTSET_SHADOW_NODE", "12"), + ("(gint) GSK_PASTE_NODE", "33"), ("(gint) GSK_PATH_CLOSE", "1"), ("(gint) GSK_PATH_CONIC", "5"), ("(gint) GSK_PATH_CUBIC", "4"), @@ -429,6 +439,18 @@ const RUST_CONSTANTS: &[(&str, &str)] = &[ ("(gint) GSK_PATH_QUAD", "3"), ("(gint) GSK_PATH_TO_END", "2"), ("(gint) GSK_PATH_TO_START", "1"), + ("(gint) GSK_PORTER_DUFF_CLEAR", "11"), + ("(gint) GSK_PORTER_DUFF_DEST", "1"), + ("(gint) GSK_PORTER_DUFF_DEST_ATOP_SOURCE", "9"), + ("(gint) GSK_PORTER_DUFF_DEST_IN_SOURCE", "5"), + ("(gint) GSK_PORTER_DUFF_DEST_OUT_SOURCE", "7"), + ("(gint) GSK_PORTER_DUFF_DEST_OVER_SOURCE", "3"), + ("(gint) GSK_PORTER_DUFF_SOURCE", "0"), + ("(gint) GSK_PORTER_DUFF_SOURCE_ATOP_DEST", "8"), + ("(gint) GSK_PORTER_DUFF_SOURCE_IN_DEST", "4"), + ("(gint) GSK_PORTER_DUFF_SOURCE_OUT_DEST", "6"), + ("(gint) GSK_PORTER_DUFF_SOURCE_OVER_DEST", "2"), + ("(gint) GSK_PORTER_DUFF_XOR", "10"), ("(gint) GSK_RADIAL_GRADIENT_NODE", "6"), ("(gint) GSK_REPEATING_LINEAR_GRADIENT_NODE", "5"), ("(gint) GSK_REPEATING_RADIAL_GRADIENT_NODE", "7"), diff --git a/gsk4/sys/tests/constant.c b/gsk4/sys/tests/constant.c index 71e6e4cb707e..7c7dc5a833c5 100644 --- a/gsk4/sys/tests/constant.c +++ b/gsk4/sys/tests/constant.c @@ -52,8 +52,10 @@ int main() { PRINT_CONSTANT((gint) GSK_COLOR_MATRIX_NODE); PRINT_CONSTANT((gint) GSK_COLOR_NODE); PRINT_CONSTANT((gint) GSK_COMPONENT_TRANSFER_NODE); + PRINT_CONSTANT((gint) GSK_COMPOSITE_NODE); PRINT_CONSTANT((gint) GSK_CONIC_GRADIENT_NODE); PRINT_CONSTANT((gint) GSK_CONTAINER_NODE); + PRINT_CONSTANT((gint) GSK_COPY_NODE); PRINT_CONSTANT((gint) GSK_CORNER_BOTTOM_LEFT); PRINT_CONSTANT((gint) GSK_CORNER_BOTTOM_RIGHT); PRINT_CONSTANT((gint) GSK_CORNER_TOP_LEFT); @@ -88,6 +90,7 @@ int main() { PRINT_CONSTANT((gint) GSK_NOT_A_RENDER_NODE); PRINT_CONSTANT((gint) GSK_OPACITY_NODE); PRINT_CONSTANT((gint) GSK_OUTSET_SHADOW_NODE); + PRINT_CONSTANT((gint) GSK_PASTE_NODE); PRINT_CONSTANT((gint) GSK_PATH_CLOSE); PRINT_CONSTANT((gint) GSK_PATH_CONIC); PRINT_CONSTANT((gint) GSK_PATH_CUBIC); @@ -106,6 +109,18 @@ int main() { PRINT_CONSTANT((gint) GSK_PATH_QUAD); PRINT_CONSTANT((gint) GSK_PATH_TO_END); PRINT_CONSTANT((gint) GSK_PATH_TO_START); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_CLEAR); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_DEST); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_DEST_ATOP_SOURCE); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_DEST_IN_SOURCE); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_DEST_OUT_SOURCE); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_DEST_OVER_SOURCE); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_SOURCE); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_SOURCE_ATOP_DEST); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_SOURCE_IN_DEST); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_SOURCE_OUT_DEST); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_SOURCE_OVER_DEST); + PRINT_CONSTANT((gint) GSK_PORTER_DUFF_XOR); PRINT_CONSTANT((gint) GSK_RADIAL_GRADIENT_NODE); PRINT_CONSTANT((gint) GSK_REPEATING_LINEAR_GRADIENT_NODE); PRINT_CONSTANT((gint) GSK_REPEATING_RADIAL_GRADIENT_NODE); diff --git a/gsk4/sys/tests/layout.c b/gsk4/sys/tests/layout.c index a77d6ab1b8df..b611e9928422 100644 --- a/gsk4/sys/tests/layout.c +++ b/gsk4/sys/tests/layout.c @@ -22,6 +22,7 @@ int main() { printf("%s;%zu;%zu\n", "GskPathIntersection", sizeof(GskPathIntersection), alignof(GskPathIntersection)); printf("%s;%zu;%zu\n", "GskPathOperation", sizeof(GskPathOperation), alignof(GskPathOperation)); printf("%s;%zu;%zu\n", "GskPathPoint", sizeof(GskPathPoint), alignof(GskPathPoint)); + printf("%s;%zu;%zu\n", "GskPorterDuff", sizeof(GskPorterDuff), alignof(GskPorterDuff)); printf("%s;%zu;%zu\n", "GskRenderNodeType", sizeof(GskRenderNodeType), alignof(GskRenderNodeType)); printf("%s;%zu;%zu\n", "GskRoundedRect", sizeof(GskRoundedRect), alignof(GskRoundedRect)); printf("%s;%zu;%zu\n", "GskScalingFilter", sizeof(GskScalingFilter), alignof(GskScalingFilter)); diff --git a/gsk4/sys/versions.txt b/gsk4/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gsk4/sys/versions.txt +++ b/gsk4/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gtk4/src/auto/flags.rs b/gtk4/src/auto/flags.rs index de114217c210..3953664d4e0e 100644 --- a/gtk4/src/auto/flags.rs +++ b/gtk4/src/auto/flags.rs @@ -342,6 +342,8 @@ bitflags! { #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))] #[doc(alias = "GTK_DEBUG_BUILDER")] const BUILDER = ffi::GTK_DEBUG_BUILDER as _; + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] #[doc(alias = "GTK_DEBUG_SESSION")] const SESSION = ffi::GTK_DEBUG_SESSION as _; } diff --git a/gtk4/src/auto/functions.rs b/gtk4/src/auto/functions.rs index 47b2d34f832f..606a66e4302d 100644 --- a/gtk4/src/auto/functions.rs +++ b/gtk4/src/auto/functions.rs @@ -13,6 +13,22 @@ use crate::{ use glib::{prelude::*, translate::*}; use std::boxed::Box as Box_; +#[cfg(feature = "v4_22")] +#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] +#[doc(alias = "gtk_accelerator_get_accessible_label")] +pub fn accelerator_get_accessible_label( + accelerator_key: u32, + accelerator_mods: gdk::ModifierType, +) -> glib::GString { + assert_initialized_main_thread!(); + unsafe { + from_glib_full(ffi::gtk_accelerator_get_accessible_label( + accelerator_key, + accelerator_mods.into_glib(), + )) + } +} + #[doc(alias = "gtk_accelerator_get_default_mod_mask")] pub fn accelerator_get_default_mod_mask() -> gdk::ModifierType { assert_initialized_main_thread!(); diff --git a/gtk4/src/auto/snapshot.rs b/gtk4/src/auto/snapshot.rs index 480742a3b11d..7982fe4d4805 100644 --- a/gtk4/src/auto/snapshot.rs +++ b/gtk4/src/auto/snapshot.rs @@ -176,6 +176,19 @@ pub trait SnapshotExt: IsA + 'static { } } + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + #[doc(alias = "gtk_snapshot_append_paste")] + fn append_paste(&self, bounds: &graphene::Rect, nth: usize) { + unsafe { + ffi::gtk_snapshot_append_paste( + self.as_ref().to_glib_none().0, + bounds.to_glib_none().0, + nth, + ); + } + } + #[doc(alias = "gtk_snapshot_append_radial_gradient")] fn append_radial_gradient( &self, @@ -392,6 +405,22 @@ pub trait SnapshotExt: IsA + 'static { } } + //#[cfg(feature = "v4_22")] + //#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + //#[doc(alias = "gtk_snapshot_push_composite")] + //fn push_composite(&self, op: /*Ignored*/gsk::PorterDuff) { + // unsafe { TODO: call ffi:gtk_snapshot_push_composite() } + //} + + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + #[doc(alias = "gtk_snapshot_push_copy")] + fn push_copy(&self) { + unsafe { + ffi::gtk_snapshot_push_copy(self.as_ref().to_glib_none().0); + } + } + #[doc(alias = "gtk_snapshot_push_cross_fade")] fn push_cross_fade(&self, progress: f64) { unsafe { diff --git a/gtk4/src/auto/versions.txt b/gtk4/src/auto/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gtk4/src/auto/versions.txt +++ b/gtk4/src/auto/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd) diff --git a/gtk4/sys/src/lib.rs b/gtk4/sys/src/lib.rs index 27ae8a4f79a7..85e91ca123e6 100644 --- a/gtk4/sys/src/lib.rs +++ b/gtk4/sys/src/lib.rs @@ -1144,6 +1144,8 @@ pub const GTK_DEBUG_CSS: GtkDebugFlags = 1048576; #[cfg(feature = "v4_18")] #[cfg_attr(docsrs, doc(cfg(feature = "v4_18")))] pub const GTK_DEBUG_BUILDER: GtkDebugFlags = 2097152; +#[cfg(feature = "v4_22")] +#[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] pub const GTK_DEBUG_SESSION: GtkDebugFlags = 4194304; pub type GtkDialogFlags = c_uint; @@ -18407,6 +18409,13 @@ extern "C" { spread: c_float, blur_radius: c_float, ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gtk_snapshot_append_paste( + snapshot: *mut GtkSnapshot, + bounds: *const graphene::graphene_rect_t, + nth: size_t, + ); pub fn gtk_snapshot_append_radial_gradient( snapshot: *mut GtkSnapshot, bounds: *const graphene::graphene_rect_t, @@ -18486,6 +18495,12 @@ extern "C" { blue: *const gsk::GskComponentTransfer, alpha: *const gsk::GskComponentTransfer, ); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gtk_snapshot_push_composite(snapshot: *mut GtkSnapshot, op: gsk::GskPorterDuff); + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gtk_snapshot_push_copy(snapshot: *mut GtkSnapshot); pub fn gtk_snapshot_push_cross_fade(snapshot: *mut GtkSnapshot, progress: c_double); pub fn gtk_snapshot_push_debug(snapshot: *mut GtkSnapshot, message: *const c_char, ...); #[cfg(feature = "v4_14")] @@ -21767,6 +21782,12 @@ extern "C" { //========================================================================= // Other functions //========================================================================= + #[cfg(feature = "v4_22")] + #[cfg_attr(docsrs, doc(cfg(feature = "v4_22")))] + pub fn gtk_accelerator_get_accessible_label( + accelerator_key: c_uint, + accelerator_mods: gdk::GdkModifierType, + ) -> *mut c_char; pub fn gtk_accelerator_get_default_mod_mask() -> gdk::GdkModifierType; pub fn gtk_accelerator_get_label( accelerator_key: c_uint, diff --git a/gtk4/sys/versions.txt b/gtk4/sys/versions.txt index 3893881810d2..6ba4a959b212 100644 --- a/gtk4/sys/versions.txt +++ b/gtk4/sys/versions.txt @@ -1,2 +1,2 @@ -Generated by gir (https://github.com/gtk-rs/gir @ d9a99899e425) -from gir-files (https://github.com/gtk-rs/gir-files @ 3b05ae05a285) +Generated by gir (https://github.com/gtk-rs/gir @ 1d0088ebcb66) +from gir-files (https://github.com/gtk-rs/gir-files @ 60a110082abd)