Skip to content
Snippets Groups Projects
Select Git revision
  • ccb064d1cac60ef3501be1c40f6e5b49147e5504
  • master default protected
  • 42-improve-app-metadata
  • 17-improve-and-complete-offline-words-list-and-tips
  • 6-allow-translate-application
  • 9-improve-documentation
  • Release_1.10.1_45 protected
  • Release_1.10.0_44 protected
  • Release_1.9.2_43 protected
  • Release_1.9.1_42 protected
  • Release_1.9.0_41 protected
  • Release_1.8.0_40 protected
  • Release_1.7.0_39 protected
  • Release_1.6.0_38 protected
  • Release_1.5.2_37 protected
  • Release_1.5.1_36 protected
  • Release_1.5.0_35 protected
  • Release_1.4.1_34 protected
  • Release_1.4.0_33 protected
  • Release_1.3.2_32 protected
  • Release_1.3.1_31 protected
  • Release_1.3.0_30 protected
  • Release_1.2.18_29 protected
  • Release_1.2.17_28 protected
  • Release_1.2.16_27 protected
  • Release_1.2.15_26 protected
26 results

main.dart

Blame
  • hole_painter.dart 1.04 KiB
    import 'dart:math';
    
    import 'package:flutter/material.dart';
    
    class HolePainter extends CustomPainter {
      @override
      void paint(Canvas canvas, Size size) {
        final paint = Paint();
        paint.color = Colors.blue;
        paint.style = PaintingStyle.fill;
    
        final center = Offset(size.height / 2, size.width / 2);
    
        final circleBounds = Rect.fromCircle(center: center, radius: 20);
    
        final topPath = Path()
          ..moveTo(-1, -1)
          ..lineTo(-1, (size.height / 2) + 1)
          ..arcTo(circleBounds, -pi, pi, false)
          ..lineTo(size.width + 1, (size.height / 2) + 1)
          ..lineTo(size.width + 1, -1)
          ..close();
        final bottomPath = Path()
          ..moveTo(-1, size.height)
          ..lineTo(-1, (size.height / 2) - 1)
          ..arcTo(circleBounds, pi, -pi, false)
          ..lineTo(size.width + 1, (size.height / 2) - 1)
          ..lineTo(size.width + 1, size.height + 1)
          ..close();
    
        canvas.drawPath(topPath, paint);
        canvas.drawPath(bottomPath, paint);
      }
    
      @override
      bool shouldRepaint(CustomPainter oldDelegate) {
        return false;
      }
    }