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

Move more parts to libraries. #25863

Merged
merged 16 commits into from
May 7, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions ci/licenses_golden/licenses_flutter
Original file line number Diff line number Diff line change
Expand Up @@ -517,6 +517,7 @@ FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shader_mask.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/normalized_gradient.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/shader.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/shader_builder.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/shaders/vertex_shaders.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/surface.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/surface_stats.dart
FILE: ../../../flutter/lib/web_ui/lib/src/engine/html/transform.dart
Expand Down
33 changes: 25 additions & 8 deletions lib/web_ui/lib/src/engine.dart
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,12 @@ export 'engine/alarm_clock.dart';
import 'engine/browser_detection.dart';
export 'engine/browser_detection.dart';

import 'engine/html_image_codec.dart';
export 'engine/html_image_codec.dart';

import 'engine/html/painting.dart';
export 'engine/html/painting.dart';

import 'engine/html/path_to_svg_clip.dart';
export 'engine/html/path_to_svg_clip.dart';

Expand All @@ -56,9 +62,27 @@ export 'engine/html/path/path_metrics.dart';
import 'engine/html/path/path_ref.dart';
export 'engine/html/path/path_ref.dart';

import 'engine/html/path/path_to_svg.dart';
export 'engine/html/path/path_to_svg.dart';

import 'engine/html/path/path_utils.dart';
export 'engine/html/path/path_utils.dart';

import 'engine/html/path/path_windings.dart';
export 'engine/html/path/path_windings.dart';

import 'engine/html/path/tangent.dart';
export 'engine/html/path/tangent.dart';

import 'engine/html/shaders/normalized_gradient.dart';
export 'engine/html/shaders/normalized_gradient.dart';

import 'engine/html/shaders/shader_builder.dart';
export 'engine/html/shaders/shader_builder.dart';

import 'engine/html/shaders/vertex_shaders.dart';
export 'engine/html/shaders/vertex_shaders.dart';

import 'engine/mouse_cursor.dart';
export 'engine/mouse_cursor.dart';

Expand Down Expand Up @@ -155,6 +179,7 @@ part 'engine/color_filter.dart';
part 'engine/dom_canvas.dart';
part 'engine/dom_renderer.dart';
part 'engine/engine_canvas.dart';
part 'engine/font_change_util.dart';
part 'engine/frame_reference.dart';
part 'engine/html/backdrop_filter.dart';
part 'engine/html/canvas.dart';
Expand All @@ -164,25 +189,18 @@ part 'engine/html/debug_canvas_reuse_overlay.dart';
part 'engine/html/image_filter.dart';
part 'engine/html/offset.dart';
part 'engine/html/opacity.dart';
part 'engine/html/painting.dart';
part 'engine/html/path/path.dart';
part 'engine/html/path/path_to_svg.dart';
part 'engine/html/path/path_windings.dart';
part 'engine/html/path/tangent.dart';
part 'engine/html/picture.dart';
part 'engine/html/platform_view.dart';
part 'engine/html/recording_canvas.dart';
part 'engine/html/render_vertices.dart';
part 'engine/html/scene.dart';
part 'engine/html/scene_builder.dart';
part 'engine/html/shader_mask.dart';
part 'engine/html/shaders/normalized_gradient.dart';
part 'engine/html/shaders/shader.dart';
part 'engine/html/shaders/shader_builder.dart';
part 'engine/html/surface.dart';
part 'engine/html/surface_stats.dart';
part 'engine/html/transform.dart';
part 'engine/html_image_codec.dart';
part 'engine/keyboard_binding.dart';
part 'engine/keyboard.dart';
part 'engine/key_map.dart';
Expand Down Expand Up @@ -219,7 +237,6 @@ part 'engine/text_editing/autofill_hint.dart';
part 'engine/text_editing/input_type.dart';
part 'engine/text_editing/text_capitalization.dart';
part 'engine/text_editing/text_editing.dart';
part 'engine/font_change_util.dart';
part 'engine/window.dart';

