Position IME input according to where the selection is rendered

This commit is contained in:
Antonio Scandurra 2022-07-21 17:35:40 +02:00
parent 3c5d7e001e
commit 97ce3998ec
31 changed files with 563 additions and 27 deletions

View file

@ -91,17 +91,18 @@ pub trait Dispatcher: Send + Sync {
pub trait InputHandler {
fn selected_text_range(&self) -> Option<Range<usize>>;
fn set_selected_text_range(&mut self, range: Range<usize>);
fn text_for_range(&self, range: Range<usize>) -> Option<String>;
fn set_selected_text_range(&mut self, range_utf16: Range<usize>);
fn text_for_range(&self, range_utf16: Range<usize>) -> Option<String>;
fn replace_text_in_range(&mut self, replacement_range: Option<Range<usize>>, text: &str);
fn replace_and_mark_text_in_range(
&mut self,
range: Option<Range<usize>>,
range_utf16: Option<Range<usize>>,
new_text: &str,
new_selected_range: Option<Range<usize>>,
);
fn marked_text_range(&self) -> Option<Range<usize>>;
fn unmark_text(&mut self);
fn rect_for_range(&self, range_utf16: Range<usize>) -> Option<RectF>;
}
pub trait Window: WindowContext {