pub struct X11Host { /* private fields */ }Implementations§
Source§impl X11Host
impl X11Host
pub fn new( window: Arc<Window>, _callbacks: TitleBarHostCallbacks, ) -> Result<Self, PlatformError>
Trait Implementations§
Source§impl PlatformTitleBarHost for X11Host
impl PlatformTitleBarHost for X11Host
Source§fn reserved_leading_inset(&self) -> Size
fn reserved_leading_inset(&self) -> Size
Logical-pixel area on the leading edge that the widget must leave
blank because the OS draws there. macOS reserves space for the traffic
lights; Windows / Wayland return
Size::ZERO.Source§fn reserved_trailing_inset(&self) -> Size
fn reserved_trailing_inset(&self) -> Size
Logical-pixel area on the trailing edge reserved by the OS. Currently
always
Size::ZERO; reserved for future use.Source§fn renders_custom_controls(&self) -> bool
fn renders_custom_controls(&self) -> bool
Whether the widget should render its own minimize / maximize / close
buttons.
true on Windows and Wayland; false on macOS where the OS
draws the traffic lights.Source§fn needs_custom_resize_handles(&self) -> bool
fn needs_custom_resize_handles(&self) -> bool
Whether the application should install a
WindowFrame-style overlay
with invisible edge / corner resize strips. true on Windows and
Wayland where the client draws the entire frame; false on macOS
where the native NSWindow frame still services edge resize.Source§fn begin_drag(&self) -> Result<(), PlatformError>
fn begin_drag(&self) -> Result<(), PlatformError>
Begin an interactive window move. Called on left-press inside a drag
region. The OS takes over until the user releases the button.
Source§fn begin_resize(&self, edge: ResizeEdge) -> Result<(), PlatformError>
fn begin_resize(&self, edge: ResizeEdge) -> Result<(), PlatformError>
Begin an interactive resize from the given edge. Called on left-press
inside a resize border widget.
Show the system window menu at the given client-area position. Wayland
only; other platforms return
Ok(()) and do nothing. Read moreWhether the platform can show a system window menu at all. Read more
Source§fn update_hit_regions(&self, _regions: &HitRegions)
fn update_hit_regions(&self, _regions: &HitRegions)
Publish the current rectangles of the title bar’s interactive
sub-regions. The widget tree publishes them in logical
pixels; backends that need physical pixels (Windows) convert
internally. Wayland and macOS ignore the payload. Read more
Source§fn title_bar_widget_id(&self, _target: ControlTarget) -> Option<WidgetId>
fn title_bar_widget_id(&self, _target: ControlTarget) -> Option<WidgetId>
Resolve a control-button target back to the
WidgetId of the
ControlButton that the widget tree last reported for it.
Used by the Windows backend’s synthetic-tap forwarding when
WM_NCLBUTTONUP fires on HTMINBUTTON/HTMAXBUTTON/HTCLOSE
— the OS owns the click area, so the proc looks up the
matching widget id and the app routes a synthetic tap into it. Read moreInject a synthetic hover entered/leave event for the given
control button. Used by the Windows backend’s
WM_NCMOUSEMOVE
/ WM_NCMOUSELEAVE path: the OS handles non-client hover, so
widget-side hover events never fire over button rects. Read moreSource§fn register_hover_signal(&self, _target: ControlTarget, _signal: Signal<bool>)
fn register_hover_signal(&self, _target: ControlTarget, _signal: Signal<bool>)
Register the per-button hover signal that the host writes
when the OS reports a non-client hover for the matching
target. Called by WindowControls at build time for each
of the three buttons. Read moreAuto Trait Implementations§
impl !RefUnwindSafe for X11Host
impl !UnwindSafe for X11Host
impl Freeze for X11Host
impl Send for X11Host
impl Sync for X11Host
impl Unpin for X11Host
impl UnsafeUnpin for X11Host
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Convert
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Convert
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.