VulkanContextProtocol
public protocol VulkanContextProtocol : InitableProtocol, DrawContextProtocol
The VulkanContextProtocol protocol exposes the methods and properties of an underlying GdkVulkanContext 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 VulkanContext.
Alternatively, use VulkanContextRef as a lighweight, unowned reference if you already have an instance you just want to use.
GdkVulkanContext is an object representing the platform-specific
Vulkan draw context.
GdkVulkanContexts are created for a surface using
[methodGdk.Surface.create_vulkan_context], and the context will match
the the characteristics of the surface.
Support for GdkVulkanContext is platform-specific and context creation
can fail, returning nil context.
-
Untyped pointer to the underlying
GdkVulkanContextinstance.Declaration
Swift
var ptr: UnsafeMutableRawPointer! { get } -
vulkan_context_ptrDefault implementationTyped pointer to the underlying
GdkVulkanContextinstance.Default Implementation
Return the stored, untyped pointer as a typed pointer to the
GdkVulkanContextinstance.Declaration
Swift
var vulkan_context_ptr: UnsafeMutablePointer<GdkVulkanContext>! { get } -
Required Initialiser for types conforming to
VulkanContextProtocolDeclaration
Swift
init(raw: UnsafeMutableRawPointer)
-
bind(property:Extension methodto: _: flags: transformFrom: transformTo: ) Bind a
VulkanContextPropertyNamesource property to a given target object.Declaration
Swift
@discardableResult @inlinable func bind<Q, T>(property source_property: VulkanContextPropertyName, 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 : ObjectProtocolParameters
source_propertythe source property to bind
targetthe target object to bind to
target_propertythe target property to bind to
flagsthe flags to pass to the
Bindingtransform_fromValueTransformerto use for forward transformationtransform_toValueTransformerto use for backwards transformationReturn Value
binding reference or
nilin case of an error -
get(property:Extension method) Get the value of a VulkanContext property
Declaration
Swift
@inlinable func get(property: VulkanContextPropertyName) -> GLibObject.ValueParameters
propertythe property to get the value for
Return Value
the value of the named property
-
set(property:Extension methodvalue: ) Set the value of a VulkanContext property. Note that this will only have an effect on properties that are writable and not construct-only!
Declaration
Swift
@inlinable func set(property: VulkanContextPropertyName, value v: GLibObject.Value)Parameters
propertythe property to get the value for
Return Value
the value of the named property
-
connect(signal:Extension methodflags: handler: ) Connect a Swift signal handler to the given, typed
VulkanContextSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: VulkanContextSignalName, flags f: ConnectFlags = ConnectFlags(0), handler h: @escaping SignalHandler) -> IntParameters
signalThe signal to connect
flagsThe connection flags to use
dataA pointer to user data to provide to the callback
destroyDataA
GClosureNotifyC function to destroy the data pointed to byuserDatahandlerThe Swift signal handler (function or callback) to invoke on the given signal
Return Value
The signal handler ID (always greater than 0 for successful connections)
-
connect(signal:Extension methodflags: data: destroyData: signalHandler: ) Connect a C signal handler to the given, typed
VulkanContextSignalNamesignalDeclaration
Swift
@discardableResult @inlinable func connect(signal s: VulkanContextSignalName, flags f: ConnectFlags = ConnectFlags(0), data userData: gpointer!, destroyData destructor: GClosureNotify? = nil, signalHandler h: @escaping GCallback) -> IntParameters
signalThe signal to connect
flagsThe connection flags to use
dataA pointer to user data to provide to the callback
destroyDataA
GClosureNotifyC function to destroy the data pointed to byuserDatasignalHandlerThe C function to be called on the given signal
Return Value
The signal handler ID (always greater than 0 for successful connections)
-
onImagesUpdated(flags:Extension methodhandler: ) Emitted when the images managed by this context have changed.
Usually this means that the swapchain had to be recreated, for example in response to a change of the surface size.
Note
This represents the underlyingimages-updatedsignalDeclaration
Swift
@discardableResult @inlinable func onImagesUpdated(flags: ConnectFlags = ConnectFlags(0), handler: @escaping (_ unownedSelf: VulkanContextRef) -> Void) -> IntParameters
flagsFlags
unownedSelfReference to instance of self
handlerThe signal handler to call Run the given callback whenever the
imagesUpdatedsignal is emitted -
imagesUpdatedSignalExtension methodTyped
images-updatedsignal for using theconnect(signal:)methodsDeclaration
Swift
static var imagesUpdatedSignal: VulkanContextSignalName { get }
View on GitHub
Install in Dash
VulkanContextProtocol Protocol Reference