void draw(Canvas canvas, Vec2 position) { _update(); _painter!.paint( canvas, position.offset( dx: -_painter!.width * origin.dx, dy: -_painter!.height * origin.dy, )); }