feat: starter kit.
This commit is contained in:
178
lib/ui/icons/appwrite.dart
Normal file
178
lib/ui/icons/appwrite.dart
Normal file
@@ -0,0 +1,178 @@
|
||||
import 'package:flutter/material.dart';
|
||||
|
||||
class AppwriteIcon extends StatelessWidget {
|
||||
final double size; // Desired width, height scales accordingly
|
||||
final Color color;
|
||||
|
||||
const AppwriteIcon({
|
||||
super.key,
|
||||
this.size = 40,
|
||||
this.color = const Color(0xFFFD366E),
|
||||
});
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return SizedBox(
|
||||
width: size,
|
||||
height: size * (105 / 112),
|
||||
child: CustomPaint(
|
||||
painter: _AppwriteIconPainter(color),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
class _AppwriteIconPainter extends CustomPainter {
|
||||
final Color color;
|
||||
|
||||
_AppwriteIconPainter(this.color);
|
||||
|
||||
@override
|
||||
void paint(Canvas canvas, Size size) {
|
||||
final paint = Paint()
|
||||
..color = color
|
||||
..style = PaintingStyle.fill;
|
||||
|
||||
final path1 = Path()
|
||||
..moveTo(size.width * 0.992, size.height * 0.75)
|
||||
..lineTo(size.width * 0.992, size.height)
|
||||
..lineTo(size.width * 0.436, size.height)
|
||||
..cubicTo(
|
||||
size.width * 0.274,
|
||||
size.height,
|
||||
size.width * 0.133,
|
||||
size.height * 0.9,
|
||||
size.width * 0.058,
|
||||
size.height * 0.75,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.047,
|
||||
size.height * 0.72,
|
||||
size.width * 0.037,
|
||||
size.height * 0.69,
|
||||
size.width * 0.029,
|
||||
size.height * 0.66,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.013,
|
||||
size.height * 0.62,
|
||||
size.width * 0.004,
|
||||
size.height * 0.58,
|
||||
0,
|
||||
size.height * 0.53,
|
||||
)
|
||||
..lineTo(0, size.height * 0.47)
|
||||
..cubicTo(
|
||||
0.001,
|
||||
size.height * 0.46,
|
||||
0.002,
|
||||
size.height * 0.44,
|
||||
0.003,
|
||||
size.height * 0.43,
|
||||
)
|
||||
..cubicTo(
|
||||
0.006,
|
||||
size.height * 0.41,
|
||||
0.01,
|
||||
size.height * 0.39,
|
||||
0.014,
|
||||
size.height * 0.36,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.067,
|
||||
size.height * 0.15,
|
||||
size.width * 0.236,
|
||||
0,
|
||||
size.width * 0.436,
|
||||
0,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.637,
|
||||
0,
|
||||
size.width * 0.805,
|
||||
size.height * 0.15,
|
||||
size.width * 0.857,
|
||||
size.height * 0.36,
|
||||
)
|
||||
..lineTo(size.width * 0.62, size.height * 0.36)
|
||||
..cubicTo(
|
||||
size.width * 0.58,
|
||||
size.height * 0.3,
|
||||
size.width * 0.514,
|
||||
size.height * 0.25,
|
||||
size.width * 0.436,
|
||||
size.height * 0.25,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.357,
|
||||
size.height * 0.25,
|
||||
size.width * 0.29,
|
||||
size.height * 0.3,
|
||||
size.width * 0.251,
|
||||
size.height * 0.36,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.241,
|
||||
size.height * 0.38,
|
||||
size.width * 0.232,
|
||||
size.height * 0.41,
|
||||
size.width * 0.227,
|
||||
size.height * 0.43,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.221,
|
||||
size.height * 0.45,
|
||||
size.width * 0.218,
|
||||
size.height * 0.47,
|
||||
size.width * 0.218,
|
||||
size.height * 0.5,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.218,
|
||||
size.height * 0.57,
|
||||
size.width * 0.244,
|
||||
size.height * 0.63,
|
||||
size.width * 0.277,
|
||||
size.height * 0.66,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.316,
|
||||
size.height * 0.71,
|
||||
size.width * 0.374,
|
||||
size.height * 0.75,
|
||||
size.width * 0.436,
|
||||
size.height * 0.75,
|
||||
)
|
||||
..lineTo(size.width * 0.992, size.height * 0.75)
|
||||
..close();
|
||||
|
||||
final path2 = Path()
|
||||
..moveTo(size.width * 0.992, size.height * 0.43)
|
||||
..lineTo(size.width * 0.992, size.height * 0.66)
|
||||
..lineTo(size.width * 0.586, size.height * 0.66)
|
||||
..cubicTo(
|
||||
size.width * 0.63,
|
||||
size.height * 0.63,
|
||||
size.width * 0.654,
|
||||
size.height * 0.57,
|
||||
size.width * 0.654,
|
||||
size.height * 0.5,
|
||||
)
|
||||
..cubicTo(
|
||||
size.width * 0.654,
|
||||
size.height * 0.47,
|
||||
size.width * 0.651,
|
||||
size.height * 0.45,
|
||||
size.width * 0.646,
|
||||
size.height * 0.43,
|
||||
)
|
||||
..lineTo(size.width * 0.992, size.height * 0.43)
|
||||
..close();
|
||||
|
||||
canvas.drawPath(path1, paint);
|
||||
canvas.drawPath(path2, paint);
|
||||
}
|
||||
|
||||
@override
|
||||
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
|
||||
}
|
||||
Reference in New Issue
Block a user