Klasse RenderNode

Alle implementierten Schnittstellen:
PointerInterface
Bekannte direkte Unterklassen:
BlendNode, BlurNode, BorderNode, CairoNode, ClipNode, ColorMatrixNode, ColorNode, ConicGradientNode, ContainerNode, CrossFadeNode, DebugNode, FillNode, GLShaderNode, InsetShadowNode, LinearGradientNode, MaskNode, OpacityNode, OutsetShadowNode, RadialGradientNode, RepeatingLinearGradientNode, RepeatingRadialGradientNode, RepeatNode, RoundedClipNode, ShadowNode, StrokeNode, SubsurfaceNode, TextNode, TextureNode, TextureScaleNode, TransformNode

public class RenderNode extends Pointer
`GskRenderNode` is the basic block in a scene graph to be
rendered using [class@Gsk.Renderer].

Each node has a parent, except the top-level node; each node may have
children nodes.

Each node has an associated drawing surface, which has the size of
the rectangle set when creating it.

Render nodes are meant to be transient; once they have been associated
to a [class@Gsk.Renderer] it's safe to release any reference you have on
them. All [class@Gsk.RenderNode]s are immutable, you can only specify their
properties during construction.

https://docs.gtk.org/gsk4/class.RenderNode.html

  • Konstruktordetails

  • Methodendetails

    • getClassHandler

      public static ClassHandler getClassHandler()
    • draw

      public void draw(@Nonnull Context cr)
      Draws the contents of a render node on a cairo context.

      Typically, you'll use this function to implement fallback rendering
      of render nodes on an intermediate Cairo context, instead of using
      the drawing context associated to a [class@Gdk.Surface]'s rendering buffer.

      For advanced nodes that cannot be supported using Cairo, in particular
      for nodes doing 3D operations, this function may fail.
      Parameter:
      cr - cairo context to draw to
    • getBounds

      public void getBounds(@Nonnull Rect bounds)
      Retrieves the boundaries of the @node.

      The node will not draw outside of its boundaries.
      Parameter:
      bounds - return location for the boundaries
    • getNodeType

      public int getNodeType()
      Returns the type of the render node.
      Gibt zurück:
      the type of @node
    • getOpaqueRect

      public boolean getOpaqueRect(@Nonnull Rect out_opaque)
      Gets an opaque rectangle inside the node that GTK can determine to
      be fully opaque.

      There is no guarantee that this is indeed the largest opaque rectangle or
      that regions outside the rectangle are not opaque. This function is a best
      effort with that goal.

      The rectangle will be fully contained in the bounds of the node.
      Parameter:
      out_opaque - return location for the opaque rect
      Gibt zurück:
      true if part or all of the rendernode is opaque, false if no opaque region could be found.
    • ref

      public RenderNode ref()
      Acquires a reference on the given `GskRenderNode`.
      Gibt zurück:
      the render node with an additional reference
    • serialize

      public Bytes serialize()
      Serializes the @node for later deserialization via
      gsk_render_node_deserialize(). No guarantees are made about the format
      used other than that the same version of GTK will be able to deserialize
      the result of a call to gsk_render_node_serialize() and
      gsk_render_node_deserialize() will correctly reject files it cannot open
      that were created with previous versions of GTK.

      The intended use of this functions is testing, benchmarking and debugging.
      The format is not meant as a permanent storage format.
      Gibt zurück:
      a `GBytes` representing the node.
    • unref

      public void unref()
      Releases a reference on the given `GskRenderNode`.

      If the reference was the last, the resources associated to the @node are
      freed.
    • writeToFile

      public boolean writeToFile(@Nonnull Str filename) throws AllocationError
      This function is equivalent to calling [method@Gsk.RenderNode.serialize]
      followed by [func@GLib.file_set_contents].

      See those two functions for details on the arguments.

      It is mostly intended for use inside a debugger to quickly dump a render
      node to a file for later inspection.
      Parameter:
      filename - the file to save it to
      Gibt zurück:
      true if saving was successful
      Löst aus:
      AllocationError
    • writeToFile

      public boolean writeToFile(String filename) throws AllocationError
      This function is equivalent to calling [method@Gsk.RenderNode.serialize]
      followed by [func@GLib.file_set_contents].

      See those two functions for details on the arguments.

      It is mostly intended for use inside a debugger to quickly dump a render
      node to a file for later inspection.
      Parameter:
      filename - the file to save it to
      Gibt zurück:
      true if saving was successful
      Löst aus:
      AllocationError
    • deserialize

      public static RenderNode deserialize(@Nonnull Bytes bytes, RenderNode.OnParseErrorFunc error_func, @Nullable Pointer user_data)
      Loads data previously created via [method@Gsk.RenderNode.serialize].

      For a discussion of the supported format, see that function.
      Parameter:
      bytes - the bytes containing the data
      error_func - callback on parsing errors
      user_data - user_data for @error_func
      Gibt zurück:
      a new render node
    • getTypeID

      public static long getTypeID()
    • getParentTypeID

      public static long getParentTypeID()
    • getTypeSize

      public static TypeSystem.TypeSize getTypeSize()
    • getParentTypeSize

      public static TypeSystem.TypeSize getParentTypeSize()
    • getInstanceSize

      public static int getInstanceSize()