You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
pinball/packages/pinball_flame/lib/src/canvas/canvas_wrapper.dart

190 lines
4.5 KiB

import 'dart:typed_data';
import 'dart:ui';
/// {@template canvas_wrapper}
/// Custom [Canvas] implementation for Pinball
/// {@endtemplate}
class CanvasWrapper implements Canvas {
/// [Canvas] used for painting operations
late Canvas canvas;
@override
void clipPath(Path path, {bool doAntiAlias = true}) =>
canvas.clipPath(path, doAntiAlias: doAntiAlias);
@override
void clipRRect(RRect rrect, {bool doAntiAlias = true}) =>
canvas.clipRRect(rrect, doAntiAlias: doAntiAlias);
@override
void clipRect(
Rect rect, {
ClipOp clipOp = ClipOp.intersect,
bool doAntiAlias = true,
}) =>
canvas.clipRect(rect, clipOp: clipOp, doAntiAlias: doAntiAlias);
@override
void drawArc(
Rect rect,
double startAngle,
double sweepAngle,
bool useCenter,
Paint paint,
) =>
canvas.drawArc(rect, startAngle, sweepAngle, useCenter, paint);
@override
void drawAtlas(
Image atlas,
List<RSTransform> transforms,
List<Rect> rects,
List<Color>? colors,
BlendMode? blendMode,
Rect? cullRect,
Paint paint,
) =>
canvas.drawAtlas(
atlas,
transforms,
rects,
colors,
blendMode,
cullRect,
paint,
);
@override
void drawCircle(Offset c, double radius, Paint paint) => canvas.drawCircle(
c,
radius,
paint,
);
@override
void drawColor(Color color, BlendMode blendMode) =>
canvas.drawColor(color, blendMode);
@override
void drawDRRect(RRect outer, RRect inner, Paint paint) =>
canvas.drawDRRect(outer, inner, paint);
@override
void drawImage(Image image, Offset offset, Paint paint) =>
canvas.drawImage(image, offset, paint);
@override
void drawImageNine(Image image, Rect center, Rect dst, Paint paint) =>
canvas.drawImageNine(image, center, dst, paint);
@override
void drawImageRect(Image image, Rect src, Rect dst, Paint paint) =>
canvas.drawImageRect(image, src, dst, paint);
@override
void drawLine(Offset p1, Offset p2, Paint paint) =>
canvas.drawLine(p1, p2, paint);
@override
void drawOval(Rect rect, Paint paint) => canvas.drawOval(rect, paint);
@override
void drawPaint(Paint paint) => canvas.drawPaint(paint);
@override
void drawParagraph(Paragraph paragraph, Offset offset) =>
canvas.drawParagraph(paragraph, offset);
@override
void drawPath(Path path, Paint paint) => canvas.drawPath(path, paint);
@override
void drawPicture(Picture picture) => canvas.drawPicture(picture);
@override
void drawPoints(PointMode pointMode, List<Offset> points, Paint paint) =>
canvas.drawPoints(pointMode, points, paint);
@override
void drawRRect(RRect rrect, Paint paint) => canvas.drawRRect(rrect, paint);
@override
void drawRawAtlas(
Image atlas,
Float32List rstTransforms,
Float32List rects,
Int32List? colors,
BlendMode? blendMode,
Rect? cullRect,
Paint paint,
) =>
canvas.drawRawAtlas(
atlas,
rstTransforms,
rects,
colors,
blendMode,
cullRect,
paint,
);
@override
void drawRawPoints(PointMode pointMode, Float32List points, Paint paint) =>
canvas.drawRawPoints(pointMode, points, paint);
@override
void drawRect(Rect rect, Paint paint) => canvas.drawRect(rect, paint);
@override
void drawShadow(
Path path,
Color color,
double elevation,
bool transparentOccluder,
) =>
canvas.drawShadow(path, color, elevation, transparentOccluder);
@override
void drawVertices(Vertices vertices, BlendMode blendMode, Paint paint) =>
canvas.drawVertices(vertices, blendMode, paint);
@override
int getSaveCount() => canvas.getSaveCount();
@override
void restore() => canvas.restore();
@override
void rotate(double radians) => canvas.rotate(radians);
@override
void save() => canvas.save();
@override
void saveLayer(Rect? bounds, Paint paint) => canvas.saveLayer(bounds, paint);
@override
void scale(double sx, [double? sy]) => canvas.scale(sx, sy);
@override
void skew(double sx, double sy) => canvas.skew(sx, sy);
@override
void transform(Float64List matrix4) => canvas.transform(matrix4);
@override
void translate(double dx, double dy) => canvas.translate(dx, dy);
@override
Rect getDestinationClipBounds() => canvas.getDestinationClipBounds();
@override
Rect getLocalClipBounds() => canvas.getLocalClipBounds();
@override
Float64List getTransform() => canvas.getTransform();
@override
void restoreToCount(int count) => canvas.restoreToCount(count);
}