Skip to content

Instantly share code, notes, and snippets.

@JasperEssien2
Last active November 21, 2021 07:35
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save JasperEssien2/c2bc4fad837939179989e5aeef41fa0d to your computer and use it in GitHub Desktop.
Save JasperEssien2/c2bc4fad837939179989e5aeef41fa0d to your computer and use it in GitHub Desktop.
Starter code for ShirtWidget
import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';
class ShirtWidget extends LeafRenderObjectWidget {
final Color color;
const ShirtWidget({
Key? key,
required this.color,
}) : super(key: key);
@override
RenderObject createRenderObject(BuildContext context) {
return _ShirtRenderBox(color: color);
}
@override
void updateRenderObject(
BuildContext context, covariant _ShirtRenderBox renderObject) {
renderObject.color = color;
}
}
class _ShirtRenderBox extends RenderBox {
Color _color;
Color get color => _color;
set color(Color value) {
if (value == color) return;
_color = color;
markNeedsPaint();
}
_ShirtRenderBox({required Color color}) : _color = color;
@override
bool get sizedByParent => true;
@override
void paint(PaintingContext context, Offset offset) {
final canvas = context.canvas;
// DRAWiNG THE BACKGROUND
canvas.drawRect(offset & size, Paint()..color = color);
}
@override
Size computeDryLayout(BoxConstraints constraints) {
return Size(constraints.maxWidth, constraints.maxHeight);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment