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?) : self
Creates a new widget paintable observing the given widget.
-
.new
Initialize a new
WidgetPaintable
. - .new(*, widget : Gtk::Widget? = nil)
Class Method Summary
-
.g_type : UInt64
Returns the type id (GType) registered in GLib type system.
Instance Method Summary
-
#widget : Gtk::Widget?
Returns the widget that is observed or
nil
if none. -
#widget=(widget : Gtk::Widget?) : 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
Class methods inherited from module Gdk::Paintable
g_type : UInt64
g_type,
new_empty(intrinsic_width : Int32, intrinsic_height : Int32) : Gdk::Paintable
new_empty
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 a new widget paintable observing the given widget.