mappings: drop a rect clone when we only need the x coord for a linear map

This commit is contained in:
Victoria Fischer 2024-12-14 14:44:13 +01:00
parent bbdb3d7404
commit c9496e3dc3

View File

@ -20,7 +20,7 @@ pub trait Select<'a> {
#[derive(Debug)]
pub struct LinearCoordView {
rect: Rectangle<Virtual>,
max_x: u8,
idx: usize,
}
@ -34,7 +34,7 @@ pub type LinearCoords = Coordinates<LinearSpace>;
impl<'a> CoordinateView<'a> for LinearCoordView {
type Space = LinearSpace;
fn next(&mut self) -> Option<(VirtualCoordinates, LinearCoords)> {
if self.idx as u8 == self.rect.bottom_right.x {
if self.idx as u8 == self.max_x {
None
} else {
let virt = VirtualCoordinates::new(self.idx as u8, 0); // FIXME: scale8
@ -62,7 +62,7 @@ impl<'a> Select<'a> for LinearPixelMapping {
type View = LinearCoordView;
fn select(&'a self, rect: &Rectangle<Virtual>) -> Self::View {
LinearCoordView {
rect: rect.clone(),
max_x: rect.bottom_right.x,
idx: 0,
}
}