Skip to content

Commit d92b4ae

Browse files
authored
Merge pull request #769 from buntec/feature/canvas-path2d
add Path2D and related methods
2 parents 77703fd + ea4d290 commit d92b4ae

File tree

6 files changed

+200
-21
lines changed

6 files changed

+200
-21
lines changed

api-reports/2_12.txt

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,25 +1070,32 @@ CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean]
10701070
CacheStorage[JT] def keys(): js.Promise[js.Array[String]]
10711071
CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any]
10721072
CacheStorage[JT] def open(cacheName: String): js.Promise[Cache]
1073+
CanvasFillRule[JT]
1074+
CanvasFillRule[SO] val evenodd: CanvasFillRule
1075+
CanvasFillRule[SO] val nonzero: CanvasFillRule
10731076
CanvasGradient[JC] def addColorStop(offset: Double, color: String): Unit
10741077
CanvasPattern[JC]
10751078
CanvasProxy[JT] def setContext(context: RenderingContext): Unit
10761079
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double): Unit
1077-
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean): Unit
1080+
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit
10781081
CanvasRenderingContext2D[JC] def arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double): Unit
10791082
CanvasRenderingContext2D[JC] def beginPath(): Unit
10801083
CanvasRenderingContext2D[JC] def bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double): Unit
10811084
CanvasRenderingContext2D[JC] var canvas: HTMLCanvasElement
10821085
CanvasRenderingContext2D[JC] def clearRect(x: Double, y: Double, w: Double, h: Double): Unit
1083-
CanvasRenderingContext2D[JC] def clip(fillRule: String?): Unit
1086+
CanvasRenderingContext2D[JC] def clip(fillRule: CanvasFillRule?): Unit
1087+
CanvasRenderingContext2D[JC] def clip(path: Path2D): Unit
1088+
CanvasRenderingContext2D[JC] def clip(path: Path2D, fillRule: CanvasFillRule): Unit
10841089
CanvasRenderingContext2D[JC] def closePath(): Unit
10851090
CanvasRenderingContext2D[JC] def createImageData(imageDataOrSw: js.Any, sh: Double?): ImageData
10861091
CanvasRenderingContext2D[JC] def createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double): CanvasGradient
10871092
CanvasRenderingContext2D[JC] def createPattern(image: HTMLElement, repetition: String): CanvasPattern
10881093
CanvasRenderingContext2D[JC] def createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double): CanvasGradient
10891094
CanvasRenderingContext2D[JC] def drawImage(image: HTMLElement, offsetX: Double, offsetY: Double, width: Double?, height: Double?, canvasOffsetX: Double?, canvasOffsetY: Double?, canvasImageWidth: Double?, canvasImageHeight: Double?): Unit
1090-
CanvasRenderingContext2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean?): Unit
1091-
CanvasRenderingContext2D[JC] def fill(): Unit
1095+
CanvasRenderingContext2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean?): Unit
1096+
CanvasRenderingContext2D[JC] def fill(fillRule: CanvasFillRule?): Unit
1097+
CanvasRenderingContext2D[JC] def fill(path: Path2D): Unit
1098+
CanvasRenderingContext2D[JC] def fill(path: Path2D, fillRule: CanvasFillRule): Unit
10921099
CanvasRenderingContext2D[JC] def fillRect(x: Double, y: Double, w: Double, h: Double): Unit
10931100
CanvasRenderingContext2D[JC] var fillStyle: js.Any
10941101
CanvasRenderingContext2D[JC] def fillText(text: String, x: Double, y: Double, maxWidth: Double?): Unit
@@ -1098,8 +1105,9 @@ CanvasRenderingContext2D[JC] def getLineDash(): js.Array[Double]
10981105
CanvasRenderingContext2D[JC] var globalAlpha: Double
10991106
CanvasRenderingContext2D[JC] var globalCompositeOperation: String
11001107
CanvasRenderingContext2D[JC] var imageSmoothingEnabled: Boolean
1101-
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double): Boolean
1102-
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double, fillRule: String): Boolean
1108+
CanvasRenderingContext2D[JC] def isPointInPath(path: Path2D, x: Double, y: Double): Boolean
1109+
CanvasRenderingContext2D[JC] def isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule): Boolean
1110+
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule?): Boolean
11031111
CanvasRenderingContext2D[JC] var lineCap: String
11041112
CanvasRenderingContext2D[JC] var lineDashOffset: Double
11051113
CanvasRenderingContext2D[JC] var lineJoin: String
@@ -1122,6 +1130,7 @@ CanvasRenderingContext2D[JC] var shadowColor: String
11221130
CanvasRenderingContext2D[JC] var shadowOffsetX: Double
11231131
CanvasRenderingContext2D[JC] var shadowOffsetY: Double
11241132
CanvasRenderingContext2D[JC] def stroke(): Unit
1133+
CanvasRenderingContext2D[JC] def stroke(path: Path2D): Unit
11251134
CanvasRenderingContext2D[JC] def strokeRect(x: Double, y: Double, w: Double, h: Double): Unit
11261135
CanvasRenderingContext2D[JC] var strokeStyle: js.Any
11271136
CanvasRenderingContext2D[JC] def strokeText(text: String, x: Double, y: Double, maxWidth: Double?): Unit
@@ -16627,6 +16636,17 @@ ParentNode[JT] def children: HTMLCollection[Element]
1662716636
ParentNode[JT] def firstElementChild: Element
1662816637
ParentNode[JT] def lastElementChild: Element
1662916638
ParentNode[JT] def replaceChildren(nodes: Node | String*): Unit
16639+
Path2D[JC] def addPath(path: Path2D): Unit
16640+
Path2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double): Unit
16641+
Path2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit
16642+
Path2D[JC] def arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double): Unit
16643+
Path2D[JC] def bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double): Unit
16644+
Path2D[JC] def closePath(): Unit
16645+
Path2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean?): Unit
16646+
Path2D[JC] def lineTo(x: Double, y: Double): Unit
16647+
Path2D[JC] def moveTo(x: Double, y: Double): Unit
16648+
Path2D[JC] def quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double): Unit
16649+
Path2D[JC] def rect(x: Double, y: Double, w: Double, h: Double): Unit
1663016650
Pbkdf2Params[JT] val hash: HashAlgorithmIdentifier
1663116651
Pbkdf2Params[JT] val iterations: Double
1663216652
Pbkdf2Params[JT] val name: String

