vizia_core/text/
preedit_backup.rs
1use super::Selection;
2
3#[derive(Debug, Clone)]
4pub struct PreeditBackup {
5 pub prev_preedit: String,
6 pub original_selection: Selection,
7}
8
9impl PreeditBackup {
10 pub fn new(prev_preedit: String, original_selection: Selection) -> Self {
11 Self { prev_preedit, original_selection }
12 }
13
14 pub fn prev_selection(&self) -> Selection {
15 let min = self.original_selection.min();
16 let len = self.prev_preedit.len();
17 let active = min + len;
18 Selection { anchor: min, active, h_pos: None }
19 }
20
21 pub fn set_prev_preedit(&mut self, preedit: String) {
22 self.prev_preedit = preedit;
23 }
24}