class Gsk::Renderer
- Gsk::Renderer
- GObject::Object
- Reference
- Object
Overview
Gsk::Renderer
is a class that renders a scene graph defined via a
tree of Gsk::RenderNode
instances.
Typically you will use a Gsk::Renderer
instance to repeatedly call
Gsk::Renderer#render
to update the contents of its associated
Gdk::Surface
.
It is necessary to realize a Gsk::Renderer
instance using
Gsk::Renderer#realize
before calling Gsk::Renderer#render
,
in order to create the appropriate windowing system resources needed
to render the scene.
Direct Known Subclasses
Defined in:
lib/gi-crystal/src/auto/gsk-4.0/renderer.crConstructors
-
.new
Initialize a new
Renderer
. - .new(*, realized : Bool? = nil, surface : Gdk::Surface? = nil)
-
.new_for_surface(surface : Gdk::Surface) : self?
Creates an appropriate
Gsk::Renderer
instance for the given @surface.
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#is_realized : Bool
Checks whether the @renderer is realized or not.
-
#realize(surface : Gdk::Surface?) : Bool
Creates the resources needed by the @renderer to render the scene graph.
- #realized? : Bool
-
#render(root : Gsk::RenderNode, region : Cairo::Region?) : Nil
Renders the scene graph, described by a tree of
Gsk::RenderNode
instances to the renderer's surface, ensuring that the given @region gets redrawn. -
#render_texture(root : Gsk::RenderNode, viewport : Graphene::Rect?) : Gdk::Texture
Renders the scene graph, described by a tree of
Gsk::RenderNode
instances, to aGdk::Texture
. -
#surface : Gdk::Surface?
Retrieves the
Gdk::Surface
set using gsk_enderer_realize(). -
#unrealize : Nil
Releases all the resources created by gsk_renderer_realize().
Instance methods inherited from class GObject::Object
bind_property(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags) : GObject::Binding
bind_property,
bind_property_full(source_property : String, target : GObject::Object, target_property : String, flags : GObject::BindingFlags, transform_to : GObject::Closure, transform_from : GObject::Closure) : GObject::Binding
bind_property_full,
data(key : String) : Pointer(Void)?
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
notify(property_name : String) : Nil
notify,
notify_by_pspec(pspec : GObject::ParamSpec) : Nil
notify_by_pspec,
notify_signal
notify_signal,
property(property_name : String, value : _) : Nil
property,
qdata(quark : UInt32) : Pointer(Void)?
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void)?) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void)?
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void)?
steal_qdata,
thaw_notify : Nil
thaw_notify,
to_unsafe : Pointer(Void)
to_unsafe,
watch_closure(closure : GObject::Closure) : Nil
watch_closure
Constructor methods inherited from class GObject::Object
cast(obj : GObject::Object) : self
cast,
cast?(obj : GObject::Object) : self?
cast?,
new(pointer : Pointer(Void), transfer : GICrystal::Transfer)new new, newv(object_type : UInt64, parameters : Enumerable(GObject::Parameter)) : self newv
Class methods inherited from class GObject::Object
compat_control(what : UInt64, data : Pointer(Void)?) : UInt64
compat_control,
g_type : UInt64
g_type,
interface_find_property(g_iface : GObject::TypeInterface, property_name : String) : GObject::ParamSpec
interface_find_property,
interface_list_properties(g_iface : GObject::TypeInterface) : Enumerable(GObject::ParamSpec)
interface_list_properties
Constructor Detail
Creates an appropriate Gsk::Renderer
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.
Class Method Detail
Instance Method Detail
Creates the resources needed by the @renderer 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 Gsk::Renderer#unrealize
before
destroying the renderer.
Renders the scene graph, described by a tree of Gsk::RenderNode
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 @renderer will acquire a reference on the Gsk::RenderNode
tree while
the rendering is in progress.
Renders the scene graph, described by a tree of Gsk::RenderNode
instances,
to a Gdk::Texture
.
The @renderer will acquire a reference on the Gsk::RenderNode
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.
Retrieves the Gdk::Surface
set using gsk_enderer_realize().
If the renderer has not been realized yet, nil
will be returned.