Skip to main content

FloatingSurfaceProvider

Trait FloatingSurfaceProvider 

pub trait FloatingSurfaceProvider {
Show 16 methods // Provided methods fn on_floating_surface_focus_changed( &mut self, _id: Option<&str>, _focused: bool, ) { ... } fn on_floating_surface_ime_source_changed(&mut self, _id: Option<&str>) { ... } fn on_floating_surface_event_source(&mut self, _id: Option<&str>) { ... } fn floating_surface_event( &mut self, _id: &str, _event: &WindowEvent, _ctx: &mut EventCtx<'_>, ) -> bool { ... } fn floating_surface_accessibility(&self, _id: &str) -> Option<AccessNode> { ... } fn perform_floating_surface_accessibility_action( &mut self, _id: &str, _target: &str, _action: &Action, _state: &mut Edits<'_>, _path: &ExId, ) -> bool { ... } fn floating_surface_ime(&self, _id: &str) -> Option<(InputContent, Rect)> { ... } fn take_floating_surface_request( &mut self, ) -> Option<FloatingSurfaceRequest> { ... } fn take_capture_studio_request(&mut self) -> Option<CaptureMode> { ... } fn take_floating_surface_source_updates(&mut self) -> Vec<(String, Rect)> { ... } fn draw_floating_surfaces( &mut self, _scene: &mut Scene, _transform: Affine, _text_renderer: &mut TextRenderer, _theme: &Theme, _presence: &PresenceCtx, ) { ... } fn draw_floating_surface( &mut self, id: &str, scene: &mut Scene, transform: Affine, text_renderer: &mut TextRenderer, theme: &Theme, presence: &PresenceCtx, ) -> bool { ... } fn floating_surface_presentations(&self) -> Vec<FloatingSurfacePresentation> { ... } fn active_floating_surface_ids(&self) -> Vec<String> { ... } fn set_floating_surface_bounds(&mut self, _bounds: Rect) { ... } fn on_floating_surface_host_message( &mut self, _message: &FloatingSurfaceHostMessage, ) { ... }
}
Expand description

Optional capture and detachable-surface capability.

Provided Methods§

fn on_floating_surface_focus_changed( &mut self, _id: Option<&str>, _focused: bool, )

Route native keyboard focus to the exact presentation instance.

fn on_floating_surface_ime_source_changed(&mut self, _id: Option<&str>)

Keep the exact secondary presentation’s editor logically focused while the platform deliberately retains text-input focus on its source. A host-authenticated input route, not a claim by the app; the host clears it when the continuation ends or no longer validates.

fn on_floating_surface_event_source(&mut self, _id: Option<&str>)

Identify the native surface delivering the current input event. The host resets this immediately after dispatch; it grants no authority.

fn floating_surface_event( &mut self, _id: &str, _event: &WindowEvent, _ctx: &mut EventCtx<'_>, ) -> bool

Deliver one input event aimed at the card id, in the desk’s coordinates: the frame the card’s hits were recorded in. Answers whether the card took the event.

fn floating_surface_accessibility(&self, _id: &str) -> Option<AccessNode>

The retained semantic subtree presented in one secondary window.

fn perform_floating_surface_accessibility_action( &mut self, _id: &str, _target: &str, _action: &Action, _state: &mut Edits<'_>, _path: &ExId, ) -> bool

fn floating_surface_ime(&self, _id: &str) -> Option<(InputContent, Rect)>

IME content type and desktop-logical caret rect for one secondary window.

fn take_floating_surface_request(&mut self) -> Option<FloatingSurfaceRequest>

One-shot request to hand app content to the shared floating-surface host. Shell and in-app hosts consume the same description, so PiP does not require a second rendering/widget API.

fn take_capture_studio_request(&mut self) -> Option<CaptureMode>

One-shot request for the session shell’s shared capture/PiP chooser.

fn take_floating_surface_source_updates(&mut self) -> Vec<(String, Rect)>

Rising-edge source-geometry updates for an adopted floating surface.

fn draw_floating_surfaces( &mut self, _scene: &mut Scene, _transform: Affine, _text_renderer: &mut TextRenderer, _theme: &Theme, _presence: &PresenceCtx, )

Paint app-owned content whose presentation has moved into shell space.

fn draw_floating_surface( &mut self, id: &str, scene: &mut Scene, transform: Affine, text_renderer: &mut TextRenderer, theme: &Theme, presence: &PresenceCtx, ) -> bool

Paint exactly one app-owned presentation into its native window. Native secondary windows are independent buffers: painting the plural overlay pass into each would duplicate sibling surfaces and let content escape the window’s own clip.

fn floating_surface_presentations(&self) -> Vec<FloatingSurfacePresentation>

Desktop-space presentations that need a native secondary window.

fn active_floating_surface_ids(&self) -> Vec<String>

Stable IDs whose underlying activity still exists.

fn set_floating_surface_bounds(&mut self, _bounds: Rect)

Push the shell’s authoritative combined-output bounds into the owner.

fn on_floating_surface_host_message( &mut self, _message: &FloatingSurfaceHostMessage, )

Deliver an acknowledged shell lifecycle edge back to the owner.

Implementors§