Add new Ime event for desktop platforms
This commit brings new Ime event to account for preedit state of input method, also adding `Window::set_ime_allowed` to toggle IME input on the particular window. This commit implements API as designed in #1497 for desktop platforms. Co-authored-by: Artur Kovacs <kovacs.artur.barnabas@gmail.com> Co-authored-by: Markus Siglreithmaier <m.siglreith@gmail.com> Co-authored-by: Murarth <murarth@gmail.com> Co-authored-by: Yusuke Kominami <yukke.konan@gmail.com> Co-authored-by: moko256 <koutaro.mo@gmail.com>
This commit is contained in:
parent
b4175c1454
commit
f04fa5d54f
30 changed files with 1346 additions and 311 deletions
|
|
@ -461,7 +461,7 @@ impl UnownedWindow {
|
|||
if maximized {
|
||||
window.set_maximized(maximized);
|
||||
}
|
||||
|
||||
trace!("Done unowned window::new");
|
||||
Ok((window, delegate))
|
||||
}
|
||||
|
||||
|
|
@ -1054,6 +1054,13 @@ impl UnownedWindow {
|
|||
unsafe { view::set_ime_position(*self.ns_view, logical_spot) };
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn set_ime_allowed(&self, allowed: bool) {
|
||||
unsafe {
|
||||
view::set_ime_allowed(*self.ns_view, allowed);
|
||||
}
|
||||
}
|
||||
|
||||
#[inline]
|
||||
pub fn focus_window(&self) {
|
||||
let is_minimized: BOOL = unsafe { msg_send![*self.ns_window, isMiniaturized] };
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue