NativeProtocol
public protocol NativeProtocol : WidgetProtocol
GtkNative
is the interface implemented by all widgets that have
their own GdkSurface
.
The obvious example of a GtkNative
is GtkWindow
.
Every widget that is not itself a GtkNative
is contained in one,
and you can get it with [methodGtk.Widget.get_native
].
To get the surface of a GtkNative
, use [methodGtk.Native.get_surface
].
It is also possible to find the GtkNative
to which a surface
belongs, with [funcGtk.Native.get_for_surface
].
In addition to a [classGdk.Surface
], a GtkNative
also provides
a [classGsk.Renderer
] for rendering on that surface. To get the
renderer, use [methodGtk.Native.get_renderer
].
The NativeProtocol
protocol exposes the methods and properties of an underlying GtkNative
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 Native
.
Alternatively, use NativeRef
as a lighweight, unowned
reference if you already have an instance you just want to use.
-
Untyped pointer to the underlying
GtkNative
instance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get }
-
native_ptr
Default implementationTyped pointer to the underlying
GtkNative
instance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GtkNative
instance.Declaration
Swift
var native_ptr: UnsafeMutablePointer<GtkNative>! { get }
-
Required Initialiser for types conforming to
NativeProtocol
Declaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:
Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
NativePropertyName
source property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: NativePropertyName, 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 Native property
Declaration
Swift
@inlinable func get(property: NativePropertyName) -> 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 Native property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: NativePropertyName, value v: GLibObject.Value)
Parameters
property
the property to get the value for
Return Value
the value of the named property
-
getRenderer()
Extension methodReturns the renderer that is used for this
GtkNative
.Declaration
Swift
@inlinable func getRenderer() -> UnsafeMutablePointer<GskRenderer>!
-
getSurface()
Extension methodReturns the surface of this
GtkNative
.Declaration
Swift
@inlinable func getSurface() -> Gdk.SurfaceRef!
-
getSurfaceTransform(x:
Extension methody: ) Retrieves the surface transform of
self
.This is the translation from
self
‘s surface coordinates intoself
’s widget coordinates.Declaration
Swift
@inlinable func getSurfaceTransform(x: UnsafeMutablePointer<CDouble>!, y: UnsafeMutablePointer<CDouble>!)
-
realize()
Extension methodRealizes a
GtkNative
.This should only be used by subclasses.
Declaration
Swift
@inlinable func realize()
-
unrealize()
Extension methodUnrealizes a
GtkNative
.This should only be used by subclasses.
Declaration
Swift
@inlinable func unrealize()
-
renderer
Extension methodReturns the renderer that is used for this
GtkNative
.Declaration
Swift
@inlinable var renderer: UnsafeMutablePointer<GskRenderer>! { get }
-
surface
Extension methodReturns the surface of this
GtkNative
.Declaration
Swift
@inlinable var surface: Gdk.SurfaceRef! { get }