// The mode the app is running in.
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/bitmap_canvas.dart
Original file line number Diff line number Diff line change
Expand Up @@ -963,7 +963,7 @@ class BitmapCanvas extends EngineCanvas {
// blendMode. https://github.com/flutter/flutter/issues/40096
// Move rendering to OffscreenCanvas so that transform is preserved
// as well.
assert(paint.shader == null || paint.shader is ImageShader,
assert(paint.shader == null || paint.shader is EngineImageShader,
'Linear/Radial/SweepGradient not supported yet');
final Int32List? colors = vertices._colors;
final ui.VertexMode mode = vertices._mode;
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/dom_canvas.dart
Original file line number Diff line number Diff line change
Expand Up @@ -267,7 +267,7 @@ html.Element _pathToSvgElement(SurfacePath path, SurfacePaintData paint,
sb.write('fill-rule="evenodd" ');
}
sb.write('d="');
pathToSvg(path, sb);
pathToSvg(path.pathRef, sb);
sb.write('"></path>');
sb.write('</svg>');
return html.Element.html(sb.toString(), treeSanitizer: _NullTreeSanitizer());
Expand Down
4 changes: 3 additions & 1 deletion lib/web_ui/lib/src/engine/html/painting.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

part of engine;
import 'package:ui/ui.dart' as ui;

import '../util.dart';

/// Implementation of [ui.Paint] used by the HTML rendering backend.
class SurfacePaint implements ui.Paint {
Expand Down
12 changes: 9 additions & 3 deletions lib/web_ui/lib/src/engine/html/path/path_to_svg.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,19 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

part of engine;
import 'dart:typed_data';

import 'package:ui/ui.dart' as ui;

import 'conic.dart';
import 'path_ref.dart';
import 'path_utils.dart';

/// Converts [path] to SVG path syntax to be used as "d" attribute in path
/// element.
void pathToSvg(SurfacePath path, StringBuffer sb,
void pathToSvg(PathRef pathRef, StringBuffer sb,
{double offsetX = 0, double offsetY = 0}) {
final PathRefIterator iter = PathRefIterator(path.pathRef);
final PathRefIterator iter = PathRefIterator(pathRef);
int verb = 0;
final Float32List outPts = Float32List(PathRefIterator.kMaxBufferSize);
while ((verb = iter.next(outPts)) != SPath.kDoneVerb) {
Expand Down
9 changes: 8 additions & 1 deletion lib/web_ui/lib/src/engine/html/path/path_windings.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,14 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

part of engine;
import 'dart:math' as math;
import 'dart:typed_data';

import 'conic.dart';
import 'cubic.dart';
import 'path_iterator.dart';
import 'path_ref.dart';
import 'path_utils.dart';

/// Computes winding number and onCurveCount for a path and point.
class PathWinding {
Expand Down
8 changes: 7 additions & 1 deletion lib/web_ui/lib/src/engine/html/path/tangent.dart
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

part of engine;
import 'dart:typed_data';

import 'package:ui/ui.dart' as ui;

import 'conic.dart';
import 'cubic.dart';
import 'path_utils.dart';

/// Computes tangent at point x,y on a line.
void tangentLine(
Expand Down
2 changes: 1 addition & 1 deletion lib/web_ui/lib/src/engine/html/path_to_svg_clip.dart
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ String pathToSvgClipPath(ui.Path path,
sb.write('<path transform="scale($scaleX, $scaleY)" fill="#FFFFFF" d="');
}

pathToSvg(path as SurfacePath, sb, offsetX: offsetX, offsetY: offsetY);
pathToSvg((path as SurfacePath).pathRef, sb, offsetX: offsetX, offsetY: offsetY);
sb.write('"></path></clipPath></defs></svg');
return sb.toString();
}
Expand Down
20 changes: 10 additions & 10 deletions lib/web_ui/lib/src/engine/html/recording_canvas.dart
Original file line number Diff line number Diff line change
Expand Up @@ -321,7 +321,7 @@ class RecordingCanvas {

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

void drawPaint(SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
renderStrategy.hasArbitraryPaint = true;
_didDraw = true;
final PaintDrawPaint command = PaintDrawPaint(paint.paintData);
Expand All @@ -355,7 +355,7 @@ class RecordingCanvas {

void drawRect(ui.Rect rect, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
if (paint.shader != null) {
renderStrategy.hasArbitraryPaint = true;
}
Expand All @@ -372,7 +372,7 @@ class RecordingCanvas {

void drawRRect(ui.RRect rrect, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
if (paint.shader != null || !rrect.webOnlyUniformRadii) {
renderStrategy.hasArbitraryPaint = true;
}
Expand All @@ -389,7 +389,7 @@ class RecordingCanvas {

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

void drawOval(ui.Rect rect, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
renderStrategy.hasArbitraryPaint = true;
_didDraw = true;
final double paintSpread = _getPaintSpread(paint);
Expand All @@ -463,7 +463,7 @@ class RecordingCanvas {

void drawCircle(ui.Offset c, double radius, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
renderStrategy.hasArbitraryPaint = true;
_didDraw = true;
final double paintSpread = _getPaintSpread(paint);
Expand All @@ -481,7 +481,7 @@ class RecordingCanvas {

void drawPath(ui.Path path, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
if (paint.shader == null) {
// For Rect/RoundedRect paths use drawRect/drawRRect code paths for
// DomCanvas optimization.
Expand Down Expand Up @@ -518,7 +518,7 @@ class RecordingCanvas {

void drawImage(ui.Image image, ui.Offset offset, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
renderStrategy.hasArbitraryPaint = true;
renderStrategy.hasImageElements = true;
_didDraw = true;
Expand Down Expand Up @@ -556,7 +556,7 @@ class RecordingCanvas {
void drawImageRect(
ui.Image image, ui.Rect src, ui.Rect dst, SurfacePaint paint) {
assert(!_recordingEnded);
assert(paint.shader == null || paint.shader is! ImageShader, 'ImageShader not supported yet');
assert(paint.shader == null || paint.shader is! EngineImageShader, 'ImageShader not supported yet');
renderStrategy.hasArbitraryPaint = true;
renderStrategy.hasImageElements = true;
_didDraw = true;
Expand Down
Loading