class Gtk::WidgetPaintable
- Gtk::WidgetPaintable
- GObject::Object
- Reference
- Object
Overview
Gtk::WidgetPaintable
is a Gdk::Paintable
that displays the contents
of a widget.
Gtk::WidgetPaintable
will also take care of the widget not being in a
state where it can be drawn (like when it isn't shown) and just draw
nothing or where it does not have a size (like when it is hidden) and
report no size in that case.
Of course, Gtk::WidgetPaintable
allows you to monitor widgets for size
changes by emitting the [signal@Gdk.Paintable::invalidate-size] signal
whenever the size of the widget changes as well as for visual changes by
emitting the [signal@Gdk.Paintable::invalidate-contents] signal whenever
the widget changes.
You can use a Gtk::WidgetPaintable
everywhere a Gdk::Paintable
is allowed,
including using it on a Gtk::Picture
(or one of its parents) that it was
set on itself via gtk_picture_set_paintable(). The paintable will take care
of recursion when this happens. If you do this however, ensure that the
[property@Gtk.Picture:can-shrink] property is set to true
or you might
end up with an infinitely growing widget.
Included Modules
Defined in:
lib/gi-crystal/src/auto/gtk-4.0/widget_paintable.crConstructors
-
.new(widget : Gtk::Widget | Nil) : self
Creates a new widget paintable observing the given widget.
-
.new
Initialize a new
WidgetPaintable
. - .new(*, widget : Gtk::Widget | Nil = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#==(other : self)
Returns
true
if this reference is the same as other. -
#hash(hasher)
See
Object#hash(hasher)
-
#widget : Gtk::Widget | Nil
Returns the widget that is observed or
nil
if none. -
#widget=(widget : Gtk::Widget | Nil) : Nil
Sets the widget that should be observed.
Instance methods inherited from module Gdk::Paintable
compute_concrete_size(specified_width : Float64, specified_height : Float64, default_width : Float64, default_height : Float64, concrete_width : Float64, concrete_height : Float64) : Nil
compute_concrete_size,
current_image : Gdk::Paintable
current_image,
flags : Gdk::PaintableFlags
flags,
intrinsic_aspect_ratio : Float64
intrinsic_aspect_ratio,
intrinsic_height : Int32
intrinsic_height,
intrinsic_width : Int32
intrinsic_width,
invalidate_contents : Nil
invalidate_contents,
invalidate_contents_signal
invalidate_contents_signal,
invalidate_size : Nil
invalidate_size,
invalidate_size_signal
invalidate_size_signal,
snapshot(snapshot : Gdk::Snapshot, width : Float64, height : Float64) : Nil
snapshot,
to_unsafe
to_unsafe
Constructor methods inherited from module Gdk::Paintable
cast(obj : GObject::Object) : self
cast
Class methods inherited from module Gdk::Paintable
cast?(obj : GObject::Object) : self | Nil
cast?,
g_type : UInt64
g_type,
new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable
new_empty
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
Creates a new widget paintable observing the given widget.
Class Method Detail
Returns the type id (GType) registered in GLib type system.
Instance Method Detail
Returns true
if this reference is the same as other. Invokes same?
.