Skip to main content

Crate ferroui_native

Crate ferroui_native 

Source
Expand description

ferroui-native

macOS native windowing backend: the Objective-C++ library in native/FerroUI.Native (compiled and linked by build.rs), the raw COM bindings generated from frn.idl and the platform implementation on top of them: dispatcher, render timer, windows, popups, screens, cursors, platform settings and the Metal and OpenGL platform graphics.

An application selects the backend with FerroNativePlatformExtensions::use_ferro_native on its application builder; a host without one calls FerroNativePlatform::initialize.

The crate is empty on every other target.

Modules§

interop
Raw COM bindings generated from frn.idl by microcom-codegen.

Structs§

ClipboardImpl
The system clipboard.
CursorFactory
Creates the cursors of the macOS backend.
DispatcherImpl
The dispatcher platform implementation of the macOS backend.
EmbeddableTopLevelImpl
A top-level without a window of its own: a view that a host embeds.
FerroNativeApplicationPlatform
Receives the application events of the native side and exposes them as the platform lifetime events.
FerroNativeCursor
A native cursor.
FerroNativeDragSource
Starts native drag-and-drop operations.
FerroNativeGlPlatformGraphics
The OpenGL platform graphics of the macOS backend: one context shared by every top-level and both threads that render.
FerroNativeMenuExporter
Exports a NativeMenu to one target and keeps the native menu in sync.
FerroNativePlatform
The macOS windowing platform.
FerroNativePlatformOptions
OSX backend options.
FerroNativeRenderTimer
A render timer that ticks with the display refresh.
FerroNativeTextInputMethod
The text input method (IME) of a top-level.
FrnString
A Rust string exposed to native code as an IFrnString.
FrnStringArray
A list of Rust strings exposed to native code as an IFrnStringArray.
GlContext
A CGL context.
GlDisplay
The native OpenGL display and what every context of it shares: the entry points, the format of the default framebuffer and the objects of the native factory the contexts use.
GlPlatformSurface
The OpenGL render surface of a top-level.
GlPlatformSurfaceRenderTarget
The OpenGL render target of a top-level.
GlPlatformSurfaceRenderingSession
One frame drawn to the OpenGL render target of a top-level: the native session made the context current and bound the framebuffer of the IOSurface; releasing it presents the frame and restores the context.
IconLoader
MacOSActivatableLifetime
The activatable lifetime of a macOS application: entering the background hides the application, leaving it shows the application again.
MacOSNativeMenuCommands
The application-level commands of the macOS application menu.
MacOSPlatformOptions
OSX front-end options.
MacOSTopLevelHandle
The platform handle of a top-level of this backend.
MetalDevice
A Metal device and its command queue.
MetalDrawingSession
One frame drawn to the Metal render target of a top-level; releasing the native session presents the frame.
MetalPlatformGraphics
The Metal platform graphics of the macOS backend.
MetalPlatformSurface
The Metal render surface of a top-level.
MetalRenderTarget
The Metal render target of a top-level.
NativePlatformSettings
The platform settings of the macOS backend.
NativeScreen
A screen identified by its CGDirectDisplayID.
PlatformBehaviorInhibition
Controls platform behaviours an application may need to inhibit.
PopupImpl
A macOS popup window.
ScreenImpl
The screens implementation of the macOS backend.
TopLevelFramebufferSurface
The software (framebuffer) render surface of a top-level.
TopLevelImpl
The state and behaviour every top-level of this backend shares.
TrayIconImpl
A status bar (tray) icon.
WindowBaseImpl
The state and behaviour shared by windows and popups.
WindowImpl
A macOS window.

Enums§

FerroNativeRenderingMode
Represents the rendering mode for platform graphics.

Traits§

FerroNativePlatformExtensions
Selects the macOS backend for an application.

Functions§

frn_string_array_to_vec
The content of a native string array; strings without a buffer are empty.
frn_string_bytes
The UTF-8 bytes of a native string; empty when it has no buffer.
frn_string_to_string
The content of a native string, or None when it has no buffer.