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 = nil, surface : Gdk::Surface | Nil = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
-
.new_for_surface(surface : Gdk::Surface) : self | Nil
Creates an appropriate
Gsk::Renderer
instance for the given surface.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#hash(hasher)
See
Object#hash(hasher)
-
#is_realized : Bool
Checks whether the renderer is realized or not.
-
#realize(surface : Gdk::Surface | Nil) : Bool
Creates the resources needed by the renderer to render the scene graph.
- #realized? : Bool
-
#render(root : Gsk::RenderNode, region : Cairo::Region | Nil) : 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 | Nil) : Gdk::Texture
Renders the scene graph, described by a tree of
Gsk::RenderNode
instances, to aGdk::Texture
. -
#surface : Gdk::Surface | Nil
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
==(other : self)
==,
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) | Nil
data,
finalize
finalize,
freeze_notify : Nil
freeze_notify,
getv(names : Enumerable(String), values : Enumerable(_)) : Nil
getv,
hash(hasher)
hash,
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) | Nil
qdata,
ref_count : UInt32
ref_count,
run_dispose : Nil
run_dispose,
set_data(key : String, data : Pointer(Void) | Nil) : Nil
set_data,
set_property(property_name : String, value : _) : Nil
set_property,
steal_data(key : String) : Pointer(Void) | Nil
steal_data,
steal_qdata(quark : UInt32) : Pointer(Void) | Nil
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,
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
cast?(obj : GObject::Object) : self | Nil
cast?,
compat_control(what : UInt64, data : Pointer(Void) | Nil) : 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
Macros inherited from class GObject::Object
previous_vfunc(*args)
previous_vfunc,
previous_vfunc!(*args)
previous_vfunc!,
signal(signature)
signal
Constructor Detail
Class Method Detail
Returns the type id (GType) registered in GLib type system.
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.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.
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.