Class WidgetPaintable

All Implemented Interfaces:
Paintable, Proxy

@Generated("org.javagi.JavaGI") public class WidgetPaintable extends GObject implements Paintable

A GdkPaintable that displays the contents of a widget.

GtkWidgetPaintable 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, GtkWidgetPaintable allows you to monitor widgets for size changes by emitting the Gdk.Paintable::invalidate-size signal whenever the size of the widget changes as well as for visual changes by emitting the Gdk.Paintable::invalidate-contents signal whenever the widget changes.

You can use a GtkWidgetPaintable everywhere a GdkPaintable is allowed, including using it on a GtkPicture (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 Gtk.Picture:can-shrink property is set to true or you might end up with an infinitely growing widget.

  • Constructor Details

    • WidgetPaintable

      public WidgetPaintable(MemorySegment address)
      Create a WidgetPaintable instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • WidgetPaintable

      public WidgetPaintable(@Nullable Widget widget)
      Creates a new widget paintable observing the given widget.
      Parameters:
      widget - a GtkWidget
    • WidgetPaintable

      public WidgetPaintable()
      Create a new WidgetPaintable.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the WidgetPaintable class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected WidgetPaintable asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class GObject
      Returns:
      the instance as if it were its parent type
    • getWidget

      public @Nullable Widget getWidget()
      Returns the widget that is observed or null if none.
      Returns:
      the observed widget.
    • setWidget

      public void setWidget(@Nullable Widget widget)
      Sets the widget that should be observed.
      Parameters:
      widget - the widget to observe
    • builder

      public static WidgetPaintable.Builder<? extends WidgetPaintable.Builder> builder()
      A WidgetPaintable.Builder object constructs a WidgetPaintable with the specified properties. Use the various set...() methods to set properties, and finish construction with WidgetPaintable.Builder.build().
      Returns:
      the builder object