fn determine_bounds_v(&mut self) -> bool {
        let height = self.v_keys.len();
        let width = self.h_keys.len();
        let mut progress = false;
        for i in 0..height {
            let mut s = 0;
            let len = self.v_keys[i].len();
            for j in 0..len {
                self.v_keys[i][j].upper_bound = s;
                s += self.v_keys[i][j].value + 1; //number of spaces taken up by previous key value + space
                progress = true;
            }
            s = 0;
            for j in (0..len).rev() {
                if width - s >= self.v_keys[i][j].value {
                    self.v_keys[i][j].lower_bound = width - s;
                    s += self.v_keys[i][j].value + 1;
                    progress = true;
                }
            }
        }
        progress
    }
//figure out the bounds for each key by counting from the edgdes, considering preceding keys
figure out the bounds for each key by counting from the edgdes, considering preceding keys
figure out the bounds for each key by counting from the edgdes considering preceding keys
fn determine_bounds_v(&mut self) -> bool {
        let height = self.v_keys.len();
        let width = self.h_keys.len();
        let mut progress = false;
        for i in 0..height {
            let mut s = 0;
            let len = self.v_keys[i].len();
            for j in 0..len {
                self.v_keys[i][j].upper_bound = s;
                s += self.v_keys[i][j].value + 1; //number of spaces taken up by previous key value + space
                progress = true;
            }
            s = 0;
            for j in (0..len).rev() {
                if width - s >= self.v_keys[i][j].value {
                    self.v_keys[i][j].lower_bound = width - s;
                    s += self.v_keys[i][j].value + 1;
                    progress = true;
                }
            }
        }
        progress
    }
fn determine_bounds_v ( & mut self ) -> bool { let height = self . v_keys . len ( ) ; let width = self . h_keys . len ( ) ; let mut progress = false ; for i in 0 .. height { let mut s = 0 ; let len = self . v_keys [ i ] . len ( ) ; for j in 0 .. len { self . v_keys [ i ] [ j ] . upper_bound = s ; s += self . v_keys [ i ] [ j ] . value + 1 ; //number of spaces taken up by previous key value + space progress = true ; } s = 0 ; for j in ( 0 .. len ) . rev ( ) { if width - s >= self . v_keys [ i ] [ j ] . value { self . v_keys [ i ] [ j ] . lower_bound = width - s ; s += self . v_keys [ i ] [ j ] . value + 1 ; progress = true ; } } } progress }
figure out the bounds for each key by counting from the edgdes, considering preceding keys
figure out the bounds for each key by counting from the edgdes considering preceding keys
&mut self
&mut self