api-reports/2_13.txt

Lines changed: 26 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1070,25 +1070,32 @@ CacheStorage[JT] def has(cacheName: String): js.Promise[Boolean]
10701070
CacheStorage[JT] def keys(): js.Promise[js.Array[String]]
10711071
CacheStorage[JT] def `match`(request: RequestInfo, options: CacheQueryOptions?): js.Promise[js.Any]
10721072
CacheStorage[JT] def open(cacheName: String): js.Promise[Cache]
1073+
CanvasFillRule[JT]
1074+
CanvasFillRule[SO] val evenodd: CanvasFillRule
1075+
CanvasFillRule[SO] val nonzero: CanvasFillRule
10731076
CanvasGradient[JC] def addColorStop(offset: Double, color: String): Unit
10741077
CanvasPattern[JC]
10751078
CanvasProxy[JT] def setContext(context: RenderingContext): Unit
10761079
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double): Unit
1077-
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean): Unit
1080+
CanvasRenderingContext2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit
10781081
CanvasRenderingContext2D[JC] def arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double): Unit
10791082
CanvasRenderingContext2D[JC] def beginPath(): Unit
10801083
CanvasRenderingContext2D[JC] def bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double): Unit
10811084
CanvasRenderingContext2D[JC] var canvas: HTMLCanvasElement
10821085
CanvasRenderingContext2D[JC] def clearRect(x: Double, y: Double, w: Double, h: Double): Unit
1083-
CanvasRenderingContext2D[JC] def clip(fillRule: String?): Unit
1086+
CanvasRenderingContext2D[JC] def clip(fillRule: CanvasFillRule?): Unit
1087+
CanvasRenderingContext2D[JC] def clip(path: Path2D): Unit
1088+
CanvasRenderingContext2D[JC] def clip(path: Path2D, fillRule: CanvasFillRule): Unit
10841089
CanvasRenderingContext2D[JC] def closePath(): Unit
10851090
CanvasRenderingContext2D[JC] def createImageData(imageDataOrSw: js.Any, sh: Double?): ImageData
10861091
CanvasRenderingContext2D[JC] def createLinearGradient(x0: Double, y0: Double, x1: Double, y1: Double): CanvasGradient
10871092
CanvasRenderingContext2D[JC] def createPattern(image: HTMLElement, repetition: String): CanvasPattern
10881093
CanvasRenderingContext2D[JC] def createRadialGradient(x0: Double, y0: Double, r0: Double, x1: Double, y1: Double, r1: Double): CanvasGradient
10891094
CanvasRenderingContext2D[JC] def drawImage(image: HTMLElement, offsetX: Double, offsetY: Double, width: Double?, height: Double?, canvasOffsetX: Double?, canvasOffsetY: Double?, canvasImageWidth: Double?, canvasImageHeight: Double?): Unit
1090-
CanvasRenderingContext2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, anticlockwise: Boolean?): Unit
1091-
CanvasRenderingContext2D[JC] def fill(): Unit
1095+
CanvasRenderingContext2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean?): Unit
1096+
CanvasRenderingContext2D[JC] def fill(fillRule: CanvasFillRule?): Unit
1097+
CanvasRenderingContext2D[JC] def fill(path: Path2D): Unit
1098+
CanvasRenderingContext2D[JC] def fill(path: Path2D, fillRule: CanvasFillRule): Unit
10921099
CanvasRenderingContext2D[JC] def fillRect(x: Double, y: Double, w: Double, h: Double): Unit
10931100
CanvasRenderingContext2D[JC] var fillStyle: js.Any
10941101
CanvasRenderingContext2D[JC] def fillText(text: String, x: Double, y: Double, maxWidth: Double?): Unit
@@ -1098,8 +1105,9 @@ CanvasRenderingContext2D[JC] def getLineDash(): js.Array[Double]
10981105
CanvasRenderingContext2D[JC] var globalAlpha: Double
10991106
CanvasRenderingContext2D[JC] var globalCompositeOperation: String
11001107
CanvasRenderingContext2D[JC] var imageSmoothingEnabled: Boolean
1101-
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double): Boolean
1102-
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double, fillRule: String): Boolean
1108+
CanvasRenderingContext2D[JC] def isPointInPath(path: Path2D, x: Double, y: Double): Boolean
1109+
CanvasRenderingContext2D[JC] def isPointInPath(path: Path2D, x: Double, y: Double, fillRule: CanvasFillRule): Boolean
1110+
CanvasRenderingContext2D[JC] def isPointInPath(x: Double, y: Double, fillRule: CanvasFillRule?): Boolean
11031111
CanvasRenderingContext2D[JC] var lineCap: String
11041112
CanvasRenderingContext2D[JC] var lineDashOffset: Double
11051113
CanvasRenderingContext2D[JC] var lineJoin: String
@@ -1122,6 +1130,7 @@ CanvasRenderingContext2D[JC] var shadowColor: String
11221130
CanvasRenderingContext2D[JC] var shadowOffsetX: Double
11231131
CanvasRenderingContext2D[JC] var shadowOffsetY: Double
11241132
CanvasRenderingContext2D[JC] def stroke(): Unit
1133+
CanvasRenderingContext2D[JC] def stroke(path: Path2D): Unit
11251134
CanvasRenderingContext2D[JC] def strokeRect(x: Double, y: Double, w: Double, h: Double): Unit
11261135
CanvasRenderingContext2D[JC] var strokeStyle: js.Any
11271136
CanvasRenderingContext2D[JC] def strokeText(text: String, x: Double, y: Double, maxWidth: Double?): Unit
@@ -16627,6 +16636,17 @@ ParentNode[JT] def children: HTMLCollection[Element]
1662716636
ParentNode[JT] def firstElementChild: Element
1662816637
ParentNode[JT] def lastElementChild: Element
1662916638
ParentNode[JT] def replaceChildren(nodes: Node | String*): Unit
16639+
Path2D[JC] def addPath(path: Path2D): Unit
16640+
Path2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double): Unit
16641+
Path2D[JC] def arc(x: Double, y: Double, radius: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean): Unit
16642+
Path2D[JC] def arcTo(x1: Double, y1: Double, x2: Double, y2: Double, radius: Double): Unit
16643+
Path2D[JC] def bezierCurveTo(cp1x: Double, cp1y: Double, cp2x: Double, cp2y: Double, x: Double, y: Double): Unit
16644+
Path2D[JC] def closePath(): Unit
16645+
Path2D[JC] def ellipse(x: Double, y: Double, radiusX: Double, radiusY: Double, rotation: Double, startAngle: Double, endAngle: Double, counterclockwise: Boolean?): Unit
16646+
Path2D[JC] def lineTo(x: Double, y: Double): Unit
16647+
Path2D[JC] def moveTo(x: Double, y: Double): Unit
16648+
Path2D[JC] def quadraticCurveTo(cpx: Double, cpy: Double, x: Double, y: Double): Unit
16649+
Path2D[JC] def rect(x: Double, y: Double, w: Double, h: Double): Unit
1663016650
Pbkdf2Params[JT] val hash: HashAlgorithmIdentifier
1663116651
Pbkdf2Params[JT] val iterations: Double
1663216652
Pbkdf2Params[JT] val name: String
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
@js.native
6+
sealed trait CanvasFillRule extends js.Any
7+
8+
object CanvasFillRule {
9+
10+
val nonzero: CanvasFillRule = "nonzero".asInstanceOf[CanvasFillRule]
11+
12+
val evenodd: CanvasFillRule = "evenodd".asInstanceOf[CanvasFillRule]
13+
14+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package org.scalajs.dom
2+
3+
import scala.scalajs.js
4+
5+
opaque type CanvasFillRule <: String = String
6+
7+
object CanvasFillRule {
8+
9+
val nonzero: CanvasFillRule = "nonzero"
10+
11+
val evenodd: CanvasFillRule = "evenodd"
12+
13+
}

0 commit comments

Comments
 (0)