Gsk.Renderer¶
- Subclasses:
Gsk.BroadwayRenderer
,Gsk.CairoRenderer
,Gsk.GLRenderer
,Gsk.NglRenderer
Methods¶
- Inherited:
- Structs:
class |
|
|
|
|
|
|
|
|
|
|
|
|
Virtual Methods¶
- Inherited:
Properties¶
Name |
Type |
Flags |
Short Description |
---|---|---|---|
r/en |
|||
r/en |
Signals¶
- Inherited:
Fields¶
- Inherited:
Class Details¶
- class Gsk.Renderer(**kwargs)¶
- Bases:
- Abstract:
Yes
- Structure:
GskRenderer
is a class that renders a scene graph defined via a tree of [class`Gsk`.RenderNode] instances.Typically you will use a
GskRenderer
instance to repeatedly call [method`Gsk`.Renderer.render] to update the contents of its associated [class`Gdk`.Surface].It is necessary to realize a
GskRenderer
instance using [method`Gsk`.Renderer.realize] before calling [method`Gsk`.Renderer.render], in order to create the appropriate windowing system resources needed to render the scene.- classmethod new_for_surface(surface)¶
- Parameters:
surface (
Gdk.Surface
) – aGdkSurface
- Returns:
a
GskRenderer
- Return type:
Gsk.Renderer
orNone
Creates an appropriate
GskRenderer
instance for the given surface.If the
GSK_RENDERER
environment variable is set, GSK will try that renderer first, before trying the backend-specific default. The ultimate fallback is the cairo renderer.The renderer will be realized before it is returned.
- get_surface()¶
- Returns:
a
GdkSurface
- Return type:
Gdk.Surface
orNone
Retrieves the
GdkSurface
set using gsk_enderer_realize().If the renderer has not been realized yet,
None
will be returned.
- is_realized()¶
-
Checks whether the self is realized or not.
- realize(surface)¶
- Parameters:
surface (
Gdk.Surface
orNone
) – theGdkSurface
renderer will be used on- Raises:
- Returns:
Whether the renderer was successfully realized
- Return type:
Creates the resources needed by the self to render the scene graph.
Since GTK 4.6, the surface may be
NULL
, which allows using renderers without having to create a surface.Note that it is mandatory to call [method`Gsk`.Renderer.unrealize] before destroying the renderer.
- render(root, region)¶
- Parameters:
root (
Gsk.RenderNode
) – aGskRenderNode
region (
cairo.Region
orNone
) – thecairo_region_t
that must be redrawn orNone
for the whole window
Renders the scene graph, described by a tree of
GskRenderNode
instances to the renderer’s surface, ensuring that the given region gets redrawn.If the renderer has no associated surface, this function does nothing.
Renderers must ensure that changes of the contents given by the root node as well as the area given by region are redrawn. They are however free to not redraw any pixel outside of region if they can guarantee that it didn’t change.
The self will acquire a reference on the
GskRenderNode
tree while the rendering is in progress.
- render_texture(root, viewport)¶
- Parameters:
root (
Gsk.RenderNode
) – aGskRenderNode
viewport (
Graphene.Rect
orNone
) – the section to draw orNone
to use root's bounds
- Returns:
a
GdkTexture
with the rendered contents of root.- Return type:
Renders the scene graph, described by a tree of
GskRenderNode
instances, to aGdkTexture
.The self will acquire a reference on the
GskRenderNode
tree while the rendering is in progress.If you want to apply any transformations to root, you should put it into a transform node and pass that node instead.
- unrealize()¶
Releases all the resources created by
Gsk.Renderer.realize
().
Property Details¶
- Gsk.Renderer.props.realized¶
- Name:
realized
- Type:
- Default Value:
- Flags:
Whether the renderer has been associated with a surface or draw context.
- Gsk.Renderer.props.surface¶
- Name:
surface
- Type:
- Default Value:
- Flags:
The surface associated with renderer.