Module: Gsk
- Defined in:
- lib/gsk4/loader.rb,
lib/gsk4.rb,
lib/gsk4/version.rb,
lib/gsk4/rounded-rect.rb
Overview
Copyright (C) 2025 Ruby-GNOME Project Team
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Defined Under Namespace
Modules: BlendMode, Corner, FillRule, GLUniformType, LineCap, LineJoin, MaskMode, PathDirection, PathForeachFlags, PathOperation, RenderNodeType, ScalingFilter, SerializationError, TransformCategory, Version Classes: BlendNode, BlurNode, BorderNode, BroadwayRenderer, CairoNode, CairoRenderer, ClipNode, ColorMatrixNode, ColorNode, ConicGradientNode, ContainerNode, CrossFadeNode, DebugNode, Error, FillNode, GLRenderer, GLShader, GLShaderNode, InsetShadowNode, LinearGradientNode, Loader, MaskNode, NglRenderer, OpacityNode, OutsetShadowNode, RadialGradientNode, RenderNode, Renderer, RepeatNode, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RoundedClipNode, RoundedRect, ShadowNode, StrokeNode, SubsurfaceNode, TextNode, TextureNode, TextureScaleNode, TransformNode, VulkanRenderer
Constant Summary collapse
- LOG_DOMAIN =
"Gsk"
Instance Method Summary collapse
-
#path_parse(string) ⇒ Gsk::Path
This is a convenience function that constructs a
GskPathfrom a serialized form. - #serialization_error_quark ⇒ GLib::Quark
-
#stroke_equal(stroke1, stroke2) ⇒ Boolean
Checks if 2 strokes are identical.
-
#transform_parse(string, out_transform) ⇒ Boolean
Parses the given string into a transform and puts it in out_transform.
-
#value_dup_render_node(value) ⇒ Gsk::RenderNode
Retrieves the
GskRenderNodestored inside the givenvalue, and acquires a reference to it. -
#value_get_render_node(value) ⇒ Gsk::RenderNode
Retrieves the
GskRenderNodestored inside the givenvalue. -
#value_set_render_node(value, node) ⇒ nil
Stores the given
GskRenderNodeinsidevalue. -
#value_take_render_node(value, node) ⇒ nil
Stores the given
GskRenderNodeinsidevalue.
Instance Method Details
#path_parse(string) ⇒ Gsk::Path
This is a convenience function that constructs a GskPath
from a serialized form.
The string is expected to be in (a superset of) SVG path syntax, as e.g. produced by [methodGsk.Path.to_string].
A high-level summary of the syntax:
M x yMove to(x, y)L x yAdd a line from the current point to(x, y)Q x1 y1 x2 y2Add a quadratic Bézier from the current point to(x2, y2), with control point(x1, y1)C x1 y1 x2 y2 x3 y3Add a cubic Bézier from the current point to(x3, y3), with control points(x1, y1)and(x2, y2)ZClose the contour by drawing a line back to the start pointH xAdd a horizontal line from the current point to the given x valueV yAdd a vertical line from the current point to the given y valueT x2 y2Add a quadratic Bézier, using the reflection of the previous segments' control point as control pointS x2 y2 x3 y3Add a cubic Bézier, using the reflection of the previous segments' second control point as first control pointA rx ry r l s x yAdd an elliptical arc from the current point to(x, y)with radii rx and ry. See the SVG documentation for how the other parameters influence the arc.O x1 y1 x2 y2 wAdd a rational quadratic Bézier from the current point to(x2, y2)with control point(x1, y1)and weightw.
All the commands have lowercase variants that interpret coordinates relative to the current point.
The O command is an extension that is not supported in SVG.
#serialization_error_quark ⇒ GLib::Quark
#stroke_equal(stroke1, stroke2) ⇒ Boolean
Checks if 2 strokes are identical.
#transform_parse(string, out_transform) ⇒ Boolean
Parses the given string into a transform and puts it in out_transform.
Strings printed via [methodGsk.Transform.to_string] can be read in again successfully using this function.
If string does not describe a valid transform, false is returned and nil is put in out_transform.
#value_dup_render_node(value) ⇒ Gsk::RenderNode
Retrieves the GskRenderNode stored inside the given value, and acquires
a reference to it.
#value_get_render_node(value) ⇒ Gsk::RenderNode
Retrieves the GskRenderNode stored inside the given value.
#value_set_render_node(value, node) ⇒ nil
Stores the given GskRenderNode inside value.
The [structGObject.Value] will acquire a reference to the node.
#value_take_render_node(value, node) ⇒ nil
Stores the given GskRenderNode inside value.
This function transfers the ownership of the node to the GValue.