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.idlbymicrocom-codegen.
Structs§
- Clipboard
Impl - The system clipboard.
- Cursor
Factory - Creates the cursors of the macOS backend.
- Dispatcher
Impl - The dispatcher platform implementation of the macOS backend.
- Embeddable
TopLevel Impl - A top-level without a window of its own: a view that a host embeds.
- Ferro
Native Application Platform - Receives the application events of the native side and exposes them as the platform lifetime events.
- Ferro
Native Cursor - A native cursor.
- Ferro
Native Drag Source - Starts native drag-and-drop operations.
- Ferro
Native GlPlatform Graphics - The OpenGL platform graphics of the macOS backend: one context shared by every top-level and both threads that render.
- Ferro
Native Menu Exporter - Exports a
NativeMenuto one target and keeps the native menu in sync. - Ferro
Native Platform - The macOS windowing platform.
- Ferro
Native Platform Options - OSX backend options.
- Ferro
Native Render Timer - A render timer that ticks with the display refresh.
- Ferro
Native Text Input Method - The text input method (IME) of a top-level.
- FrnString
- A Rust string exposed to native code as an
IFrnString. - FrnString
Array - 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.
- GlPlatform
Surface - The OpenGL render surface of a top-level.
- GlPlatform
Surface Render Target - The OpenGL render target of a top-level.
- GlPlatform
Surface Rendering Session - 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.
- Icon
Loader - MacOS
Activatable Lifetime - The activatable lifetime of a macOS application: entering the background hides the application, leaving it shows the application again.
- MacOS
Native Menu Commands - The application-level commands of the macOS application menu.
- MacOS
Platform Options - OSX front-end options.
- MacOS
TopLevel Handle - The platform handle of a top-level of this backend.
- Metal
Device - A Metal device and its command queue.
- Metal
Drawing Session - One frame drawn to the Metal render target of a top-level; releasing the native session presents the frame.
- Metal
Platform Graphics - The Metal platform graphics of the macOS backend.
- Metal
Platform Surface - The Metal render surface of a top-level.
- Metal
Render Target - The Metal render target of a top-level.
- Native
Platform Settings - The platform settings of the macOS backend.
- Native
Screen - A screen identified by its
CGDirectDisplayID. - Platform
Behavior Inhibition - Controls platform behaviours an application may need to inhibit.
- Popup
Impl - A macOS popup window.
- Screen
Impl - The screens implementation of the macOS backend.
- TopLevel
Framebuffer Surface - The software (framebuffer) render surface of a top-level.
- TopLevel
Impl - The state and behaviour every top-level of this backend shares.
- Tray
Icon Impl - A status bar (tray) icon.
- Window
Base Impl - The state and behaviour shared by windows and popups.
- Window
Impl - A macOS window.
Enums§
- Ferro
Native Rendering Mode - Represents the rendering mode for platform graphics.
Traits§
- Ferro
Native Platform Extensions - 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
Nonewhen it has no buffer.