| // Copyright 2013 The Flutter Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| import 'package:test/bootstrap/browser.dart'; |
| import 'package:test/test.dart'; |
| import 'package:ui/src/engine.dart'; |
| import 'package:ui/ui.dart'; |
| |
| import 'package:web_engine_tester/golden_tester.dart'; |
| |
| void main() { |
| internalBootstrapBrowserTest(() => testMain); |
| } |
| |
| Future<void> testMain() async { |
| const Rect region = Rect.fromLTWH(0, 0, 150, 420); |
| |
| late BitmapCanvas canvas; |
| |
| setUp(() { |
| canvas = BitmapCanvas(region, RenderStrategy()); |
| }); |
| |
| tearDown(() { |
| canvas.rootElement.remove(); |
| }); |
| |
| test('draws rect with flipped coordinates L > R, T > B', () async { |
| |
| paintRects(canvas); |
| |
| domDocument.body!.append(canvas.rootElement); |
| await matchGoldenFile('canvas_rect_flipped.png', region: region); |
| }); |
| } |
| |
| void paintRects(BitmapCanvas canvas) { |
| |
| canvas.drawRect(const Rect.fromLTRB(30, 40, 100, 50), |
| SurfacePaintData() |
| ..color = const Color(0xFF4CAF50) //Colors.green |
| ..strokeWidth = 1.0 |
| ..style = PaintingStyle.stroke); |
| |
| // swap left and right. |
| canvas.drawRect(const Rect.fromLTRB(100, 150, 30, 140), |
| SurfacePaintData() |
| ..color = const Color(0xFFF44336) //Colors.red |
| ..strokeWidth = 1.0 |
| ..style = PaintingStyle.stroke); |
| |
| // Repeat above for fill |
| canvas.drawRect(const Rect.fromLTRB(30, 240, 100, 250), |
| SurfacePaintData() |
| ..color = const Color(0xFF4CAF50) //Colors.green |
| ..style = PaintingStyle.fill); |
| |
| // swap left and right. |
| canvas.drawRect(const Rect.fromLTRB(100, 350, 30, 340), |
| SurfacePaintData() |
| ..color = const Color(0xFFF44336) //Colors.red |
| ..style = PaintingStyle.fill); |
| } |