layout: Remove unused code
This commit is contained in:
		@ -19,7 +19,7 @@
 | 
			
		||||
 | 
			
		||||
use std::cell::RefCell;
 | 
			
		||||
use std::cmp;
 | 
			
		||||
use std::collections::{ HashMap, HashSet };
 | 
			
		||||
use std::collections::HashMap;
 | 
			
		||||
use std::ffi::CString;
 | 
			
		||||
use std::fmt;
 | 
			
		||||
use std::rc::Rc;
 | 
			
		||||
@ -305,7 +305,7 @@ pub mod c {
 | 
			
		||||
            );
 | 
			
		||||
 | 
			
		||||
            let state = layout.find_button_by_position(point)
 | 
			
		||||
                .map(|(place, index)| (place.button.state.clone(), index));
 | 
			
		||||
                .map(|(button, index)| (button.state.clone(), index));
 | 
			
		||||
 | 
			
		||||
            if let Some((state, (row, position_in_row))) = state {
 | 
			
		||||
                let button = ButtonPosition {
 | 
			
		||||
@ -362,8 +362,8 @@ pub mod c {
 | 
			
		||||
            let pressed = layout.state.pressed_buttons.clone();
 | 
			
		||||
            let button_info = {
 | 
			
		||||
                let place = layout.find_button_by_position(point);
 | 
			
		||||
                place.map(|(place, index)| {(
 | 
			
		||||
                    place.button.state.clone(),
 | 
			
		||||
                place.map(|(button, index)| {(
 | 
			
		||||
                    button.state.clone(),
 | 
			
		||||
                    index,
 | 
			
		||||
                )})
 | 
			
		||||
            };
 | 
			
		||||
@ -452,11 +452,6 @@ pub mod c {
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
pub struct ButtonPlace<'a> {
 | 
			
		||||
    button: &'a Button,
 | 
			
		||||
    offset: c::Point,
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
#[derive(Debug, Clone, PartialEq)]
 | 
			
		||||
pub struct Size {
 | 
			
		||||
    pub width: f64,
 | 
			
		||||
@ -539,7 +534,7 @@ impl Row {
 | 
			
		||||
    /// Finds the first button that covers the specified point
 | 
			
		||||
    /// relative to row's position's origin.
 | 
			
		||||
    /// Returns its index too.
 | 
			
		||||
    fn find_button_by_position(&self, x: f64) -> (&(f64, Box<Button>), usize)
 | 
			
		||||
    fn find_button_by_position(&self, x: f64) -> (&Box<Button>, usize)
 | 
			
		||||
    {
 | 
			
		||||
        // Buttons are sorted so we can use a binary search to find the clicked
 | 
			
		||||
        // button. Note this doesn't check whether the point is actually within
 | 
			
		||||
@ -552,7 +547,7 @@ impl Row {
 | 
			
		||||
        let index = result.unwrap_or_else(|r| r);
 | 
			
		||||
        let index = if index > 0 { index - 1 } else { 0 };
 | 
			
		||||
 | 
			
		||||
        (&self.buttons[index], index)
 | 
			
		||||
        (&self.buttons[index].1, index)
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -606,7 +601,7 @@ impl View {
 | 
			
		||||
    /// relative to view's position's origin.
 | 
			
		||||
    /// Returns also (row, column) index.
 | 
			
		||||
    fn find_button_by_position(&self, point: c::Point)
 | 
			
		||||
        -> Option<(ButtonPlace, (usize, usize))>
 | 
			
		||||
        -> Option<(&Button, (usize, usize))>
 | 
			
		||||
    {
 | 
			
		||||
        // Only test bounds of the view here, letting rows/column search extend
 | 
			
		||||
        // to the edges of these bounds.
 | 
			
		||||
@ -629,14 +624,11 @@ impl View {
 | 
			
		||||
        let index = if index > 0 { index - 1 } else { 0 };
 | 
			
		||||
 | 
			
		||||
        let row = &self.rows[index];
 | 
			
		||||
        let ((button_pos, button), button_index)
 | 
			
		||||
        let (button, button_index)
 | 
			
		||||
            = row.1.find_button_by_position(point.x - row.0.x);
 | 
			
		||||
 | 
			
		||||
        Some((
 | 
			
		||||
            ButtonPlace {
 | 
			
		||||
                button: &button,
 | 
			
		||||
                offset: &row.0 + c::Point { x: *button_pos, y: 0.0 },
 | 
			
		||||
            },
 | 
			
		||||
            &button,
 | 
			
		||||
            (index, button_index),
 | 
			
		||||
        ))
 | 
			
		||||
    }
 | 
			
		||||
@ -864,7 +856,7 @@ impl Layout {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /// Returns index too
 | 
			
		||||
    fn find_button_by_position(&self, point: c::Point) -> Option<(ButtonPlace, (usize, usize))> {
 | 
			
		||||
    fn find_button_by_position(&self, point: c::Point) -> Option<(&Button, (usize, usize))> {
 | 
			
		||||
        let (offset, layout) = self.get_current_view_position();
 | 
			
		||||
        layout.find_button_by_position(point - offset)
 | 
			
		||||
    }
 | 
			
		||||
@ -1195,7 +1187,6 @@ mod seat {
 | 
			
		||||
            _ => {}
 | 
			
		||||
        };
 | 
			
		||||
 | 
			
		||||
        let pointer = ::util::Pointer(rckey.clone());
 | 
			
		||||
        // Apply state changes
 | 
			
		||||
        let pos = layout.state.pressed_buttons.iter().position(|b| b == &button);
 | 
			
		||||
        if let Some(pos) = pos {
 | 
			
		||||
@ -1532,19 +1523,19 @@ mod test {
 | 
			
		||||
        ]);
 | 
			
		||||
        assert!(
 | 
			
		||||
            view.find_button_by_position(c::Point { x: 5.0, y: 5.0 })
 | 
			
		||||
                .unwrap().0.button.name.to_str().unwrap() == "A"
 | 
			
		||||
                .unwrap().0.name.to_str().unwrap() == "A"
 | 
			
		||||
        );
 | 
			
		||||
        assert!(
 | 
			
		||||
            view.find_button_by_position(c::Point { x: 14.99, y: 5.0 })
 | 
			
		||||
                .unwrap().0.button.name.to_str().unwrap() == "A"
 | 
			
		||||
                .unwrap().0.name.to_str().unwrap() == "A"
 | 
			
		||||
        );
 | 
			
		||||
        assert!(
 | 
			
		||||
            view.find_button_by_position(c::Point { x: 15.01, y: 5.0 })
 | 
			
		||||
                .unwrap().0.button.name.to_str().unwrap() == "B"
 | 
			
		||||
                .unwrap().0.name.to_str().unwrap() == "B"
 | 
			
		||||
        );
 | 
			
		||||
        assert!(
 | 
			
		||||
            view.find_button_by_position(c::Point { x: 25.0, y: 5.0 })
 | 
			
		||||
                .unwrap().0.button.name.to_str().unwrap() == "B"
 | 
			
		||||
                .unwrap().0.name.to_str().unwrap() == "B"
 | 
			
		||||
        );
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user