About my projects, examples and tutorials
Gnome::Gtk4::WidgetPaintable

Gnome::Gtk4::WidgetPaintable

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§

UNKNOWN image§

=for image :class<inline> :src<asset_files/images/plantuml/WidgetPaintable.png> :width<70\%>

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! )
Code

new-widgetpaintable§

Creates a new widget paintable observing the given widget.

method new-widgetpaintable ( N-Object() $widget --> Gnome::Gtk4::WidgetPaintable )
Code

Methods§

get-widget§

Returns the widget that is observed or undefined if none.

method get-widget (--> N-Object )
Code

Return value; the observed widget..

set-widget§

Sets the widget that should be observed.

method set-widget ( N-Object() $widget )
Code
  • $widget; the widget to observe.