mirror of
https://github.com/slint-ui/slint.git
synced 2025-10-01 06:11:16 +00:00
Add mouse-cursor support to glwindow backend
This commit is contained in:
parent
87fe9fe836
commit
cea17c1958
1 changed files with 39 additions and 1 deletions
|
@ -21,7 +21,7 @@ use const_field_offset::FieldOffsets;
|
||||||
use corelib::component::ComponentRc;
|
use corelib::component::ComponentRc;
|
||||||
use corelib::graphics::*;
|
use corelib::graphics::*;
|
||||||
use corelib::input::KeyboardModifiers;
|
use corelib::input::KeyboardModifiers;
|
||||||
use corelib::items::ItemRef;
|
use corelib::items::{ItemRef, MouseCursor};
|
||||||
use corelib::layout::Orientation;
|
use corelib::layout::Orientation;
|
||||||
use corelib::window::{PlatformWindow, PopupWindow, PopupWindowLocation};
|
use corelib::window::{PlatformWindow, PopupWindow, PopupWindowLocation};
|
||||||
use corelib::Property;
|
use corelib::Property;
|
||||||
|
@ -410,6 +410,44 @@ impl PlatformWindow for GLWindow {
|
||||||
}*/
|
}*/
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fn set_mouse_cursor(&self, cursor: MouseCursor) {
|
||||||
|
let winit_cursor = match cursor {
|
||||||
|
MouseCursor::default => winit::window::CursorIcon::Default,
|
||||||
|
MouseCursor::none => winit::window::CursorIcon::Default,
|
||||||
|
MouseCursor::help => winit::window::CursorIcon::Help,
|
||||||
|
MouseCursor::pointer => winit::window::CursorIcon::Hand,
|
||||||
|
MouseCursor::progress => winit::window::CursorIcon::Progress,
|
||||||
|
MouseCursor::wait => winit::window::CursorIcon::Wait,
|
||||||
|
MouseCursor::crosshair => winit::window::CursorIcon::Crosshair,
|
||||||
|
MouseCursor::text => winit::window::CursorIcon::Text,
|
||||||
|
MouseCursor::alias => winit::window::CursorIcon::Alias,
|
||||||
|
MouseCursor::copy => winit::window::CursorIcon::Copy,
|
||||||
|
MouseCursor::r#move => winit::window::CursorIcon::Move,
|
||||||
|
MouseCursor::no_drop => winit::window::CursorIcon::NoDrop,
|
||||||
|
MouseCursor::not_allowed => winit::window::CursorIcon::NotAllowed,
|
||||||
|
MouseCursor::grab => winit::window::CursorIcon::Grab,
|
||||||
|
MouseCursor::grabbing => winit::window::CursorIcon::Grabbing,
|
||||||
|
MouseCursor::col_resize => winit::window::CursorIcon::ColResize,
|
||||||
|
MouseCursor::row_resize => winit::window::CursorIcon::RowResize,
|
||||||
|
MouseCursor::n_resize => winit::window::CursorIcon::NResize,
|
||||||
|
MouseCursor::e_resize => winit::window::CursorIcon::EResize,
|
||||||
|
MouseCursor::s_resize => winit::window::CursorIcon::SResize,
|
||||||
|
MouseCursor::w_resize => winit::window::CursorIcon::WResize,
|
||||||
|
MouseCursor::ne_resize => winit::window::CursorIcon::NeResize,
|
||||||
|
MouseCursor::nw_resize => winit::window::CursorIcon::NwResize,
|
||||||
|
MouseCursor::se_resize => winit::window::CursorIcon::SeResize,
|
||||||
|
MouseCursor::sw_resize => winit::window::CursorIcon::SwResize,
|
||||||
|
MouseCursor::ew_resize => winit::window::CursorIcon::EwResize,
|
||||||
|
MouseCursor::ns_resize => winit::window::CursorIcon::NsResize,
|
||||||
|
MouseCursor::nesw_resize => winit::window::CursorIcon::NeswResize,
|
||||||
|
MouseCursor::nwse_resize => winit::window::CursorIcon::NwseResize,
|
||||||
|
};
|
||||||
|
self.with_window_handle(& mut |winit_window| {
|
||||||
|
winit_window.set_cursor_visible(cursor != MouseCursor::none);
|
||||||
|
winit_window.set_cursor_icon(winit_cursor);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
fn text_size(
|
fn text_size(
|
||||||
&self,
|
&self,
|
||||||
font_request: corelib::graphics::FontRequest,
|
font_request: corelib::graphics::FontRequest,
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue