On Orbital, implement various Window methods
Implement the following methods on the `Window`: - `Window::set_cursor_grab`. - `Window::set_cursor_visible`. - `Window::drag_window`. - `Window::drag_resize_window`. - `Window::set_transparent`. - `Window::set_visible`. - `Window::is_visible`. - `Window::set_resizable`. - `Window::is_resizable`. - `Window::set_maximized`. - `Window::is_maximized`. - `Window::set_decorations`. - `Window::is_decorated`. - `Window::set_window_level`. To make locked pointer useful, the `DeviceEvent::MouseMotion` event was also implemented.
This commit is contained in:
parent
273984a385
commit
6825fed073
4 changed files with 140 additions and 50 deletions
|
|
@ -946,7 +946,7 @@ impl Window {
|
|||
///
|
||||
/// ## Platform-specific
|
||||
///
|
||||
/// - **Web / iOS / Android / Orbital:** Unsupported.
|
||||
/// - **Web / iOS / Android:** Unsupported.
|
||||
/// - **X11:** Can only be set while building the window, with [`WindowBuilder::with_transparent`].
|
||||
#[inline]
|
||||
pub fn set_transparent(&self, transparent: bool) {
|
||||
|
|
@ -1079,7 +1079,7 @@ impl Window {
|
|||
///
|
||||
/// ## Platform-specific
|
||||
///
|
||||
/// - **iOS / Android / Web / Orbital:** Unsupported.
|
||||
/// - **iOS / Android / Web:** Unsupported.
|
||||
#[inline]
|
||||
pub fn set_maximized(&self, maximized: bool) {
|
||||
self.window
|
||||
|
|
@ -1090,7 +1090,7 @@ impl Window {
|
|||
///
|
||||
/// ## Platform-specific
|
||||
///
|
||||
/// - **iOS / Android / Web / Orbital:** Unsupported.
|
||||
/// - **iOS / Android / Web:** Unsupported.
|
||||
#[inline]
|
||||
pub fn is_maximized(&self) -> bool {
|
||||
self.window.maybe_wait_on_main(|w| w.is_maximized())
|
||||
|
|
@ -1450,7 +1450,7 @@ impl Window {
|
|||
/// - **Wayland:** The cursor is only hidden within the confines of the window.
|
||||
/// - **macOS:** The cursor is hidden as long as the window has input focus, even if the cursor is
|
||||
/// outside of the window.
|
||||
/// - **iOS / Android / Orbital:** Unsupported.
|
||||
/// - **iOS / Android:** Unsupported.
|
||||
#[inline]
|
||||
pub fn set_cursor_visible(&self, visible: bool) {
|
||||
self.window
|
||||
|
|
@ -1467,7 +1467,7 @@ impl Window {
|
|||
/// - **X11:** Un-grabs the cursor.
|
||||
/// - **Wayland:** Requires the cursor to be inside the window to be dragged.
|
||||
/// - **macOS:** May prevent the button release event to be triggered.
|
||||
/// - **iOS / Android / Web / Orbital:** Always returns an [`ExternalError::NotSupported`].
|
||||
/// - **iOS / Android / Web:** Always returns an [`ExternalError::NotSupported`].
|
||||
#[inline]
|
||||
pub fn drag_window(&self) -> Result<(), ExternalError> {
|
||||
self.window.maybe_wait_on_main(|w| w.drag_window())
|
||||
|
|
@ -1481,7 +1481,7 @@ impl Window {
|
|||
/// ## Platform-specific
|
||||
///
|
||||
/// - **macOS:** Always returns an [`ExternalError::NotSupported`]
|
||||
/// - **iOS / Android / Web / Orbital:** Always returns an [`ExternalError::NotSupported`].
|
||||
/// - **iOS / Android / Web:** Always returns an [`ExternalError::NotSupported`].
|
||||
#[inline]
|
||||
pub fn drag_resize_window(&self, direction: ResizeDirection) -> Result<(), ExternalError> {
|
||||
self.window
|
||||
|
|
@ -1642,7 +1642,7 @@ pub enum CursorGrabMode {
|
|||
/// ## Platform-specific
|
||||
///
|
||||
/// - **macOS:** Not implemented. Always returns [`ExternalError::NotSupported`] for now.
|
||||
/// - **iOS / Android / Web / Orbital:** Always returns an [`ExternalError::NotSupported`].
|
||||
/// - **iOS / Android / Web:** Always returns an [`ExternalError::NotSupported`].
|
||||
Confined,
|
||||
|
||||
/// The cursor is locked inside the window area to the certain position.
|
||||
|
|
@ -1653,7 +1653,7 @@ pub enum CursorGrabMode {
|
|||
/// ## Platform-specific
|
||||
///
|
||||
/// - **X11 / Windows:** Not implemented. Always returns [`ExternalError::NotSupported`] for now.
|
||||
/// - **iOS / Android / Orbital:** Always returns an [`ExternalError::NotSupported`].
|
||||
/// - **iOS / Android:** Always returns an [`ExternalError::NotSupported`].
|
||||
Locked,
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue