Import sorgenti Flutter di Henflow (export da Nextcloud: lib/ + documenti di progetto)

This commit is contained in:
Carlo Baratto
2026-10-09 08:51:15 +02:00
commit bfd086c488
14 changed files with 4129 additions and 0 deletions
+64
View File
@@ -0,0 +1,64 @@
import 'package:flutter/material.dart';
class CoopIcon extends StatelessWidget {
final double size;
final Color? color;
const CoopIcon({super.key, this.size = 24, this.color});
@override
Widget build(BuildContext context) {
final iconColor = color ?? Theme.of(context).colorScheme.primary;
return SizedBox(
width: size,
height: size,
child: CustomPaint(
painter: _CoopPainter(iconColor),
),
);
}
}
class _CoopPainter extends CustomPainter {
final Color color;
_CoopPainter(this.color);
@override
void paint(Canvas canvas, Size size) {
final paint = Paint()
..color = color
..style = PaintingStyle.stroke
..strokeWidth = size.width / 12
..strokeCap = StrokeCap.round
..strokeJoin = StrokeJoin.round;
final w = size.width;
final h = size.height;
final path = Path();
// Main structure
path.moveTo(w * 0.2, h * 0.85);
path.lineTo(w * 0.8, h * 0.85);
path.lineTo(w * 0.8, h * 0.4);
path.lineTo(w * 0.2, h * 0.4);
path.close();
// Roof
path.moveTo(w * 0.1, h * 0.4);
path.lineTo(w * 0.5, h * 0.1);
path.lineTo(w * 0.9, h * 0.4);
// Legs
path.moveTo(w * 0.3, h * 0.85);
path.lineTo(w * 0.3, h * 1.0);
path.moveTo(w * 0.7, h * 0.85);
path.lineTo(w * 0.7, h * 1.0);
// Window/Mesh
path.addRect(Rect.fromLTWH(w * 0.4, h * 0.55, w * 0.2, h * 0.2));
canvas.drawPath(path, paint);
}
@override
bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}