diff --git a/vger/src/lib.rs b/vger/src/lib.rs index 82f4e612..92904af3 100644 --- a/vger/src/lib.rs +++ b/vger/src/lib.rs @@ -9,7 +9,6 @@ use floem_renderer::text::{CacheKey, TextLayout}; use floem_renderer::{tiny_skia, Img, Renderer}; use floem_vger_rs::{Image, PaintIndex, PixelFormat, Vger}; use image::{DynamicImage, EncodableLayout, RgbaImage}; -use peniko::kurbo::Size; use peniko::{ kurbo::{Affine, Point, Rect, Shape}, BrushRef, Color, GradientKind, @@ -605,14 +604,11 @@ impl Renderer for VgerRenderer { transform[1] * rect_origin.x + transform[3] * rect_origin.y + transform[5]; let transformed_origin = Point::new(rect_top_left_x, rect_top_left_y); - let rect_size = rect.size(); - let rect_width = - transform[0] * rect_size.width + transform[2] * rect_size.height + transform[4]; - let rect_height = - transform[1] * rect_size.width + transform[3] * rect_size.height + transform[5]; - let transformed_size = Size::new(rect_width, rect_height); + let rect_end_x = transform[0] * rect.x1 + transform[2] * rect.y1 + transform[4]; + let rect_end_y = transform[1] * rect.x1 + transform[3] * rect.y1 + transform[5]; + let transformed_end = Point::new(rect_end_x, rect_end_y); - let transformed_rect = Rect::from_origin_size(transformed_origin, transformed_size); + let transformed_rect = Rect::from_points(transformed_origin, transformed_end); self.clip = Some(transformed_rect); }