Crate gsk4

Source
Expand description

§Rust GSK 4 bindings

The project website is here.

Rust bindings of GSK 4, part of gtk4-rs.

GSK is an intermediate layer that isolates GTK from the details of the OpenGL or Vulkan implementation.

§Minimum supported Rust version

Currently, the minimum supported Rust version is 1.70.

§Documentation

§Using

We recommend using crates from crates.io, as demonstrated here.

If you want to track the bleeding edge, use the git dependency instead:

[dependencies]
gsk = { git = "https://github.com/gtk-rs/gtk4-rs.git", package = "gsk4" }

Avoid mixing versioned and git crates like this:

# This will not compile
[dependencies]
gdk = {version = "0.1", package = "gdk4"}
gsk = { git = "https://github.com/gtk-rs/gtk4-rs.git", package = "gsk4" }

§Features

FeatureDescription
vulkanEnable vulkan Renderer. Only if GTK is compiled with Vulkan support
broadwayEnable broadway Renderer. Only if GTK is compiled with Broadway support
v4_18Enable the new APIs part of GTK 4.18
v4_16Enable the new APIs part of GTK 4.16
v4_14Enable the new APIs part of GTK 4.14
v4_10Enable the new APIs part of GTK 4.10
v4_6Enable the new APIs part of GTK 4.6
v4_4Enable the new APIs part of GTK 4.4
v4_2Enable the new APIs part of GTK 4.2

§See Also

§License

The Rust bindings of gsk4 are available under the MIT License, please refer to it.

Re-exports§

pub use cairo;
pub use gdk;
pub use glib;
pub use graphene;
pub use gsk4_sys as ffi;
pub use pango;

Modules§

builders
Builder pattern types.
prelude
Traits intended for blanket imports.

Structs§

BlendNode
GLib type: Shared boxed type with reference counted clone semantics.
BlurNode
GLib type: Shared boxed type with reference counted clone semantics.
BorderNode
GLib type: Shared boxed type with reference counted clone semantics.
BroadwayRendererbroadway
GLib type: GObject with reference counted clone semantics.
CairoNode
GLib type: Shared boxed type with reference counted clone semantics.
CairoRenderer
GLib type: GObject with reference counted clone semantics.
ClipNode
GLib type: Shared boxed type with reference counted clone semantics.
ColorMatrixNode
GLib type: Shared boxed type with reference counted clone semantics.
ColorNode
GLib type: Shared boxed type with reference counted clone semantics.
ColorStop
GLib type: Inline allocated boxed type with stack copy semantics.
ConicGradientNode
GLib type: Shared boxed type with reference counted clone semantics.
ContainerNode
GLib type: Shared boxed type with reference counted clone semantics.
CrossFadeNode
GLib type: Shared boxed type with reference counted clone semantics.
DebugNode
GLib type: Shared boxed type with reference counted clone semantics.
FillNodev4_14
GLib type: Shared boxed type with reference counted clone semantics.
GLRendererv4_2
GLib type: GObject with reference counted clone semantics.
GLShader
GLib type: GObject with reference counted clone semantics.
GLShaderNode
GLib type: Shared boxed type with reference counted clone semantics.
InsetShadowNode
GLib type: Shared boxed type with reference counted clone semantics.
LinearGradientNode
GLib type: Shared boxed type with reference counted clone semantics.
MaskNodev4_10
GLib type: Shared boxed type with reference counted clone semantics.
NglRendererv4_2
GLib type: GObject with reference counted clone semantics.
OpacityNode
GLib type: Shared boxed type with reference counted clone semantics.
OutsetShadowNode
GLib type: Shared boxed type with reference counted clone semantics.
ParseLocation
GLib type: Inline allocated boxed type with stack copy semantics.
Pathv4_14
GLib type: Shared boxed type with reference counted clone semantics.
PathBuilderv4_14
GLib type: Shared boxed type with reference counted clone semantics.
PathForeachFlagsv4_14
PathMeasurev4_14
GLib type: Shared boxed type with reference counted clone semantics.
PathPointv4_14
GLib type: Inline allocated boxed type with stack copy semantics.
RadialGradientNode
GLib type: Shared boxed type with reference counted clone semantics.
RenderNode
GLib type: Shared boxed type with reference counted clone semantics.
Renderer
GLib type: GObject with reference counted clone semantics.
RepeatNode
GLib type: Shared boxed type with reference counted clone semantics.
RepeatingLinearGradientNode
GLib type: Shared boxed type with reference counted clone semantics.
RepeatingRadialGradientNode
GLib type: Shared boxed type with reference counted clone semantics.
RoundedClipNode
GLib type: Shared boxed type with reference counted clone semantics.
RoundedRect
GLib type: Inline allocated boxed type with stack copy semantics.
ShaderArgsBuilder
GLib type: Shared boxed type with reference counted clone semantics.
Shadow
GLib type: Inline allocated boxed type with stack copy semantics.
ShadowNode
GLib type: Shared boxed type with reference counted clone semantics.
Strokev4_14
GLib type: Boxed type with copy-on-clone semantics.
StrokeNodev4_14
GLib type: Shared boxed type with reference counted clone semantics.
TextNode
GLib type: Shared boxed type with reference counted clone semantics.
TextureNode
GLib type: Shared boxed type with reference counted clone semantics.
TextureScaleNodev4_10
GLib type: Shared boxed type with reference counted clone semantics.
Transform
GLib type: Shared boxed type with reference counted clone semantics.
TransformNode
GLib type: Shared boxed type with reference counted clone semantics.
VulkanRenderervulkan
GLib type: GObject with reference counted clone semantics.

Enums§

BlendMode
Corner
FillRulev4_14
GLUniformType
LineCapv4_14
LineJoinv4_14
MaskModev4_10
PathDirectionv4_14
PathOperationv4_14
RenderNodeType
ScalingFilter
SerializationError
TransformCategory