Gnome::Gtk4::WidgetPaintable
#------------------------------------------------------------------------------- #--[Class Description]---------------------------------------------------------- #-------------------------------------------------------------------------------
Description
Gnome::Gtk4::WidgetPaintable is a Gnome::Gdk4::R-Paintable that displays the contents of a widget.
Gnome::Gtk4::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, Gnome::Gtk4::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 Gnome::Gtk4::WidgetPaintable everywhere a Gnome::Gdk4::R-Paintable is allowed,
including using it on a Gnome::Gtk4::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
can-shrink defined in Gnome::Gtk4::Picture property is set to True or you might
end up with an infinitely growing widget.
Uml Diagram =for image :src<asset_files/images/plantuml/WidgetPaintable.png> :width<70%> :class<inline>
#------------------------------------------------------------------------------- #--[Class Initialization]------------------------------------------------------- #-------------------------------------------------------------------------------
Class initialization
new
:native-object
Create an object using a native object from an object of the same type found elsewhere. See also Gnome::N::TopLevelSupportClass.
multi method new ( N-Object() :$native-object! )
#-------------------------------------------------------------------------------
new-widgetpaintable
Creates a new widget paintable observing the given widget.
method new-widgetpaintable ( N-Object() $widget --> Gnome::Gtk4::WidgetPaintable )
$widget; a Gnome::Gtk4::Widget.
#------------------------------------------------------------------------------- #--[Methods]-------------------------------------------------------------------- #-------------------------------------------------------------------------------
Methods
#-------------------------------------------------------------------------------
get-widget
Returns the widget that is observed or undefined if none.
method get-widget (--> N-Object )
Return value; the observed widget..
#-------------------------------------------------------------------------------
set-widget
Sets the widget that should be observed.
method set-widget ( N-Object() $widget )
$widget; the widget to observe.