Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit a339374

Browse files
authored
Move more parts to libs. Move bitmap/dom canvas to /html (#26072)
1 parent d7229e9 commit a339374

File tree

9 files changed

+243
-171
lines changed

9 files changed

+243
-171
lines changed

ci/licenses_golden/licenses_flutter

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -446,7 +446,6 @@ FILE: ../../../flutter/lib/ui/window/window.h
446446
FILE: ../../../flutter/lib/web_ui/lib/src/engine.dart
447447
FILE: ../../../flutter/lib/web_ui/lib/src/engine/alarm_clock.dart
448448
FILE: ../../../flutter/lib/web_ui/lib/src/engine/assets.dart
449-
FILE: ../../../flutter/lib/web_ui/lib/src/engine/bitmap_canvas.dart
450449
FILE: ../../../flutter/lib/web_ui/lib/src/engine/browser_detection.dart
451450
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvas_pool.dart
452451
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/canvas.dart
@@ -482,16 +481,17 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/vertices.dart
482481
FILE: ../../../flutter/lib/web_ui/lib/src/engine/canvaskit/viewport_metrics.dart
483482
FILE: ../../../flutter/lib/web_ui/lib/src/engine/clipboard.dart
484483
FILE: ../../../flutter/lib/web_ui/lib/src/engine/color_filter.dart
485-
FILE: ../../../flutter/lib/web_ui/lib/src/engine/dom_canvas.dart
486484
FILE: ../../../flutter/lib/web_ui/lib/src/engine/dom_renderer.dart
487485
FILE: ../../../flutter/lib/web_ui/lib/src/engine/engine_canvas.dart
488486
FILE: ../../../flutter/lib/web_ui/lib/src/engine/font_change_util.dart
489487
FILE: ../../../flutter/lib/web_ui/lib/src/engine/frame_reference.dart
490488
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/backdrop_filter.dart
489+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/bitmap_canvas.dart
491490
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/canvas.dart
492491
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/clip.dart
493492
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/color_filter.dart
494493
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/debug_canvas_reuse_overlay.dart
494+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/dom_canvas.dart
495495
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/image_filter.dart
496496
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/offscreen_canvas.dart
497497
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/offset.dart
@@ -515,6 +515,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/render_vertices.dart
515515
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/scene.dart
516516
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/scene_builder.dart
517517
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shader_mask.dart
518+
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/image_shader.dart
518519
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart
519520
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/shader.dart
520521
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart

lib/web_ui/lib/src/engine.dart

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ export 'engine/browser_detection.dart';
4141
import 'engine/html_image_codec.dart';
4242
export 'engine/html_image_codec.dart';
4343

44-
import 'engine/html/offscreen_canvas.dart';
4544
export 'engine/html/offscreen_canvas.dart';
4645

4746
import 'engine/html/painting.dart';
@@ -77,16 +76,21 @@ export 'engine/html/path/path_windings.dart';
7776
import 'engine/html/path/tangent.dart';
7877
export 'engine/html/path/tangent.dart';
7978

80-
import 'engine/html/shaders/normalized_gradient.dart';
79+
import 'engine/html/render_vertices.dart';
80+
export 'engine/html/render_vertices.dart';
81+
82+
import 'engine/html/shaders/image_shader.dart';
83+
export 'engine/html/shaders/image_shader.dart';
84+
8185
export 'engine/html/shaders/normalized_gradient.dart';
8286

83-
import 'engine/html/shaders/shader_builder.dart';
87+
import 'engine/html/shaders/shader.dart';
88+
export 'engine/html/shaders/shader.dart';
89+
8490
export 'engine/html/shaders/shader_builder.dart';
8591

86-
import 'engine/html/shaders/vertex_shaders.dart';
8792
export 'engine/html/shaders/vertex_shaders.dart';
8893

89-
import 'engine/html/shaders/webgl_context.dart';
9094
export 'engine/html/shaders/webgl_context.dart';
9195

9296
import 'engine/mouse_cursor.dart';
@@ -131,9 +135,6 @@ export 'engine/shadow.dart';
131135
import 'engine/test_embedding.dart';
132136
export 'engine/test_embedding.dart';
133137

134-
import 'engine/ulps.dart';
135-
export 'engine/ulps.dart';
136-
137138
import 'engine/util.dart';
138139
export 'engine/util.dart';
139140

@@ -147,7 +148,7 @@ import 'engine/web_experiments.dart';
147148
export 'engine/web_experiments.dart';
148149

149150
part 'engine/assets.dart';
150-
part 'engine/bitmap_canvas.dart';
151+
part 'engine/html/bitmap_canvas.dart';
151152
part 'engine/canvaskit/canvas.dart';
152153
part 'engine/canvaskit/canvaskit_canvas.dart';
153154
part 'engine/canvaskit/canvaskit_api.dart';
@@ -182,7 +183,7 @@ part 'engine/canvaskit/viewport_metrics.dart';
182183
part 'engine/canvas_pool.dart';
183184
part 'engine/clipboard.dart';
184185
part 'engine/color_filter.dart';
185-
part 'engine/dom_canvas.dart';
186+
part 'engine/html/dom_canvas.dart';
186187
part 'engine/dom_renderer.dart';
187188
part 'engine/engine_canvas.dart';
188189
part 'engine/font_change_util.dart';
@@ -199,11 +200,9 @@ part 'engine/html/path/path.dart';
199200
part 'engine/html/picture.dart';
200201
part 'engine/html/platform_view.dart';
201202
part 'engine/html/recording_canvas.dart';
202-
part 'engine/html/render_vertices.dart';
203203
part 'engine/html/scene.dart';
204204
part 'engine/html/scene_builder.dart';
205205
part 'engine/html/shader_mask.dart';
206-
part 'engine/html/shaders/shader.dart';
207206
part 'engine/html/surface.dart';
208207
part 'engine/html/surface_stats.dart';
209208
part 'engine/html/transform.dart';
@@ -247,14 +246,13 @@ part 'engine/window.dart';
247246

248247
// The mode the app is running in.
249248
// Keep these in sync with the same constants on the framework-side under foundation/constants.dart.
250-
const bool kReleaseMode = bool.fromEnvironment('dart.vm.product', defaultValue: false);
251-
const bool kProfileMode = bool.fromEnvironment('dart.vm.profile', defaultValue: false);
249+
const bool kReleaseMode =
250+
bool.fromEnvironment('dart.vm.product', defaultValue: false);
251+
const bool kProfileMode =
252+
bool.fromEnvironment('dart.vm.profile', defaultValue: false);
252253
const bool kDebugMode = !kReleaseMode && !kProfileMode;
253-
String get buildMode => kReleaseMode
254-
? 'release'
255-
: kProfileMode
256-
? 'profile'
257-
: 'debug';
254+
String get buildMode =>
255+
kReleaseMode ? 'release' : kProfileMode ? 'profile' : 'debug';
258256

259257
/// A benchmark metric that includes frame-related computations prior to
260258
/// submitting layer and picture operations to the underlying renderer, such as

lib/web_ui/lib/src/engine/bitmap_canvas.dart renamed to lib/web_ui/lib/src/engine/html/bitmap_canvas.dart

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -965,25 +965,25 @@ class BitmapCanvas extends EngineCanvas {
965965
// as well.
966966
assert(paint.shader == null || paint.shader is EngineImageShader,
967967
'Linear/Radial/SweepGradient not supported yet');
968-
final Int32List? colors = vertices._colors;
969-
final ui.VertexMode mode = vertices._mode;
968+
final Int32List? colors = vertices.colors;
969+
final ui.VertexMode mode = vertices.mode;
970970
html.CanvasRenderingContext2D? ctx = _canvasPool.context;
971971
if (colors == null && paint.style != ui.PaintingStyle.fill &&
972972
paint.shader == null) {
973973
final Float32List positions = mode == ui.VertexMode.triangles
974-
? vertices._positions
975-
: _convertVertexPositions(mode, vertices._positions);
974+
? vertices.positions
975+
: convertVertexPositions(mode, vertices.positions);
976976
// Draw hairline for vertices if no vertex colors are specified.
977977
save();
978978
final ui.Color color = paint.color ?? ui.Color(0xFF000000);
979979
_canvasPool.contextHandle
980980
..fillStyle = null
981981
..strokeStyle = colorToCssString(color);
982-
_glRenderer!.drawHairline(ctx, positions);
982+
glRenderer!.drawHairline(ctx, positions);
983983
restore();
984984
return;
985985
}
986-
_glRenderer!.drawVertices(ctx, _widthInBitmapPixels, _heightInBitmapPixels,
986+
glRenderer!.drawVertices(ctx, _widthInBitmapPixels, _heightInBitmapPixels,
987987
_canvasPool.currentTransform, vertices, blendMode, paint);
988988
}
989989

lib/web_ui/lib/src/engine/html/recording_canvas.dart

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -321,7 +321,8 @@ class RecordingCanvas {
321321

322322
void drawLine(ui.Offset p1, ui.Offset p2, SurfacePaint paint) {
323323
assert(!_recordingEnded);
324-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
324+
assert(paint.shader == null || paint.shader is! EngineImageShader,
325+
'ImageShader not supported yet');
325326
final double paintSpread = math.max(_getPaintSpread(paint), 1.0);
326327
final PaintDrawLine command = PaintDrawLine(p1, p2, paint.paintData);
327328
// TODO(yjbanov): This can be optimized. Currently we create a box around
@@ -345,7 +346,8 @@ class RecordingCanvas {
345346

346347
void drawPaint(SurfacePaint paint) {
347348
assert(!_recordingEnded);
348-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
349+
assert(paint.shader == null || paint.shader is! EngineImageShader,
350+
'ImageShader not supported yet');
349351
renderStrategy.hasArbitraryPaint = true;
350352
_didDraw = true;
351353
final PaintDrawPaint command = PaintDrawPaint(paint.paintData);
@@ -355,7 +357,8 @@ class RecordingCanvas {
355357

356358
void drawRect(ui.Rect rect, SurfacePaint paint) {
357359
assert(!_recordingEnded);
358-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
360+
assert(paint.shader == null || paint.shader is! EngineImageShader,
361+
'ImageShader not supported yet');
359362
if (paint.shader != null) {
360363
renderStrategy.hasArbitraryPaint = true;
361364
}
@@ -372,7 +375,8 @@ class RecordingCanvas {
372375

373376
void drawRRect(ui.RRect rrect, SurfacePaint paint) {
374377
assert(!_recordingEnded);
375-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
378+
assert(paint.shader == null || paint.shader is! EngineImageShader,
379+
'ImageShader not supported yet');
376380
if (paint.shader != null || !rrect.webOnlyUniformRadii) {
377381
renderStrategy.hasArbitraryPaint = true;
378382
}
@@ -389,7 +393,8 @@ class RecordingCanvas {
389393

390394
void drawDRRect(ui.RRect outer, ui.RRect inner, SurfacePaint paint) {
391395
assert(!_recordingEnded);
392-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
396+
assert(paint.shader == null || paint.shader is! EngineImageShader,
397+
'ImageShader not supported yet');
393398
// Check the inner bounds are contained within the outer bounds
394399
// see: https://cs.chromium.org/chromium/src/third_party/skia/src/core/SkCanvas.cpp?l=1787-1789
395400
ui.Rect innerRect = inner.outerRect;
@@ -448,7 +453,8 @@ class RecordingCanvas {
448453

449454
void drawOval(ui.Rect rect, SurfacePaint paint) {
450455
assert(!_recordingEnded);
451-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
456+
assert(paint.shader == null || paint.shader is! EngineImageShader,
457+
'ImageShader not supported yet');
452458
renderStrategy.hasArbitraryPaint = true;
453459
_didDraw = true;
454460
final double paintSpread = _getPaintSpread(paint);
@@ -463,7 +469,8 @@ class RecordingCanvas {
463469

464470
void drawCircle(ui.Offset c, double radius, SurfacePaint paint) {
465471
assert(!_recordingEnded);
466-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
472+
assert(paint.shader == null || paint.shader is! EngineImageShader,
473+
'ImageShader not supported yet');
467474
renderStrategy.hasArbitraryPaint = true;
468475
_didDraw = true;
469476
final double paintSpread = _getPaintSpread(paint);
@@ -481,7 +488,8 @@ class RecordingCanvas {
481488

482489
void drawPath(ui.Path path, SurfacePaint paint) {
483490
assert(!_recordingEnded);
484-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
491+
assert(paint.shader == null || paint.shader is! EngineImageShader,
492+
'ImageShader not supported yet');
485493
if (paint.shader == null) {
486494
// For Rect/RoundedRect paths use drawRect/drawRRect code paths for
487495
// DomCanvas optimization.
@@ -518,7 +526,8 @@ class RecordingCanvas {
518526

519527
void drawImage(ui.Image image, ui.Offset offset, SurfacePaint paint) {
520528
assert(!_recordingEnded);
521-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
529+
assert(paint.shader == null || paint.shader is! EngineImageShader,
530+
'ImageShader not supported yet');
522531
renderStrategy.hasArbitraryPaint = true;
523532
renderStrategy.hasImageElements = true;
524533
_didDraw = true;
@@ -556,7 +565,8 @@ class RecordingCanvas {
556565
void drawImageRect(
557566
ui.Image image, ui.Rect src, ui.Rect dst, SurfacePaint paint) {
558567
assert(!_recordingEnded);
559-
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
568+
assert(paint.shader == null || paint.shader is! EngineImageShader,
569+
'ImageShader not supported yet');
560570
renderStrategy.hasArbitraryPaint = true;
561571
renderStrategy.hasImageElements = true;
562572
_didDraw = true;
@@ -613,7 +623,7 @@ class RecordingCanvas {
613623
_didDraw = true;
614624
final PaintDrawVertices command =
615625
PaintDrawVertices(vertices, blendMode, paint.paintData);
616-
_growPaintBoundsByPoints(vertices._positions, 0, paint, command);
626+
_growPaintBoundsByPoints(vertices.positions, 0, paint, command);
617627
_commands.add(command);
618628
}
619629

0 commit comments

Comments
 (0)