qiuxiang / qiuxiang

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Custom paint widget with RenderBox

qiuxiang opened this issue · comments

commented
class CustomRenderWidget extends LeafRenderObjectWidget {
  const CustomRenderWidget();

  @override
  RenderObject createRenderObject(BuildContext context) {
    return CustomRenderBox();
  }
}

class CustomRenderBox extends RenderBox {
  @override
  void paint(PaintingContext context, Offset offset) {
    final paint = Paint()..color = Colors.orange;
    context.canvas.drawRect(
      Rect.fromLTWH(
        offset.dx,
        offset.dy,
        size.width,
        size.height,
      ),
      paint,
    );
  }

  @override
  void performResize() {
    size = constraints.biggest;
  }

  @override
  bool get sizedByParent => true;

  @override
  bool get isRepaintBoundary => true;
}