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}