Class WidgetPaintable
GtkWidgetPaintable
is 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.
-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
WidgetPaintable.Builder<B extends WidgetPaintable.Builder<B>>
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
Nested classes/interfaces inherited from interface org.gnome.gdk.Paintable
Paintable.InvalidateContentsCallback, Paintable.InvalidateSizeCallback, Paintable.PaintableImpl, Paintable.PaintableInterface
-
Constructor Summary
ConstructorDescriptionCallsWidgetPaintable(org.gnome.gtk.Widget)
with widget =null
WidgetPaintable
(MemorySegment address) Create a WidgetPaintable proxy instance for the provided memory address.WidgetPaintable
(@Nullable Widget widget) Creates a new widget paintable observing the given widget. -
Method Summary
Modifier and TypeMethodDescriptionprotected WidgetPaintable
asParent()
Returns this instance as if it were its parent type.static WidgetPaintable.Builder
<? extends WidgetPaintable.Builder> builder()
AWidgetPaintable.Builder
object constructs aWidgetPaintable
with the specified properties.static Type
getType()
Get the GType of the WidgetPaintable classReturns the widget that is observed ornull
if none.void
Sets the widget that should be observed.Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getMemoryLayout, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.gnome.gdk.Paintable
computeConcreteSize, emitInvalidateContents, emitInvalidateSize, getCurrentImage, getFlags, getIntrinsicAspectRatio, getIntrinsicHeight, getIntrinsicWidth, invalidateContents, invalidateSize, onInvalidateContents, onInvalidateSize, snapshot
-
Constructor Details
-
WidgetPaintable
Create a WidgetPaintable proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
WidgetPaintable
Creates a new widget paintable observing the given widget.- Parameters:
widget
- aGtkWidget
-
WidgetPaintable
public WidgetPaintable()CallsWidgetPaintable(org.gnome.gtk.Widget)
with widget =null
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type. -
getWidget
Returns the widget that is observed ornull
if none.- Returns:
- the observed widget.
-
setWidget
Sets the widget that should be observed.- Parameters:
widget
- the widget to observe
-
builder
AWidgetPaintable.Builder
object constructs aWidgetPaintable
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withWidgetPaintable.Builder.build()
.
-