-
Notifications
You must be signed in to change notification settings - Fork 29.8k
Closed
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: imagesLoading, displaying, rendering imagesLoading, displaying, rendering imagesc: renderingUI glitches reported at the engine/skia or impeller rendering levelUI glitches reported at the engine/skia or impeller rendering levelplatform-webWeb applications specificallyWeb applications specificallywaiting for PR to land (fixed)A fix is in flightA fix is in flight
Milestone
Description
Steps to Reproduce
setup:
Flutter 1.19.0-2.0.pre.15 • channel master • https://github.com/flutter/flutter.git
Framework • revision c969b8af7b (3 days ago) • 2020-05-11 15:28:10 -0700
Engine • revision ada8a0fd64
Tools • Dart 2.9.0 (build 2.9.0-8.0.dev a6d06b59ec)
code to run:
import 'dart:math';
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body: CustomPaint(
painter: CP(),
child: SizedBox.expand(),
),
),
);
}
}
class CP extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
var rect = Offset.zero & size;
var p = Path()
..fillType = PathFillType.evenOdd
..addRect(rect)
..addArc(Rect.fromCircle(center: rect.center, radius: rect.size.shortestSide / 2), 0.25 * pi, 1.5 * pi);
canvas.drawPath(p, Paint()..color = Colors.green);
}
@override
bool shouldRepaint(CustomPainter oldDelegate) => true;
}
command to run:
flutter -d chrome run
expected results:
actual results:
EDIT the same broken results occur if you use multiple Path.addOval() methods instead of Path.addArc() (one Path.addOval() works fine though...)
EDIT 2 i made some other tests and it seems that Path.addPath() works but only when used with non null matrix4 parameter:
@override
void paint(ui.Canvas canvas, ui.Size size) {
var rect = Offset.zero & size;
var tmpPath = Path()..addArc(Rect.fromCircle(center: rect.center, radius: rect.size.shortestSide / 2), 0.25 * pi, 1.5 * pi);
var p = Path()
..fillType = PathFillType.evenOdd
..addRect(rect)
..addPath(tmpPath, Offset.zero, matrix4: Matrix4.identity().storage);
canvas.drawPath(p, Paint()..color = Colors.green);
}
kunit1
Metadata
Metadata
Assignees
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: imagesLoading, displaying, rendering imagesLoading, displaying, rendering imagesc: renderingUI glitches reported at the engine/skia or impeller rendering levelUI glitches reported at the engine/skia or impeller rendering levelplatform-webWeb applications specificallyWeb applications specificallywaiting for PR to land (fixed)A fix is in flightA fix is in flight

