FreekakeApp/lib/components/custom_shape.dart
2025-04-09 16:28:42 +07:00

187 lines
5.0 KiB
Dart

import 'package:flutter/material.dart';
import 'package:furibase/components/navbar_shape_2.dart';
class CustomShape extends StatelessWidget {
const CustomShape({super.key});
@override
Widget build(BuildContext context) {
var screen = MediaQuery.of(context).size;
return Positioned(
child: Container(
width: screen.width,
height: screen.height,
color: const Color.fromARGB(255, 38, 139, 92),
child: CustomPaint(child: CustomPaint(painter: RPSCustomPainter())),
),
);
}
}
class RPSCustomPainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
// Layer 1
Paint paint_fill_0 =
Paint()
..color = const Color.fromARGB(255, 189, 18, 18)
..style = PaintingStyle.fill
..strokeWidth = size.width * 0.00
..strokeCap = StrokeCap.butt
..strokeJoin = StrokeJoin.miter;
Path path_0 = Path();
path_0.moveTo(size.width * 0.8040007, size.height * 0.1994400);
path_0.cubicTo(
size.width * 0.3471602,
size.height * 0.1989000,
size.width * 0.3471602,
size.height * 0.1989000,
size.width * 0.1948800,
size.height * 0.1987200,
);
path_0.cubicTo(
size.width * 0.1333300,
size.height * 0.2084400,
size.width * 0.1371800,
size.height * 0.3968400,
size.width * 0.1964501,
size.height * 0.4014400,
);
path_0.cubicTo(
size.width * 0.3483083,
size.height * 0.4004200,
size.width * 0.6520247,
size.height * 0.3983800,
size.width * 0.8038829,
size.height * 0.3973600,
);
path_0.cubicTo(
size.width * 0.8621500,
size.height * 0.3952400,
size.width * 0.8608700,
size.height * 0.2083600,
size.width * 0.8040007,
size.height * 0.1994400,
);
path_0.close();
canvas.drawPath(path_0, paint_fill_0);
// Layer 1
Paint paint_stroke_0 =
Paint()
..color = const Color.fromARGB(255, 33, 150, 243)
..style = PaintingStyle.stroke
..strokeWidth = size.width * 0.00
..strokeCap = StrokeCap.butt
..strokeJoin = StrokeJoin.miter;
canvas.drawPath(path_0, paint_stroke_0);
// Layer 1
Paint paint_fill_1 =
Paint()
..color = const Color.fromARGB(255, 28, 163, 52)
..style = PaintingStyle.fill
..strokeWidth = size.width * 0.00
..strokeCap = StrokeCap.butt
..strokeJoin = StrokeJoin.miter;
Path path_1 = Path();
path_1.moveTo(size.width * 0.4000300, size.height * 0.1987400);
path_1.lineTo(size.width * 0.6010900, size.height * 0.2005400);
path_1.quadraticBezierTo(
size.width * 0.5764200,
size.height * 0.1947400,
size.width * 0.5721900,
size.height * 0.1545000,
);
path_1.cubicTo(
size.width * 0.5500300,
size.height * 0.0020000,
size.width * 0.4492300,
size.height * 0.0042400,
size.width * 0.4271600,
size.height * 0.1487400,
);
path_1.quadraticBezierTo(
size.width * 0.4232300,
size.height * 0.1963200,
size.width * 0.4000300,
size.height * 0.1987400,
);
path_1.close();
canvas.drawPath(path_1, paint_fill_1);
// Layer 1
Paint paint_stroke_1 =
Paint()
..color = const Color.fromARGB(255, 33, 150, 243)
..style = PaintingStyle.stroke
..strokeWidth = size.width * 0.00
..strokeCap = StrokeCap.butt
..strokeJoin = StrokeJoin.miter;
canvas.drawPath(path_1, paint_stroke_1);
// layer 2
// Paint paint_fill_0 =
// Paint()
// ..color = const Color.fromARGB(255, 28, 163, 52)
// ..style = PaintingStyle.fill
// ..strokeWidth = size.width * 0.00
// ..strokeCap = StrokeCap.butt
// ..strokeJoin = StrokeJoin.miter;
// Path path_0 = Path();
path_0.moveTo(size.width * 0.4000300, size.height * 0.1987400);
path_0.lineTo(size.width * 0.6010900, size.height * 0.2005400);
path_0.quadraticBezierTo(
size.width * 0.5764200,
size.height * 0.1947400,
size.width * 0.5721900,
size.height * 0.1545000,
);
path_0.cubicTo(
size.width * 0.5500300,
size.height * 0.0020000,
size.width * 0.4492300,
size.height * 0.0042400,
size.width * 0.4271600,
size.height * 0.1487400,
);
path_0.quadraticBezierTo(
size.width * 0.4232300,
size.height * 0.1963200,
size.width * 0.4000300,
size.height * 0.1987400,
);
path_0.close();
canvas.drawPath(path_0, paint_fill_0);
// Layer 1
// Paint paint_stroke_0 =
// Paint()
// ..color = const Color.fromARGB(255, 33, 150, 243)
// ..style = PaintingStyle.stroke
// ..strokeWidth = size.width * 0.00
// ..strokeCap = StrokeCap.butt
// ..strokeJoin = StrokeJoin.miter;
// canvas.drawPath(path_0, paint_stroke_0);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) {
return true;
}
}