Round better for up/down
This commit is contained in:
@@ -618,9 +618,9 @@ impl DisplaySnapshot {
|
||||
display_row: u32,
|
||||
x_coordinate: f32,
|
||||
text_layout_details: &TextLayoutDetails,
|
||||
) -> Option<u32> {
|
||||
) -> u32 {
|
||||
let layout_line = self.layout_line_for_row(display_row, text_layout_details);
|
||||
layout_line.index_for_x(x_coordinate).map(|c| c as u32)
|
||||
layout_line.closest_index_for_x(x_coordinate) as u32
|
||||
}
|
||||
|
||||
// column_for_x(row, x)
|
||||
|
||||
@@ -115,9 +115,7 @@ pub fn up_by_rows(
|
||||
Bias::Left,
|
||||
);
|
||||
if point.row() < start.row() {
|
||||
*point.column_mut() = map
|
||||
.column_for_x(point.row(), goal_x, text_layout_details)
|
||||
.unwrap_or(point.column());
|
||||
*point.column_mut() = map.column_for_x(point.row(), goal_x, text_layout_details)
|
||||
} else if preserve_column_at_start {
|
||||
return (start, goal);
|
||||
} else {
|
||||
@@ -149,9 +147,7 @@ pub fn down_by_rows(
|
||||
let new_row = start.row() + row_count;
|
||||
let mut point = map.clip_point(DisplayPoint::new(new_row, 0), Bias::Right);
|
||||
if point.row() > start.row() {
|
||||
*point.column_mut() = map
|
||||
.column_for_x(point.row(), goal_x, text_layout_details)
|
||||
.unwrap_or(map.line_len(point.row()));
|
||||
*point.column_mut() = map.column_for_x(point.row(), goal_x, text_layout_details)
|
||||
} else if preserve_column_at_end {
|
||||
return (start, goal);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user