Layout
open class Layout : Container, LayoutProtocol
GtkLayout
is similar to GtkDrawingArea
in that it’s a “blank slate” and
doesn’t do anything except paint a blank background by default. It’s
different in that it supports scrolling natively due to implementing
GtkScrollable
, and can contain child widgets since it’s a GtkContainer
.
If you just want to draw, a GtkDrawingArea
is a better choice since it has
lower overhead. If you just need to position child widgets at specific
points, then GtkFixed
provides that functionality on its own.
When handling expose events on a GtkLayout
, you must draw to the GdkWindow
returned by gtk_layout_get_bin_window()
, rather than to the one returned by
gtk_widget_get_window()
as you would for a GtkDrawingArea
.
The Layout
type acts as a reference-counted owner of an underlying GtkLayout
instance.
It provides the methods that can operate on this data type through LayoutProtocol
conformance.
Use Layout
as a strong reference or owner of a GtkLayout
instance.
-
Designated initialiser from the underlying `C` data type.
This creates an instance without performing an unbalanced retain i.e., ownership is transferred to the
Layout
instance.Declaration
Swift
@inlinable public init(_ op: UnsafeMutablePointer<GtkLayout>)
Parameters
op
pointer to the underlying object
-
Designated initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable public init(_ op: UnsafePointer<GtkLayout>)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a non-mutating
gpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable override public init!(gpointer op: gpointer?)
Parameters
op
gpointer to the underlying object
-
Optional initialiser from a non-mutating
gconstpointer
to the underlyingC
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable override public init!(gconstpointer op: gconstpointer?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from a constant pointer to the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafePointer<GtkLayout>?)
Parameters
op
pointer to the underlying object
-
Optional initialiser from the underlying
C
data type. This creates an instance without performing an unbalanced retain i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable public init!(_ op: UnsafeMutablePointer<GtkLayout>?)
Parameters
op
pointer to the underlying object
-
Designated initialiser from the underlying
C
data type. Will retainGtkLayout
. i.e., ownership is transferred to theLayout
instance.Declaration
Swift
@inlinable public init(retaining op: UnsafeMutablePointer<GtkLayout>)
Parameters
op
pointer to the underlying object
-
Reference intialiser for a related type that implements
LayoutProtocol
Will retainGtkLayout
.Declaration
Swift
@inlinable public init<T>(layout other: T) where T : LayoutProtocol
Parameters
other
an instance of a related type that implements
LayoutProtocol
-
Unsafe typed initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init<T>(cPointer p: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe typed, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init<T>(retainingCPointer cPointer: UnsafeMutablePointer<T>)
Parameters
cPointer
pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init(raw p: UnsafeRawPointer)
Parameters
p
raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init(retainingRaw raw: UnsafeRawPointer)
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable public required init(raw p: UnsafeMutableRawPointer)
Parameters
p
mutable raw pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable required public init(retainingRaw raw: UnsafeMutableRawPointer)
Parameters
raw
mutable raw pointer to the underlying object
-
Unsafe untyped initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init(opaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Unsafe untyped, retaining initialiser. Do not use unless you know the underlying data type the pointer points to conforms to
LayoutProtocol
.Declaration
Swift
@inlinable override public init(retainingOpaquePointer p: OpaquePointer)
Parameters
p
opaque pointer to the underlying object
-
Creates a new
GtkLayout
. Unless you have a specific adjustment you’d like the layout to use for scrolling, passnil
forhadjustment
andvadjustment
.Declaration
Swift
@inlinable public init<AdjustmentT>(hadjustment: AdjustmentT?, vadjustment: AdjustmentT?) where AdjustmentT : AdjustmentProtocol