aboutsummaryrefslogtreecommitdiffstats
path: root/components/script/dom
diff options
context:
space:
mode:
authorpylbrecht <palbrecht@mailbox.org>2020-02-11 22:36:50 +0100
committerpylbrecht <palbrecht@mailbox.org>2020-02-12 08:49:18 +0100
commit588c09b5807bd9534aa63cbb11cff5c0227efdab (patch)
treeb9a65317579b79904122a68e4ee9bf81496feff7 /components/script/dom
parent6b2079e5b3272245bdd21e2664e2ef6cd83f7aab (diff)
downloadservo-588c09b5807bd9534aa63cbb11cff5c0227efdab.tar.gz
servo-588c09b5807bd9534aa63cbb11cff5c0227efdab.zip
Implement CanvasRenderingContext2D.getTransform()
Diffstat (limited to 'components/script/dom')
-rw-r--r--components/script/dom/canvasrenderingcontext2d.rs6
-rw-r--r--components/script/dom/offscreencanvasrenderingcontext2d.rs6
-rw-r--r--components/script/dom/paintrenderingcontext2d.rs6
-rw-r--r--components/script/dom/webidls/CanvasRenderingContext2D.webidl2
-rw-r--r--components/script/dom/webidls/DOMMatrix.webidl2
-rw-r--r--components/script/dom/webidls/DOMMatrixReadOnly.webidl2
-rw-r--r--components/script/dom/webidls/DOMPoint.webidl2
-rw-r--r--components/script/dom/webidls/DOMPointReadOnly.webidl2
8 files changed, 23 insertions, 5 deletions
diff --git a/components/script/dom/canvasrenderingcontext2d.rs b/components/script/dom/canvasrenderingcontext2d.rs
index 4c36a22f717..5956827d654 100644
--- a/components/script/dom/canvasrenderingcontext2d.rs
+++ b/components/script/dom/canvasrenderingcontext2d.rs
@@ -18,6 +18,7 @@ use crate::dom::bindings::root::{Dom, DomRoot, LayoutDom};
use crate::dom::bindings::str::DOMString;
use crate::dom::canvasgradient::CanvasGradient;
use crate::dom::canvaspattern::CanvasPattern;
+use crate::dom::dommatrix::DOMMatrix;
use crate::dom::globalscope::GlobalScope;
use crate::dom::htmlcanvaselement::HTMLCanvasElement;
use crate::dom::imagedata::ImageData;
@@ -224,6 +225,11 @@ impl CanvasRenderingContext2DMethods for CanvasRenderingContext2D {
self.canvas_state.borrow().transform(a, b, c, d, e, f)
}
+ // https://html.spec.whatwg.org/multipage/#dom-context-2d-gettransform
+ fn GetTransform(&self) -> DomRoot<DOMMatrix> {
+ self.canvas_state.borrow().get_transform(&self.global())
+ }
+
// https://html.spec.whatwg.org/multipage/#dom-context-2d-settransform
fn SetTransform(&self, a: f64, b: f64, c: f64, d: f64, e: f64, f: f64) {
self.canvas_state.borrow().set_transform(a, b, c, d, e, f)
diff --git a/components/script/dom/offscreencanvasrenderingcontext2d.rs b/components/script/dom/offscreencanvasrenderingcontext2d.rs
index 31dc8b7dec5..228a4dd44d7 100644
--- a/components/script/dom/offscreencanvasrenderingcontext2d.rs
+++ b/components/script/dom/offscreencanvasrenderingcontext2d.rs
@@ -19,6 +19,7 @@ use crate::dom::bindings::root::{Dom, DomRoot};
use crate::dom::bindings::str::DOMString;
use crate::dom::canvasgradient::CanvasGradient;
use crate::dom::canvaspattern::CanvasPattern;
+use crate::dom::dommatrix::DOMMatrix;
use crate::dom::globalscope::GlobalScope;
use crate::dom::htmlcanvaselement::HTMLCanvasElement;
use crate::dom::imagedata::ImageData;
@@ -470,6 +471,11 @@ impl OffscreenCanvasRenderingContext2DMethods for OffscreenCanvasRenderingContex
self.canvas_state.borrow().transform(a, b, c, d, e, f)
}
+ // https://html.spec.whatwg.org/multipage/#dom-context-2d-gettransform
+ fn GetTransform(&self) -> DomRoot<DOMMatrix> {
+ self.canvas_state.borrow().get_transform(&self.global())
+ }
+
// https://html.spec.whatwg.org/multipage/#dom-context-2d-settransform
fn SetTransform(&self, a: f64, b: f64, c: f64, d: f64, e: f64, f: f64) {
self.canvas_state.borrow().set_transform(a, b, c, d, e, f)
diff --git a/components/script/dom/paintrenderingcontext2d.rs b/components/script/dom/paintrenderingcontext2d.rs
index b9adc23e52d..7b44bbc4a71 100644
--- a/components/script/dom/paintrenderingcontext2d.rs
+++ b/components/script/dom/paintrenderingcontext2d.rs
@@ -20,6 +20,7 @@ use crate::dom::bindings::str::DOMString;
use crate::dom::canvasgradient::CanvasGradient;
use crate::dom::canvaspattern::CanvasPattern;
use crate::dom::canvasrenderingcontext2d::CanvasRenderingContext2D;
+use crate::dom::dommatrix::DOMMatrix;
use crate::dom::paintworkletglobalscope::PaintWorkletGlobalScope;
use crate::euclidext::Size2DExt;
use canvas_traits::canvas::CanvasImageData;
@@ -119,6 +120,11 @@ impl PaintRenderingContext2DMethods for PaintRenderingContext2D {
self.context.Transform(a, b, c, d, e, f)
}
+ // https://html.spec.whatwg.org/multipage/#dom-context-2d-gettransform
+ fn GetTransform(&self) -> DomRoot<DOMMatrix> {
+ self.context.GetTransform()
+ }
+
// https://html.spec.whatwg.org/multipage/#dom-context-2d-settransform
fn SetTransform(&self, a: f64, b: f64, c: f64, d: f64, e: f64, f: f64) {
self.context.SetTransform(a, b, c, d, e, f);
diff --git a/components/script/dom/webidls/CanvasRenderingContext2D.webidl b/components/script/dom/webidls/CanvasRenderingContext2D.webidl
index bcc1b56396c..af88cfe9281 100644
--- a/components/script/dom/webidls/CanvasRenderingContext2D.webidl
+++ b/components/script/dom/webidls/CanvasRenderingContext2D.webidl
@@ -59,7 +59,7 @@ interface mixin CanvasTransform {
unrestricted double e,
unrestricted double f);
- // [NewObject] DOMMatrix getTransform();
+ [NewObject] DOMMatrix getTransform();
void setTransform(unrestricted double a,
unrestricted double b,
unrestricted double c,
diff --git a/components/script/dom/webidls/DOMMatrix.webidl b/components/script/dom/webidls/DOMMatrix.webidl
index 1731116c051..eaef16c3906 100644
--- a/components/script/dom/webidls/DOMMatrix.webidl
+++ b/components/script/dom/webidls/DOMMatrix.webidl
@@ -10,7 +10,7 @@
* related or neighboring rights to this work.
*/
-[Exposed=(Window,Worker),
+[Exposed=(Window,Worker,PaintWorklet),
LegacyWindowAlias=WebKitCSSMatrix]
interface DOMMatrix : DOMMatrixReadOnly {
[Throws] constructor(optional (DOMString or sequence<unrestricted double>) init);
diff --git a/components/script/dom/webidls/DOMMatrixReadOnly.webidl b/components/script/dom/webidls/DOMMatrixReadOnly.webidl
index d86a475c38e..689b83ddc58 100644
--- a/components/script/dom/webidls/DOMMatrixReadOnly.webidl
+++ b/components/script/dom/webidls/DOMMatrixReadOnly.webidl
@@ -10,7 +10,7 @@
* related or neighboring rights to this work.
*/
-[Exposed=(Window,Worker)]
+[Exposed=(Window,Worker,PaintWorklet)]
interface DOMMatrixReadOnly {
[Throws] constructor(optional (DOMString or sequence<unrestricted double>) init);
diff --git a/components/script/dom/webidls/DOMPoint.webidl b/components/script/dom/webidls/DOMPoint.webidl
index ee25eed0d69..765c62df573 100644
--- a/components/script/dom/webidls/DOMPoint.webidl
+++ b/components/script/dom/webidls/DOMPoint.webidl
@@ -10,7 +10,7 @@
*/
// http://dev.w3.org/fxtf/geometry/Overview.html#dompoint
-[Exposed=(Window,Worker)]
+[Exposed=(Window,Worker,PaintWorklet)]
interface DOMPoint : DOMPointReadOnly {
[Throws] constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
optional unrestricted double z = 0, optional unrestricted double w = 1);
diff --git a/components/script/dom/webidls/DOMPointReadOnly.webidl b/components/script/dom/webidls/DOMPointReadOnly.webidl
index bdd7eba31eb..98940ed3f08 100644
--- a/components/script/dom/webidls/DOMPointReadOnly.webidl
+++ b/components/script/dom/webidls/DOMPointReadOnly.webidl
@@ -10,7 +10,7 @@
*/
// http://dev.w3.org/fxtf/geometry/Overview.html#dompointreadonly
-[Exposed=(Window,Worker)]
+[Exposed=(Window,Worker,PaintWorklet)]
interface DOMPointReadOnly {
[Throws] constructor(optional unrestricted double x = 0, optional unrestricted double y = 0,
optional unrestricted double z = 0, optional unrestricted double w = 1);