OffscreenWindowProtocol
public protocol OffscreenWindowProtocol : WindowProtocol
GtkOffscreenWindow is strictly intended to be used for obtaining
snapshots of widgets that are not part of a normal widget hierarchy.
Since GtkOffscreenWindow
is a toplevel widget you cannot obtain
snapshots of a full window with it since you cannot pack a toplevel
widget in another toplevel.
The idea is to take a widget and manually set the state of it,
add it to a GtkOffscreenWindow and then retrieve the snapshot
as a cairo_surface_t
or GdkPixbuf
.
GtkOffscreenWindow derives from GtkWindow
only as an implementation
detail. Applications should not use any API specific to GtkWindow
to operate on this object. It should be treated as a GtkBin
that
has no parent widget.
When contained offscreen widgets are redrawn, GtkOffscreenWindow
will emit a GtkWidget::damage-event
signal.
The OffscreenWindowProtocol
protocol exposes the methods and properties of an underlying GtkOffscreenWindow
instance.
The default implementation of these can be found in the protocol extension below.
For a concrete class that implements these methods and properties, see OffscreenWindow
.
Alternatively, use OffscreenWindowRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkOffscreenWindow
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
offscreen_window_ptr
Default implementationTyped pointer to the underlying
GtkOffscreenWindow
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkOffscreenWindow
instance.Declaration
Swift
var offscreen_window_ptr: UnsafeMutablePointer<GtkOffscreenWindow>! { get }
-
Required Initialiser for types conforming to
OffscreenWindowProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
OffscreenWindowPropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: OffscreenWindowPropertyName, to target: T, _ target_property: Q, flags f: BindingFlags = .default, transformFrom transform_from: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }, transformTo transform_to: @escaping GLibObject.ValueTransformer = { $0.transform(destValue: $1) }) -> BindingRef! where Q : PropertyNameProtocol, T : ObjectProtocol
Parameters
source_property
the source property to bind
target
the target object to bind to
target_property
the target property to bind to
flags
the flags to pass to the
Binding
transform_from
ValueTransformer
to use for forward transformationtransform_to
ValueTransformer
to use for backwards transformationReturn Value
binding reference or
nil
in case of an error -
get(property:
Extension method) Get the value of a OffscreenWindow property
Declaration
Swift
@inlinable func get(property: OffscreenWindowPropertyName) -> GLibObject.Value
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
set(property:
Extension methodvalue: ) Set the value of a OffscreenWindow property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: OffscreenWindowPropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
getPixbuf()
Extension methodRetrieves a snapshot of the contained widget in the form of a
GdkPixbuf
. This is a new pixbuf with a reference count of 1, and the application should unreference it once it is no longer needed.Declaration
Swift
@inlinable func getPixbuf() -> PixbufRef!
-
getSurface()
Extension methodRetrieves a snapshot of the contained widget in the form of a
cairo_surface_t
. If you need to keep this around over window resizes then you should add a reference to it.Declaration
Swift
@inlinable func getSurface() -> Cairo.SurfaceRef!
-
pixbuf
Extension methodRetrieves a snapshot of the contained widget in the form of a
GdkPixbuf
. This is a new pixbuf with a reference count of 1, and the application should unreference it once it is no longer needed.Declaration
Swift
@inlinable var pixbuf: PixbufRef! { get }
-
surface
Extension methodRetrieves a snapshot of the contained widget in the form of a
cairo_surface_t
. If you need to keep this around over window resizes then you should add a reference to it.Declaration
Swift
@inlinable var surface: Cairo.SurfaceRef! { get }
-
parentObject
Extension methodUndocumented
Declaration
Swift
@inlinable var parentObject: GtkWindow { get }