Package ch.bailu.gtk.gsk
Klasse RenderNode
java.lang.Object
ch.bailu.gtk.type.Type
ch.bailu.gtk.type.Pointer
ch.bailu.gtk.gsk.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
`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.
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.
-
Verschachtelte Klassen - Übersicht
Verschachtelte Klassen -
Feldübersicht
-
Konstruktorübersicht
Konstruktoren -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungstatic RenderNode
deserialize
(Bytes bytes, RenderNode.OnParseErrorFunc error_func, Pointer user_data) Loads data previously created via [method@Gsk.RenderNode.serialize].void
Draws the contents of a render node on a cairo context.void
Retrieves the boundaries of the @node.static ClassHandler
static int
int
Returns the type of the render node.boolean
getOpaqueRect
(Rect out_opaque) Gets an opaque rectangle inside the node that GTK can determine to
be fully opaque.static long
static TypeSystem.TypeSize
static long
static TypeSystem.TypeSize
ref()
Acquires a reference on the given `GskRenderNode`.Serializes the @node for later deserialization via
gsk_render_node_deserialize().void
unref()
Releases a reference on the given `GskRenderNode`.boolean
writeToFile
(Str filename) This function is equivalent to calling [method@Gsk.RenderNode.serialize]
followed by [func@GLib.file_set_contents].boolean
writeToFile
(String filename) This function is equivalent to calling [method@Gsk.RenderNode.serialize]
followed by [func@GLib.file_set_contents].Von Klasse geerbte Methoden ch.bailu.gtk.type.Pointer
asCPointer, cast, connectSignal, disconnectSignals, disconnectSignals, equals, hashCode, throwIfNull, throwNullPointerException, toString, unregisterCallbacks, unregisterCallbacks
Von Klasse geerbte Methoden ch.bailu.gtk.type.Type
asCPointer, asCPointer, asCPointerNotNull, asJnaPointer, asJnaPointer, asPointer, asPointer, cast, cast, throwIfNull
Von Klasse geerbte Methoden java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Von Schnittstelle geerbte Methoden ch.bailu.gtk.type.PointerInterface
asCPointerNotNull, asJnaPointer, asPointer, isNotNull, isNull
-
Konstruktordetails
-
RenderNode
-
-
Methodendetails
-
getClassHandler
-
draw
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
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
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
Acquires a reference on the given `GskRenderNode`.- Gibt zurück:
- the render node with an additional reference
-
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
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
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 dataerror_func
- callback on parsing errorsuser_data
- user_data for @error_func- Gibt zurück:
- a new render node
-
getTypeID
public static long getTypeID() -
getParentTypeID
public static long getParentTypeID() -
getTypeSize
-
getParentTypeSize
-
getInstanceSize
public static int getInstanceSize()
-