pub struct Window {
window: Window,
window_id: WindowId,
window_state: Arc<Mutex<WindowState>>,
compositor: Arc<CompositorState>,
display: WlDisplay,
xdg_activation: Option<XdgActivationV1>,
attention_requested: Arc<AtomicBool>,
queue_handle: QueueHandle<WinitState>,
window_requests: Arc<WindowRequests>,
monitors: Arc<Mutex<Vec<MonitorHandle>>>,
event_loop_awakener: Ping,
window_events_sink: Arc<Mutex<EventSink>>,
}
Expand description
The Wayland window.
Fields§
§window: Window
Reference to the underlying SCTK window.
window_id: WindowId
Window id.
window_state: Arc<Mutex<WindowState>>
The state of the window.
compositor: Arc<CompositorState>
Compositor to handle WlRegion stuff.
display: WlDisplay
The wayland display used solely for raw window handle.
xdg_activation: Option<XdgActivationV1>
Xdg activation to request user attention.
attention_requested: Arc<AtomicBool>
The state of the requested attention from the xdg_activation
.
queue_handle: QueueHandle<WinitState>
Handle to the main queue to perform requests.
window_requests: Arc<WindowRequests>
Window requests to the event loop.
monitors: Arc<Mutex<Vec<MonitorHandle>>>
Observed monitors.
event_loop_awakener: Ping
Source to wake-up the event-loop for window requests.
window_events_sink: Arc<Mutex<EventSink>>
The event sink to deliver synthetic events.
Implementations§
source§impl Window
impl Window
pub(crate) fn new( event_loop_window_target: &ActiveEventLoop, attributes: WindowAttributes, ) -> Result<Self, RootOsError>
source§impl Window
impl Window
pub fn id(&self) -> WindowId
pub fn set_title(&self, title: impl ToString)
pub fn set_visible(&self, _visible: bool)
pub fn is_visible(&self) -> Option<bool>
pub fn outer_position(&self) -> Result<PhysicalPosition<i32>, NotSupportedError>
pub fn inner_position(&self) -> Result<PhysicalPosition<i32>, NotSupportedError>
pub fn set_outer_position(&self, _: Position)
pub fn inner_size(&self) -> PhysicalSize<u32>
pub fn request_redraw(&self)
pub fn pre_present_notify(&self)
pub fn outer_size(&self) -> PhysicalSize<u32>
pub fn request_inner_size(&self, size: Size) -> Option<PhysicalSize<u32>>
sourcepub fn set_min_inner_size(&self, min_size: Option<Size>)
pub fn set_min_inner_size(&self, min_size: Option<Size>)
Set the minimum inner size for the window.
sourcepub fn set_max_inner_size(&self, max_size: Option<Size>)
pub fn set_max_inner_size(&self, max_size: Option<Size>)
Set the maximum inner size for the window.
pub fn resize_increments(&self) -> Option<PhysicalSize<u32>>
pub fn set_resize_increments(&self, _increments: Option<Size>)
pub fn set_transparent(&self, transparent: bool)
pub fn has_focus(&self) -> bool
pub fn is_minimized(&self) -> Option<bool>
pub fn drag_resize_window( &self, direction: ResizeDirection, ) -> Result<(), ExternalError>
pub fn set_resizable(&self, resizable: bool)
pub fn is_resizable(&self) -> bool
pub fn scale_factor(&self) -> f64
pub fn set_blur(&self, blur: bool)
pub fn set_decorations(&self, decorate: bool)
pub fn is_decorated(&self) -> bool
pub fn set_window_level(&self, _level: WindowLevel)
pub(crate) fn set_window_icon(&self, _window_icon: Option<PlatformIcon>)
pub fn set_minimized(&self, minimized: bool)
pub fn is_maximized(&self) -> bool
pub fn set_maximized(&self, maximized: bool)
pub(crate) fn fullscreen(&self) -> Option<Fullscreen>
pub(crate) fn set_fullscreen(&self, fullscreen: Option<Fullscreen>)
pub fn set_cursor(&self, cursor: Cursor)
pub fn set_cursor_visible(&self, visible: bool)
pub fn request_user_attention(&self, request_type: Option<UserAttentionType>)
pub fn request_activation_token( &self, ) -> Result<AsyncRequestSerial, NotSupportedError>
pub fn set_cursor_grab(&self, mode: CursorGrabMode) -> Result<(), ExternalError>
pub fn set_cursor_position( &self, position: Position, ) -> Result<(), ExternalError>
pub fn drag_window(&self) -> Result<(), ExternalError>
pub fn set_cursor_hittest(&self, hittest: bool) -> Result<(), ExternalError>
pub fn set_ime_cursor_area(&self, position: Position, size: Size)
pub fn set_ime_allowed(&self, allowed: bool)
pub fn set_ime_purpose(&self, purpose: ImePurpose)
pub fn focus_window(&self)
pub fn surface(&self) -> &WlSurface
pub fn current_monitor(&self) -> Option<MonitorHandle>
pub fn available_monitors(&self) -> Vec<MonitorHandle>
pub fn primary_monitor(&self) -> Option<MonitorHandle>
pub fn raw_window_handle_rwh_06(&self) -> Result<RawWindowHandle, HandleError>
pub fn raw_display_handle_rwh_06(&self) -> Result<RawDisplayHandle, HandleError>
pub fn set_theme(&self, theme: Option<Theme>)
pub fn theme(&self) -> Option<Theme>
pub fn set_content_protected(&self, _protected: bool)
pub fn title(&self) -> String
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Window
impl !RefUnwindSafe for Window
impl Send for Window
impl Sync for Window
impl Unpin for Window
impl !UnwindSafe for Window
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
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.