From 27cc8742ce9d5a687a468186d647bc9fefa9fb21 Mon Sep 17 00:00:00 2001 From: Luke Wilde Date: Sun, 10 Apr 2022 18:47:01 +0100 Subject: [PATCH] LibWeb: Implement CanvasRenderingContext2D.resetTransform --- .../Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp | 7 +++++++ Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h | 1 + .../Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl | 1 + 3 files changed, 9 insertions(+) diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index 95718a73be..15302c1230 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -719,6 +719,13 @@ void CanvasRenderingContext2D::set_transform(double a, double b, double c, doubl transform(a, b, c, d, e, f); } +// https://html.spec.whatwg.org/multipage/canvas.html#dom-context-2d-resettransform +void CanvasRenderingContext2D::reset_transform() +{ + // The resetTransform() method, when invoked, must reset the current transformation matrix to the identity matrix. + m_drawing_state.transform = {}; +} + // https://html.spec.whatwg.org/multipage/canvas.html#check-the-usability-of-the-image-argument DOM::ExceptionOr check_usability_of_image(CanvasImageSource const& image) { diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h index f00eca01c2..b86ee07ef0 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.h @@ -100,6 +100,7 @@ public: void transform(double a, double b, double c, double d, double e, double f); void set_transform(double a, double b, double c, double d, double e, double f); + void reset_transform(); private: explicit CanvasRenderingContext2D(HTMLCanvasElement&); diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl index 36cebe7f05..6806b05658 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.idl @@ -58,5 +58,6 @@ interface CanvasRenderingContext2D { // FIXME: All these `double`s should be `unrestricted double` undefined transform(double a, double b, double c, double d, double e, double f); undefined setTransform(double a, double b, double c, double d, double e, double f); + undefined resetTransform(); };