From 752f51395cf095523183c1e4fc4cefc34ecb82dd Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 22 Aug 2022 16:26:02 +0200 Subject: [PATCH 1/9] Initial stab at Image face + HTMLImageElement --- .../scala/org/scalajs/dom/HTMLImageElement.scala | 14 ++++++++++++++ dom/src/main/scala/org/scalajs/dom/Image.scala | 10 ++++++++++ 2 files changed, 24 insertions(+) create mode 100644 dom/src/main/scala/org/scalajs/dom/Image.scala diff --git a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala index b24cbe82f..86897d2ac 100644 --- a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala +++ b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala @@ -25,9 +25,23 @@ abstract class HTMLImageElement extends HTMLElement { /** Reflects the alt HTML attribute, indicating fallback context for the image. */ var alt: String = js.native + /** Allows you to specify the layout width of the image for each of a list of media conditions. */ + var sizes: String = js.native + /** Reflects the src HTML attribute, containing the URL of the image. */ var src: String = js.native + /** srcset is a string which identifies one or more image candidate strings, separated using commas (,) each + * specifying image resources to use under given circumstances. + * + * Each image candidate string contains an image URL and an optional width or pixel density descriptor that indicates + * the conditions under which that candidate should be used instead of the image specified by the src property. + */ + var srcset: String = js.native + + /** Indicates the URL of the image which is currently presented in the element it represents. */ + def currentSrc: String = js.native + /** Reflects the usemap HTML attribute, containing a partial URL of a map element. */ var useMap: String = js.native diff --git a/dom/src/main/scala/org/scalajs/dom/Image.scala b/dom/src/main/scala/org/scalajs/dom/Image.scala new file mode 100644 index 000000000..1ee421377 --- /dev/null +++ b/dom/src/main/scala/org/scalajs/dom/Image.scala @@ -0,0 +1,10 @@ +package org.scalajs.dom + +/** Image creates a new HTMLImageElement instance. It is functionally equivalent to document.createElement('img'). + * + * @param width + * The width of the image (i.e., the value for the width attribute). + * @param height + * The height of the image (i.e., the value for the height attribute). + */ +class Image(width: Int, height: Int) extends HTMLImageElement From df93df638a4956a52f3205173de9034901f21c78 Mon Sep 17 00:00:00 2001 From: zetashift Date: Thu, 1 Sep 2022 17:35:04 +0200 Subject: [PATCH 2/9] prePR api-reports and small additions to HTMLImageElement --- api-reports/2_12.txt | 223 ++++++++++++++++++ api-reports/2_13.txt | 223 ++++++++++++++++++ .../org/scalajs/dom/HTMLImageElement.scala | 15 +- 3 files changed, 459 insertions(+), 2 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 9a4935c94..3292ffeb5 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -6647,6 +6647,7 @@ HTMLImageElement[JC] def complete: Boolean HTMLImageElement[JC] def contains(child: HTMLElement): Boolean HTMLImageElement[JC] def contains(otherNode: Node): Boolean HTMLImageElement[JC] var contentEditable: String +HTMLImageElement[JC] def currentSrc: String HTMLImageElement[JC] def dataset: js.Dictionary[String] HTMLImageElement[JC] var dir: String HTMLImageElement[JC] def dispatchEvent(evt: Event): Boolean @@ -6687,6 +6688,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element +HTMLImageElement[JC] var loading: String HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -6819,8 +6821,10 @@ HTMLImageElement[JC] def setAttributeNS(namespaceURI: String, qualifiedName: Str HTMLImageElement[JC] def setAttributeNode(newAttr: Attr): Attr HTMLImageElement[JC] def setAttributeNodeNS(newAttr: Attr): Attr HTMLImageElement[JC] def shadowRoot: ShadowRoot +HTMLImageElement[JC] var sizes: String HTMLImageElement[JC] var spellcheck: Boolean HTMLImageElement[JC] var src: String +HTMLImageElement[JC] var srcset: String HTMLImageElement[JC] def style: CSSStyleDeclaration HTMLImageElement[JC] def style_ = (value: CSSStyleDeclaration): Unit HTMLImageElement[JC] def style_ = (value: String): Unit @@ -6830,6 +6834,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int +HTMLImageElement[JC] def x: Long +HTMLImageElement[JC] def y: Long HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -14793,6 +14799,223 @@ IDBVersionChangeEventInit[JT] var composed: js.UndefOr[Boolean] IDBVersionChangeEventInit[JT] var newVersion: js.UndefOr[java.lang.Double] IDBVersionChangeEventInit[JT] var oldVersion: js.UndefOr[Double] IDBVersionChangeEventInit[JT] var scoped: js.UndefOr[Boolean] +Image[JC] var accessKey: String +Image[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit +Image[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit +Image[JC] def after(nodes: Node | String*): Unit +Image[JC] var alt: String +Image[JC] def append(nodes: Node | String*): Unit +Image[JC] def appendChild(newChild: Node): Node +Image[JC] def attachShadow(init: ShadowRootInit): ShadowRoot +Image[JC] def attributes: NamedNodeMap +Image[JC] def baseURI: String +Image[JC] def before(nodes: Node | String*): Unit +Image[JC] def blur(): Unit +Image[JC] def childElementCount: Int +Image[JC] def childNodes: NodeList[Node] +Image[JC] def children: HTMLCollection[Element] +Image[JC] var classList: DOMTokenList +Image[JC] var className: String +Image[JC] def click(): Unit +Image[JC] def clientHeight: Int +Image[JC] def clientLeft: Int +Image[JC] def clientTop: Int +Image[JC] def clientWidth: Int +Image[JC] def cloneNode(deep: Boolean?): Node +Image[JC] def compareDocumentPosition(other: Node): Int +Image[JC] def complete: Boolean +Image[JC] def contains(child: HTMLElement): Boolean +Image[JC] def contains(otherNode: Node): Boolean +Image[JC] var contentEditable: String +Image[JC] def currentSrc: String +Image[JC] def dataset: js.Dictionary[String] +Image[JC] var dir: String +Image[JC] def dispatchEvent(evt: Event): Boolean +Image[JC] var draggable: Boolean +Image[JC] var filters: Object +Image[JC] def firstChild: Node +Image[JC] def firstElementChild: Element +Image[JC] def focus(): Unit +Image[JC] def getAttribute(name: String): String +Image[JC] def getAttributeNS(namespaceURI: String, localName: String): String +Image[JC] def getAttributeNode(name: String): Attr +Image[JC] def getAttributeNodeNS(namespaceURI: String, localName: String): Attr +Image[JC] def getBoundingClientRect(): DOMRect +Image[JC] def getClientRects(): DOMRectList +Image[JC] def getElementsByClassName(classNames: String): HTMLCollection[Element] +Image[JC] def getElementsByTagName(name: String): HTMLCollection[Element] +Image[JC] def getElementsByTagNameNS(namespaceURI: String, localName: String): HTMLCollection[Element] +Image[JC] var gotpointercapture: js.Function1[PointerEvent, _] +Image[JC] def hasAttribute(name: String): Boolean +Image[JC] def hasAttributeNS(namespaceURI: String, localName: String): Boolean +Image[JC] def hasAttributes(): Boolean +Image[JC] def hasChildNodes(): Boolean +Image[JC] var height: Int +Image[JC] var href: String +Image[JC] var id: String +Image[JC] var innerHTML: String +Image[JC] var innerText: String +Image[JC] def insertAdjacentElement(position: String, element: Element): Element +Image[JC] def insertAdjacentHTML(where: String, html: String): Unit +Image[JC] def insertBefore(newChild: Node, refChild: Node): Node +Image[JC] def isConnected: Boolean +Image[JC] def isContentEditable: Boolean +Image[JC] def isDefaultNamespace(namespaceURI: String): Boolean +Image[JC] def isEqualNode(arg: Node): Boolean +Image[JC] var isMap: Boolean +Image[JC] def isSameNode(other: Node): Boolean +Image[JC] def isSupported(feature: String, version: String): Boolean +Image[JC] var lang: String +Image[JC] def lastChild: Node +Image[JC] def lastElementChild: Element +Image[JC] var loading: String +Image[JC] def localName: String +Image[JC] def lookupNamespaceURI(prefix: String): String +Image[JC] def lookupPrefix(namespaceURI: String): String +Image[JC] var lostpointercapture: js.Function1[PointerEvent, _] +Image[JC] def matches(selector: String): Boolean +Image[JC] def namespaceURI: String +Image[JC] var naturalHeight: Int +Image[JC] var naturalWidth: Int +Image[JC] def nextElementSibling: Element +Image[JC] def nextSibling: Node +Image[JC] def nodeName: String +Image[JC] def nodeType: Int +Image[JC] var nodeValue: String +Image[JC] def normalize(): Unit +Image[JC] def offsetHeight: Double +Image[JC] def offsetLeft: Double +Image[JC] def offsetParent: Element +Image[JC] def offsetTop: Double +Image[JC] def offsetWidth: Double +Image[JC] var onabort: js.Function1[UIEvent, _] +Image[JC] var onactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforeactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforecopy: js.Function1[DragEvent, _] +Image[JC] var onbeforecut: js.Function1[DragEvent, _] +Image[JC] var onbeforedeactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforepaste: js.Function1[DragEvent, _] +Image[JC] var onblur: js.Function1[FocusEvent, _] +Image[JC] var oncanplay: js.Function1[Event, _] +Image[JC] var oncanplaythrough: js.Function1[Event, _] +Image[JC] var onchange: js.Function1[Event, _] +Image[JC] var onclick: js.Function1[MouseEvent, _] +Image[JC] var oncontextmenu: js.Function1[MouseEvent, _] +Image[JC] var oncopy: js.Function1[ClipboardEvent, _] +Image[JC] var oncuechange: js.Function1[Event, _] +Image[JC] var oncut: js.Function1[ClipboardEvent, _] +Image[JC] var ondblclick: js.Function1[MouseEvent, _] +Image[JC] var ondeactivate: js.Function1[UIEvent, _] +Image[JC] var ondrag: js.Function1[DragEvent, _] +Image[JC] var ondragend: js.Function1[DragEvent, _] +Image[JC] var ondragenter: js.Function1[DragEvent, _] +Image[JC] var ondragleave: js.Function1[DragEvent, _] +Image[JC] var ondragover: js.Function1[DragEvent, _] +Image[JC] var ondragstart: js.Function1[DragEvent, _] +Image[JC] var ondrop: js.Function1[DragEvent, _] +Image[JC] var ondurationchange: js.Function1[Event, _] +Image[JC] var onemptied: js.Function1[Event, _] +Image[JC] var onended: js.Function1[Event, _] +Image[JC] var onfocus: js.Function1[FocusEvent, _] +Image[JC] var onfocusin: js.Function1[FocusEvent, _] +Image[JC] var onfocusout: js.Function1[FocusEvent, _] +Image[JC] var onfullscreenchange: js.Function1[Event, _] +Image[JC] var onfullscreenerror: js.Function1[Event, _] +Image[JC] var onhelp: js.Function1[Event, _] +Image[JC] var oninput: js.Function1[Event, _] +Image[JC] var onkeydown: js.Function1[KeyboardEvent, _] +Image[JC] var onkeypress: js.Function1[KeyboardEvent, _] +Image[JC] var onkeyup: js.Function1[KeyboardEvent, _] +Image[JC] var onload: js.Function1[Event, _] +Image[JC] var onloadeddata: js.Function1[Event, _] +Image[JC] var onloadedmetadata: js.Function1[Event, _] +Image[JC] var onloadstart: js.Function1[Event, _] +Image[JC] var onmousedown: js.Function1[MouseEvent, _] +Image[JC] var onmouseenter: js.Function1[MouseEvent, _] +Image[JC] var onmouseleave: js.Function1[MouseEvent, _] +Image[JC] var onmousemove: js.Function1[MouseEvent, _] +Image[JC] var onmouseout: js.Function1[MouseEvent, _] +Image[JC] var onmouseover: js.Function1[MouseEvent, _] +Image[JC] var onmouseup: js.Function1[MouseEvent, _] +Image[JC] var onmousewheel: js.Function1[WheelEvent, _] +Image[JC] var onpaste: js.Function1[ClipboardEvent, _] +Image[JC] var onpause: js.Function1[Event, _] +Image[JC] var onplay: js.Function1[Event, _] +Image[JC] var onplaying: js.Function1[Event, _] +Image[JC] var onpointercancel: js.Function1[PointerEvent, _] +Image[JC] var onpointerdown: js.Function1[PointerEvent, _] +Image[JC] var onpointerenter: js.Function1[PointerEvent, _] +Image[JC] var onpointerleave: js.Function1[PointerEvent, _] +Image[JC] var onpointermove: js.Function1[PointerEvent, _] +Image[JC] var onpointerout: js.Function1[PointerEvent, _] +Image[JC] var onpointerover: js.Function1[PointerEvent, _] +Image[JC] var onpointerup: js.Function1[PointerEvent, _] +Image[JC] var onprogress: js.Function1[js.Any, _] +Image[JC] var onratechange: js.Function1[Event, _] +Image[JC] var onreadystatechange: js.Function1[Event, _] +Image[JC] var onreset: js.Function1[Event, _] +Image[JC] var onscroll: js.Function1[UIEvent, _] +Image[JC] var onseeked: js.Function1[Event, _] +Image[JC] var onseeking: js.Function1[Event, _] +Image[JC] var onselect: js.Function1[UIEvent, _] +Image[JC] var onselectstart: js.Function1[Event, _] +Image[JC] var onstalled: js.Function1[Event, _] +Image[JC] var onsubmit: js.Function1[Event, _] +Image[JC] var onsuspend: js.Function1[Event, _] +Image[JC] var ontimeupdate: js.Function1[Event, _] +Image[JC] var onvolumechange: js.Function1[Event, _] +Image[JC] var onwaiting: js.Function1[Event, _] +Image[JC] var onwheel: js.Function1[WheelEvent, _] +Image[JC] var outerHTML: String +Image[JC] def ownerDocument: Document +Image[JC] override def ownerDocument: HTMLDocument +Image[JC] var parentElement: HTMLElement +Image[JC] def parentNode: Node +Image[JC] def prefix: String +Image[JC] def prepend(nodes: Node | String*): Unit +Image[JC] def previousElementSibling: Element +Image[JC] def previousSibling: Node +Image[JC] def querySelector(selectors: String): Element +Image[JC] def querySelectorAll(selectors: String): NodeList[Element] +Image[JC] var readyState: js.Any +Image[JC] var recordNumber: js.Any +Image[JC] def remove(): Unit +Image[JC] def removeAttribute(name: String): Unit +Image[JC] def removeAttributeNS(namespaceURI: String, localName: String): Unit +Image[JC] def removeAttributeNode(oldAttr: Attr): Attr +Image[JC] def removeChild(oldChild: Node): Node +Image[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit +Image[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit +Image[JC] def replaceChild(newChild: Node, oldChild: Node): Node +Image[JC] def replaceChildren(nodes: Node | String*): Unit +Image[JC] def replaceWith(nodes: Node | String*): Unit +Image[JC] def requestFullscreen(options: FullscreenOptions?): js.Promise[Unit] +Image[JC] def requestPointerLock(): Unit +Image[JC] def scrollHeight: Int +Image[JC] def scrollIntoView(top: Boolean?): Unit +Image[JC] var scrollLeft: Double +Image[JC] var scrollTop: Double +Image[JC] def scrollWidth: Int +Image[JC] def setAttribute(name: String, value: String): Unit +Image[JC] def setAttributeNS(namespaceURI: String, qualifiedName: String, value: String): Unit +Image[JC] def setAttributeNode(newAttr: Attr): Attr +Image[JC] def setAttributeNodeNS(newAttr: Attr): Attr +Image[JC] def shadowRoot: ShadowRoot +Image[JC] var sizes: String +Image[JC] var spellcheck: Boolean +Image[JC] var src: String +Image[JC] var srcset: String +Image[JC] def style: CSSStyleDeclaration +Image[JC] def style_ = (value: CSSStyleDeclaration): Unit +Image[JC] def style_ = (value: String): Unit +Image[JC] var tabIndex: Int +Image[JC] def tagName: String +Image[JC] var textContent: String +Image[JC] var title: String +Image[JC] var useMap: String +Image[JC] var width: Int +Image[JC] def x: Long +Image[JC] def y: Long ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 9a4935c94..3292ffeb5 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -6647,6 +6647,7 @@ HTMLImageElement[JC] def complete: Boolean HTMLImageElement[JC] def contains(child: HTMLElement): Boolean HTMLImageElement[JC] def contains(otherNode: Node): Boolean HTMLImageElement[JC] var contentEditable: String +HTMLImageElement[JC] def currentSrc: String HTMLImageElement[JC] def dataset: js.Dictionary[String] HTMLImageElement[JC] var dir: String HTMLImageElement[JC] def dispatchEvent(evt: Event): Boolean @@ -6687,6 +6688,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element +HTMLImageElement[JC] var loading: String HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -6819,8 +6821,10 @@ HTMLImageElement[JC] def setAttributeNS(namespaceURI: String, qualifiedName: Str HTMLImageElement[JC] def setAttributeNode(newAttr: Attr): Attr HTMLImageElement[JC] def setAttributeNodeNS(newAttr: Attr): Attr HTMLImageElement[JC] def shadowRoot: ShadowRoot +HTMLImageElement[JC] var sizes: String HTMLImageElement[JC] var spellcheck: Boolean HTMLImageElement[JC] var src: String +HTMLImageElement[JC] var srcset: String HTMLImageElement[JC] def style: CSSStyleDeclaration HTMLImageElement[JC] def style_ = (value: CSSStyleDeclaration): Unit HTMLImageElement[JC] def style_ = (value: String): Unit @@ -6830,6 +6834,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int +HTMLImageElement[JC] def x: Long +HTMLImageElement[JC] def y: Long HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -14793,6 +14799,223 @@ IDBVersionChangeEventInit[JT] var composed: js.UndefOr[Boolean] IDBVersionChangeEventInit[JT] var newVersion: js.UndefOr[java.lang.Double] IDBVersionChangeEventInit[JT] var oldVersion: js.UndefOr[Double] IDBVersionChangeEventInit[JT] var scoped: js.UndefOr[Boolean] +Image[JC] var accessKey: String +Image[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit +Image[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit +Image[JC] def after(nodes: Node | String*): Unit +Image[JC] var alt: String +Image[JC] def append(nodes: Node | String*): Unit +Image[JC] def appendChild(newChild: Node): Node +Image[JC] def attachShadow(init: ShadowRootInit): ShadowRoot +Image[JC] def attributes: NamedNodeMap +Image[JC] def baseURI: String +Image[JC] def before(nodes: Node | String*): Unit +Image[JC] def blur(): Unit +Image[JC] def childElementCount: Int +Image[JC] def childNodes: NodeList[Node] +Image[JC] def children: HTMLCollection[Element] +Image[JC] var classList: DOMTokenList +Image[JC] var className: String +Image[JC] def click(): Unit +Image[JC] def clientHeight: Int +Image[JC] def clientLeft: Int +Image[JC] def clientTop: Int +Image[JC] def clientWidth: Int +Image[JC] def cloneNode(deep: Boolean?): Node +Image[JC] def compareDocumentPosition(other: Node): Int +Image[JC] def complete: Boolean +Image[JC] def contains(child: HTMLElement): Boolean +Image[JC] def contains(otherNode: Node): Boolean +Image[JC] var contentEditable: String +Image[JC] def currentSrc: String +Image[JC] def dataset: js.Dictionary[String] +Image[JC] var dir: String +Image[JC] def dispatchEvent(evt: Event): Boolean +Image[JC] var draggable: Boolean +Image[JC] var filters: Object +Image[JC] def firstChild: Node +Image[JC] def firstElementChild: Element +Image[JC] def focus(): Unit +Image[JC] def getAttribute(name: String): String +Image[JC] def getAttributeNS(namespaceURI: String, localName: String): String +Image[JC] def getAttributeNode(name: String): Attr +Image[JC] def getAttributeNodeNS(namespaceURI: String, localName: String): Attr +Image[JC] def getBoundingClientRect(): DOMRect +Image[JC] def getClientRects(): DOMRectList +Image[JC] def getElementsByClassName(classNames: String): HTMLCollection[Element] +Image[JC] def getElementsByTagName(name: String): HTMLCollection[Element] +Image[JC] def getElementsByTagNameNS(namespaceURI: String, localName: String): HTMLCollection[Element] +Image[JC] var gotpointercapture: js.Function1[PointerEvent, _] +Image[JC] def hasAttribute(name: String): Boolean +Image[JC] def hasAttributeNS(namespaceURI: String, localName: String): Boolean +Image[JC] def hasAttributes(): Boolean +Image[JC] def hasChildNodes(): Boolean +Image[JC] var height: Int +Image[JC] var href: String +Image[JC] var id: String +Image[JC] var innerHTML: String +Image[JC] var innerText: String +Image[JC] def insertAdjacentElement(position: String, element: Element): Element +Image[JC] def insertAdjacentHTML(where: String, html: String): Unit +Image[JC] def insertBefore(newChild: Node, refChild: Node): Node +Image[JC] def isConnected: Boolean +Image[JC] def isContentEditable: Boolean +Image[JC] def isDefaultNamespace(namespaceURI: String): Boolean +Image[JC] def isEqualNode(arg: Node): Boolean +Image[JC] var isMap: Boolean +Image[JC] def isSameNode(other: Node): Boolean +Image[JC] def isSupported(feature: String, version: String): Boolean +Image[JC] var lang: String +Image[JC] def lastChild: Node +Image[JC] def lastElementChild: Element +Image[JC] var loading: String +Image[JC] def localName: String +Image[JC] def lookupNamespaceURI(prefix: String): String +Image[JC] def lookupPrefix(namespaceURI: String): String +Image[JC] var lostpointercapture: js.Function1[PointerEvent, _] +Image[JC] def matches(selector: String): Boolean +Image[JC] def namespaceURI: String +Image[JC] var naturalHeight: Int +Image[JC] var naturalWidth: Int +Image[JC] def nextElementSibling: Element +Image[JC] def nextSibling: Node +Image[JC] def nodeName: String +Image[JC] def nodeType: Int +Image[JC] var nodeValue: String +Image[JC] def normalize(): Unit +Image[JC] def offsetHeight: Double +Image[JC] def offsetLeft: Double +Image[JC] def offsetParent: Element +Image[JC] def offsetTop: Double +Image[JC] def offsetWidth: Double +Image[JC] var onabort: js.Function1[UIEvent, _] +Image[JC] var onactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforeactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforecopy: js.Function1[DragEvent, _] +Image[JC] var onbeforecut: js.Function1[DragEvent, _] +Image[JC] var onbeforedeactivate: js.Function1[UIEvent, _] +Image[JC] var onbeforepaste: js.Function1[DragEvent, _] +Image[JC] var onblur: js.Function1[FocusEvent, _] +Image[JC] var oncanplay: js.Function1[Event, _] +Image[JC] var oncanplaythrough: js.Function1[Event, _] +Image[JC] var onchange: js.Function1[Event, _] +Image[JC] var onclick: js.Function1[MouseEvent, _] +Image[JC] var oncontextmenu: js.Function1[MouseEvent, _] +Image[JC] var oncopy: js.Function1[ClipboardEvent, _] +Image[JC] var oncuechange: js.Function1[Event, _] +Image[JC] var oncut: js.Function1[ClipboardEvent, _] +Image[JC] var ondblclick: js.Function1[MouseEvent, _] +Image[JC] var ondeactivate: js.Function1[UIEvent, _] +Image[JC] var ondrag: js.Function1[DragEvent, _] +Image[JC] var ondragend: js.Function1[DragEvent, _] +Image[JC] var ondragenter: js.Function1[DragEvent, _] +Image[JC] var ondragleave: js.Function1[DragEvent, _] +Image[JC] var ondragover: js.Function1[DragEvent, _] +Image[JC] var ondragstart: js.Function1[DragEvent, _] +Image[JC] var ondrop: js.Function1[DragEvent, _] +Image[JC] var ondurationchange: js.Function1[Event, _] +Image[JC] var onemptied: js.Function1[Event, _] +Image[JC] var onended: js.Function1[Event, _] +Image[JC] var onfocus: js.Function1[FocusEvent, _] +Image[JC] var onfocusin: js.Function1[FocusEvent, _] +Image[JC] var onfocusout: js.Function1[FocusEvent, _] +Image[JC] var onfullscreenchange: js.Function1[Event, _] +Image[JC] var onfullscreenerror: js.Function1[Event, _] +Image[JC] var onhelp: js.Function1[Event, _] +Image[JC] var oninput: js.Function1[Event, _] +Image[JC] var onkeydown: js.Function1[KeyboardEvent, _] +Image[JC] var onkeypress: js.Function1[KeyboardEvent, _] +Image[JC] var onkeyup: js.Function1[KeyboardEvent, _] +Image[JC] var onload: js.Function1[Event, _] +Image[JC] var onloadeddata: js.Function1[Event, _] +Image[JC] var onloadedmetadata: js.Function1[Event, _] +Image[JC] var onloadstart: js.Function1[Event, _] +Image[JC] var onmousedown: js.Function1[MouseEvent, _] +Image[JC] var onmouseenter: js.Function1[MouseEvent, _] +Image[JC] var onmouseleave: js.Function1[MouseEvent, _] +Image[JC] var onmousemove: js.Function1[MouseEvent, _] +Image[JC] var onmouseout: js.Function1[MouseEvent, _] +Image[JC] var onmouseover: js.Function1[MouseEvent, _] +Image[JC] var onmouseup: js.Function1[MouseEvent, _] +Image[JC] var onmousewheel: js.Function1[WheelEvent, _] +Image[JC] var onpaste: js.Function1[ClipboardEvent, _] +Image[JC] var onpause: js.Function1[Event, _] +Image[JC] var onplay: js.Function1[Event, _] +Image[JC] var onplaying: js.Function1[Event, _] +Image[JC] var onpointercancel: js.Function1[PointerEvent, _] +Image[JC] var onpointerdown: js.Function1[PointerEvent, _] +Image[JC] var onpointerenter: js.Function1[PointerEvent, _] +Image[JC] var onpointerleave: js.Function1[PointerEvent, _] +Image[JC] var onpointermove: js.Function1[PointerEvent, _] +Image[JC] var onpointerout: js.Function1[PointerEvent, _] +Image[JC] var onpointerover: js.Function1[PointerEvent, _] +Image[JC] var onpointerup: js.Function1[PointerEvent, _] +Image[JC] var onprogress: js.Function1[js.Any, _] +Image[JC] var onratechange: js.Function1[Event, _] +Image[JC] var onreadystatechange: js.Function1[Event, _] +Image[JC] var onreset: js.Function1[Event, _] +Image[JC] var onscroll: js.Function1[UIEvent, _] +Image[JC] var onseeked: js.Function1[Event, _] +Image[JC] var onseeking: js.Function1[Event, _] +Image[JC] var onselect: js.Function1[UIEvent, _] +Image[JC] var onselectstart: js.Function1[Event, _] +Image[JC] var onstalled: js.Function1[Event, _] +Image[JC] var onsubmit: js.Function1[Event, _] +Image[JC] var onsuspend: js.Function1[Event, _] +Image[JC] var ontimeupdate: js.Function1[Event, _] +Image[JC] var onvolumechange: js.Function1[Event, _] +Image[JC] var onwaiting: js.Function1[Event, _] +Image[JC] var onwheel: js.Function1[WheelEvent, _] +Image[JC] var outerHTML: String +Image[JC] def ownerDocument: Document +Image[JC] override def ownerDocument: HTMLDocument +Image[JC] var parentElement: HTMLElement +Image[JC] def parentNode: Node +Image[JC] def prefix: String +Image[JC] def prepend(nodes: Node | String*): Unit +Image[JC] def previousElementSibling: Element +Image[JC] def previousSibling: Node +Image[JC] def querySelector(selectors: String): Element +Image[JC] def querySelectorAll(selectors: String): NodeList[Element] +Image[JC] var readyState: js.Any +Image[JC] var recordNumber: js.Any +Image[JC] def remove(): Unit +Image[JC] def removeAttribute(name: String): Unit +Image[JC] def removeAttributeNS(namespaceURI: String, localName: String): Unit +Image[JC] def removeAttributeNode(oldAttr: Attr): Attr +Image[JC] def removeChild(oldChild: Node): Node +Image[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit +Image[JC] def removeEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], useCapture: Boolean?): Unit +Image[JC] def replaceChild(newChild: Node, oldChild: Node): Node +Image[JC] def replaceChildren(nodes: Node | String*): Unit +Image[JC] def replaceWith(nodes: Node | String*): Unit +Image[JC] def requestFullscreen(options: FullscreenOptions?): js.Promise[Unit] +Image[JC] def requestPointerLock(): Unit +Image[JC] def scrollHeight: Int +Image[JC] def scrollIntoView(top: Boolean?): Unit +Image[JC] var scrollLeft: Double +Image[JC] var scrollTop: Double +Image[JC] def scrollWidth: Int +Image[JC] def setAttribute(name: String, value: String): Unit +Image[JC] def setAttributeNS(namespaceURI: String, qualifiedName: String, value: String): Unit +Image[JC] def setAttributeNode(newAttr: Attr): Attr +Image[JC] def setAttributeNodeNS(newAttr: Attr): Attr +Image[JC] def shadowRoot: ShadowRoot +Image[JC] var sizes: String +Image[JC] var spellcheck: Boolean +Image[JC] var src: String +Image[JC] var srcset: String +Image[JC] def style: CSSStyleDeclaration +Image[JC] def style_ = (value: CSSStyleDeclaration): Unit +Image[JC] def style_ = (value: String): Unit +Image[JC] var tabIndex: Int +Image[JC] def tagName: String +Image[JC] var textContent: String +Image[JC] var title: String +Image[JC] var useMap: String +Image[JC] var width: Int +Image[JC] def x: Long +Image[JC] def y: Long ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double diff --git a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala index 86897d2ac..9e6868525 100644 --- a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala +++ b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala @@ -28,11 +28,16 @@ abstract class HTMLImageElement extends HTMLElement { /** Allows you to specify the layout width of the image for each of a list of media conditions. */ var sizes: String = js.native + /** A string whose value provides a hint to the user agent on how to handle the loading of the image which is + * currently outside the window's visual viewport. + */ + var loading: String = js.native + /** Reflects the src HTML attribute, containing the URL of the image. */ var src: String = js.native - /** srcset is a string which identifies one or more image candidate strings, separated using commas (,) each - * specifying image resources to use under given circumstances. + /** Identifies one or more image candidate strings, separated using commas (,) each specifying image resources to use + * under given circumstances. * * Each image candidate string contains an image URL and an optional width or pixel density descriptor that indicates * the conditions under which that candidate should be used instead of the image specified by the src property. @@ -60,4 +65,10 @@ abstract class HTMLImageElement extends HTMLElement { def complete: Boolean = js.native var onload: js.Function1[Event, _] = js.native + + /** Indicates the x-coordinate of the element's left border edge relative to the root element's origin. */ + def x: Long = js.native + + /** Indicates the y-coordinate of the element's top border edge relative to the root element's origin. */ + def y: Long = js.native } From c4da105f56fabaf37085f1cf14f7722675c5863b Mon Sep 17 00:00:00 2001 From: zetashift Date: Wed, 14 Sep 2022 22:59:01 +0200 Subject: [PATCH 3/9] Add loading attribute enum --- api-reports/2_12.txt | 3 +++ api-reports/2_13.txt | 3 +++ .../org/scalajs/dom/ImageLoadingMode.scala.scala | 14 ++++++++++++++ .../scala-3/org/scalajs/dom/ImageLoadingMode.scala | 13 +++++++++++++ 4 files changed, 33 insertions(+) create mode 100644 dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala create mode 100644 dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 3292ffeb5..ae72546b2 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -15025,6 +15025,9 @@ ImageCapture[JC] val track: MediaStreamTrack ImageData[JC] def data: js.Array[Int] ImageData[JC] def height: Int ImageData[JC] def width: Int +ImageLoadingMode[JT] +ImageLoadingMode[SO] val eager: ImageLoadingMode +ImageLoadingMode[SO] val `lazy`: ImageLoadingMode InputEvent[JC] def bubbles: Boolean InputEvent[JC] def cancelBubble: Boolean InputEvent[JC] def cancelable: Boolean diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 3292ffeb5..ae72546b2 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -15025,6 +15025,9 @@ ImageCapture[JC] val track: MediaStreamTrack ImageData[JC] def data: js.Array[Int] ImageData[JC] def height: Int ImageData[JC] def width: Int +ImageLoadingMode[JT] +ImageLoadingMode[SO] val eager: ImageLoadingMode +ImageLoadingMode[SO] val `lazy`: ImageLoadingMode InputEvent[JC] def bubbles: Boolean InputEvent[JC] def cancelBubble: Boolean InputEvent[JC] def cancelable: Boolean diff --git a/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala b/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala new file mode 100644 index 000000000..5d4e43460 --- /dev/null +++ b/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala @@ -0,0 +1,14 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** + * Possible values for the loading type of an `HTMLImageElement`: https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading + */ +@js.native +sealed trait ImageLoadingMode extends js.Any + +object ImageLoadingMode { + val eager: ImageLoadingMode = "eager".asInstanceOf[ImageLoadingMode] + val `lazy`: ImageLoadingMode = "lazy".asInstanceOf[ImageLoadingMode] +} diff --git a/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala b/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala new file mode 100644 index 000000000..47be1b855 --- /dev/null +++ b/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala @@ -0,0 +1,13 @@ +package org.scalajs.dom + +import scala.scalajs.js + +/** + * Possible values for the loading type of an `HTMLImageElement`: https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading + */ +opaque type ImageLoadingMode <: String = String + +object ImageLoadingMode { + val eager: ImageLoadingMode = "eager" + val `lazy`: ImageLoadingMode = "lazy" +} From 8db5e32172ff7f2e28ff09ebe3bf9e9df0735a9a Mon Sep 17 00:00:00 2001 From: zetashift Date: Wed, 14 Sep 2022 23:08:28 +0200 Subject: [PATCH 4/9] A slightly better doc comment and remove redundant filetype --- .../{ImageLoadingMode.scala.scala => ImageLoadingMode.scala} | 3 ++- dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) rename dom/src/main/scala-2/org/scalajs/dom/{ImageLoadingMode.scala.scala => ImageLoadingMode.scala} (65%) diff --git a/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala b/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala similarity index 65% rename from dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala rename to dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala index 5d4e43460..31a54452a 100644 --- a/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala.scala +++ b/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala @@ -3,7 +3,8 @@ package org.scalajs.dom import scala.scalajs.js /** - * Possible values for the loading type of an `HTMLImageElement`: https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading + * Possible values for an HTMLImageElement loading attribute + * [[https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading]] */ @js.native sealed trait ImageLoadingMode extends js.Any diff --git a/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala b/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala index 47be1b855..c2225a383 100644 --- a/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala +++ b/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala @@ -3,7 +3,8 @@ package org.scalajs.dom import scala.scalajs.js /** - * Possible values for the loading type of an `HTMLImageElement`: https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading + * Possible values for an HTMLImageElement loading attribute + * [[https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading]] */ opaque type ImageLoadingMode <: String = String From e5611731ef0f4358e19a7c94b48650fb3dc9c887 Mon Sep 17 00:00:00 2001 From: zetashift Date: Wed, 14 Sep 2022 23:29:29 +0200 Subject: [PATCH 5/9] Actually use the loading enum --- dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala index 9e6868525..fa9eacbc3 100644 --- a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala +++ b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala @@ -31,7 +31,7 @@ abstract class HTMLImageElement extends HTMLElement { /** A string whose value provides a hint to the user agent on how to handle the loading of the image which is * currently outside the window's visual viewport. */ - var loading: String = js.native + var loading: ImageLoadingMode = js.native /** Reflects the src HTML attribute, containing the URL of the image. */ var src: String = js.native From e5596c107df861350bd68b558ebf271f66fb25fe Mon Sep 17 00:00:00 2001 From: zetashift Date: Wed, 14 Sep 2022 23:37:38 +0200 Subject: [PATCH 6/9] api-reports and multiple constructors for Image --- api-reports/2_12.txt | 4 ++-- api-reports/2_13.txt | 4 ++-- dom/src/main/scala/org/scalajs/dom/Image.scala | 5 ++++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index ae72546b2..899e6f0d7 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -6688,7 +6688,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element -HTMLImageElement[JC] var loading: String +HTMLImageElement[JC] var loading: ImageLoadingMode HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -14868,7 +14868,7 @@ Image[JC] def isSupported(feature: String, version: String): Boolean Image[JC] var lang: String Image[JC] def lastChild: Node Image[JC] def lastElementChild: Element -Image[JC] var loading: String +Image[JC] var loading: ImageLoadingMode Image[JC] def localName: String Image[JC] def lookupNamespaceURI(prefix: String): String Image[JC] def lookupPrefix(namespaceURI: String): String diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index ae72546b2..899e6f0d7 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -6688,7 +6688,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element -HTMLImageElement[JC] var loading: String +HTMLImageElement[JC] var loading: ImageLoadingMode HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -14868,7 +14868,7 @@ Image[JC] def isSupported(feature: String, version: String): Boolean Image[JC] var lang: String Image[JC] def lastChild: Node Image[JC] def lastElementChild: Element -Image[JC] var loading: String +Image[JC] var loading: ImageLoadingMode Image[JC] def localName: String Image[JC] def lookupNamespaceURI(prefix: String): String Image[JC] def lookupPrefix(namespaceURI: String): String diff --git a/dom/src/main/scala/org/scalajs/dom/Image.scala b/dom/src/main/scala/org/scalajs/dom/Image.scala index 1ee421377..333c8707a 100644 --- a/dom/src/main/scala/org/scalajs/dom/Image.scala +++ b/dom/src/main/scala/org/scalajs/dom/Image.scala @@ -7,4 +7,7 @@ package org.scalajs.dom * @param height * The height of the image (i.e., the value for the height attribute). */ -class Image(width: Int, height: Int) extends HTMLImageElement +class Image(width: Int, height: Int) extends HTMLImageElement { + def this(width: Int) = this(width, 0) + def this() = this(0, 0) +} From e1393c50a7c5ceec8345b47932bb570868449b4d Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 23 Jan 2023 21:27:47 +0100 Subject: [PATCH 7/9] Rename ImageLoadingMode to LazyLoadingState and change Longs to Double for Image --- .../{ImageLoadingMode.scala => LazyLoadingState.scala} | 8 ++++---- .../{ImageLoadingMode.scala => LazyLoadingState.scala} | 8 ++++---- dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala | 6 +++--- 3 files changed, 11 insertions(+), 11 deletions(-) rename dom/src/main/scala-2/org/scalajs/dom/{ImageLoadingMode.scala => LazyLoadingState.scala} (50%) rename dom/src/main/scala-3/org/scalajs/dom/{ImageLoadingMode.scala => LazyLoadingState.scala} (57%) diff --git a/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala b/dom/src/main/scala-2/org/scalajs/dom/LazyLoadingState.scala similarity index 50% rename from dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala rename to dom/src/main/scala-2/org/scalajs/dom/LazyLoadingState.scala index 31a54452a..13271bf85 100644 --- a/dom/src/main/scala-2/org/scalajs/dom/ImageLoadingMode.scala +++ b/dom/src/main/scala-2/org/scalajs/dom/LazyLoadingState.scala @@ -7,9 +7,9 @@ import scala.scalajs.js * [[https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading]] */ @js.native -sealed trait ImageLoadingMode extends js.Any +sealed trait LazyLoadingState extends js.Any -object ImageLoadingMode { - val eager: ImageLoadingMode = "eager".asInstanceOf[ImageLoadingMode] - val `lazy`: ImageLoadingMode = "lazy".asInstanceOf[ImageLoadingMode] +object LazyLoadingState { + val eager: LazyLoadingState = "eager".asInstanceOf[LazyLoadingState] + val `lazy`: LazyLoadingState = "lazy".asInstanceOf[LazyLoadingState] } diff --git a/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala b/dom/src/main/scala-3/org/scalajs/dom/LazyLoadingState.scala similarity index 57% rename from dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala rename to dom/src/main/scala-3/org/scalajs/dom/LazyLoadingState.scala index c2225a383..f7944f771 100644 --- a/dom/src/main/scala-3/org/scalajs/dom/ImageLoadingMode.scala +++ b/dom/src/main/scala-3/org/scalajs/dom/LazyLoadingState.scala @@ -6,9 +6,9 @@ import scala.scalajs.js * Possible values for an HTMLImageElement loading attribute * [[https://html.spec.whatwg.org/multipage/embedded-content.html#dom-img-loading]] */ -opaque type ImageLoadingMode <: String = String +opaque type LazyLoadingState <: String = String -object ImageLoadingMode { - val eager: ImageLoadingMode = "eager" - val `lazy`: ImageLoadingMode = "lazy" +object LazyLoadingState { + val eager: LazyLoadingState = "eager" + val `lazy`: LazyLoadingState = "lazy" } diff --git a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala index fa9eacbc3..63ca0a54b 100644 --- a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala +++ b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala @@ -31,7 +31,7 @@ abstract class HTMLImageElement extends HTMLElement { /** A string whose value provides a hint to the user agent on how to handle the loading of the image which is * currently outside the window's visual viewport. */ - var loading: ImageLoadingMode = js.native + var loading: LazyLoadingState = js.native /** Reflects the src HTML attribute, containing the URL of the image. */ var src: String = js.native @@ -67,8 +67,8 @@ abstract class HTMLImageElement extends HTMLElement { var onload: js.Function1[Event, _] = js.native /** Indicates the x-coordinate of the element's left border edge relative to the root element's origin. */ - def x: Long = js.native + def x: Double = js.native /** Indicates the y-coordinate of the element's top border edge relative to the root element's origin. */ - def y: Long = js.native + def y: Double = js.native } From 33fff43ccdc69971348d6a1be06ebdb7ee084f73 Mon Sep 17 00:00:00 2001 From: zetashift Date: Mon, 23 Jan 2023 21:45:13 +0100 Subject: [PATCH 8/9] Update api-reports --- api-reports/2_12.txt | 19 ++++++++++--------- api-reports/2_13.txt | 19 ++++++++++--------- 2 files changed, 20 insertions(+), 18 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 67053dda0..862f6ac5c 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -6733,7 +6733,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element -HTMLImageElement[JC] var loading: ImageLoadingMode +HTMLImageElement[JC] var loading: LazyLoadingState HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -6879,8 +6879,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int -HTMLImageElement[JC] def x: Long -HTMLImageElement[JC] def y: Long +HTMLImageElement[JC] def x: Double +HTMLImageElement[JC] def y: Double HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -14907,6 +14907,7 @@ Image[JC] def clientLeft: Int Image[JC] def clientTop: Int Image[JC] def clientWidth: Int Image[JC] def cloneNode(deep: Boolean?): Node +Image[JC] def closest(selector: String): Element Image[JC] def compareDocumentPosition(other: Node): Int Image[JC] def complete: Boolean Image[JC] def contains(child: HTMLElement): Boolean @@ -14953,7 +14954,7 @@ Image[JC] def isSupported(feature: String, version: String): Boolean Image[JC] var lang: String Image[JC] def lastChild: Node Image[JC] def lastElementChild: Element -Image[JC] var loading: ImageLoadingMode +Image[JC] var loading: LazyLoadingState Image[JC] def localName: String Image[JC] def lookupNamespaceURI(prefix: String): String Image[JC] def lookupPrefix(namespaceURI: String): String @@ -15099,8 +15100,8 @@ Image[JC] var textContent: String Image[JC] var title: String Image[JC] var useMap: String Image[JC] var width: Int -Image[JC] def x: Long -Image[JC] def y: Long +Image[JC] def x: Double +Image[JC] def y: Double ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double @@ -15110,9 +15111,6 @@ ImageCapture[JC] val track: MediaStreamTrack ImageData[JC] def data: js.Array[Int] ImageData[JC] def height: Int ImageData[JC] def width: Int -ImageLoadingMode[JT] -ImageLoadingMode[SO] val eager: ImageLoadingMode -ImageLoadingMode[SO] val `lazy`: ImageLoadingMode InputEvent[JC] def bubbles: Boolean InputEvent[JC] def cancelBubble: Boolean InputEvent[JC] def cancelable: Boolean @@ -15702,6 +15700,9 @@ KeyboardEventInit[JT] var repeat: js.UndefOr[Boolean] KeyboardEventInit[JT] var scoped: js.UndefOr[Boolean] KeyboardEventInit[JT] var shiftKey: js.UndefOr[Boolean] KeyboardEventInit[JT] var view: js.UndefOr[Window] +LazyLoadingState[JT] +LazyLoadingState[SO] val eager: LazyLoadingState +LazyLoadingState[SO] val `lazy`: LazyLoadingState LinkStyle[JT] def sheet: StyleSheet Location[JT] def assign(url: String): Unit Location[JT] var hash: String diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 67053dda0..862f6ac5c 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -6733,7 +6733,7 @@ HTMLImageElement[JC] def isSupported(feature: String, version: String): Boolean HTMLImageElement[JC] var lang: String HTMLImageElement[JC] def lastChild: Node HTMLImageElement[JC] def lastElementChild: Element -HTMLImageElement[JC] var loading: ImageLoadingMode +HTMLImageElement[JC] var loading: LazyLoadingState HTMLImageElement[JC] def localName: String HTMLImageElement[JC] def lookupNamespaceURI(prefix: String): String HTMLImageElement[JC] def lookupPrefix(namespaceURI: String): String @@ -6879,8 +6879,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int -HTMLImageElement[JC] def x: Long -HTMLImageElement[JC] def y: Long +HTMLImageElement[JC] def x: Double +HTMLImageElement[JC] def y: Double HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -14907,6 +14907,7 @@ Image[JC] def clientLeft: Int Image[JC] def clientTop: Int Image[JC] def clientWidth: Int Image[JC] def cloneNode(deep: Boolean?): Node +Image[JC] def closest(selector: String): Element Image[JC] def compareDocumentPosition(other: Node): Int Image[JC] def complete: Boolean Image[JC] def contains(child: HTMLElement): Boolean @@ -14953,7 +14954,7 @@ Image[JC] def isSupported(feature: String, version: String): Boolean Image[JC] var lang: String Image[JC] def lastChild: Node Image[JC] def lastElementChild: Element -Image[JC] var loading: ImageLoadingMode +Image[JC] var loading: LazyLoadingState Image[JC] def localName: String Image[JC] def lookupNamespaceURI(prefix: String): String Image[JC] def lookupPrefix(namespaceURI: String): String @@ -15099,8 +15100,8 @@ Image[JC] var textContent: String Image[JC] var title: String Image[JC] var useMap: String Image[JC] var width: Int -Image[JC] def x: Long -Image[JC] def y: Long +Image[JC] def x: Double +Image[JC] def y: Double ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double @@ -15110,9 +15111,6 @@ ImageCapture[JC] val track: MediaStreamTrack ImageData[JC] def data: js.Array[Int] ImageData[JC] def height: Int ImageData[JC] def width: Int -ImageLoadingMode[JT] -ImageLoadingMode[SO] val eager: ImageLoadingMode -ImageLoadingMode[SO] val `lazy`: ImageLoadingMode InputEvent[JC] def bubbles: Boolean InputEvent[JC] def cancelBubble: Boolean InputEvent[JC] def cancelable: Boolean @@ -15702,6 +15700,9 @@ KeyboardEventInit[JT] var repeat: js.UndefOr[Boolean] KeyboardEventInit[JT] var scoped: js.UndefOr[Boolean] KeyboardEventInit[JT] var shiftKey: js.UndefOr[Boolean] KeyboardEventInit[JT] var view: js.UndefOr[Window] +LazyLoadingState[JT] +LazyLoadingState[SO] val eager: LazyLoadingState +LazyLoadingState[SO] val `lazy`: LazyLoadingState LinkStyle[JT] def sheet: StyleSheet Location[JT] def assign(url: String): Unit Location[JT] var hash: String From 581c94209367e3d8ae00e725f948e979ada7dbd5 Mon Sep 17 00:00:00 2001 From: zetashift Date: Tue, 24 Jan 2023 04:09:28 +0100 Subject: [PATCH 9/9] Change double to Int --- api-reports/2_12.txt | 8 ++++---- api-reports/2_13.txt | 8 ++++---- dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/api-reports/2_12.txt b/api-reports/2_12.txt index 862f6ac5c..195081324 100644 --- a/api-reports/2_12.txt +++ b/api-reports/2_12.txt @@ -6879,8 +6879,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int -HTMLImageElement[JC] def x: Double -HTMLImageElement[JC] def y: Double +HTMLImageElement[JC] def x: Int +HTMLImageElement[JC] def y: Int HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -15100,8 +15100,8 @@ Image[JC] var textContent: String Image[JC] var title: String Image[JC] var useMap: String Image[JC] var width: Int -Image[JC] def x: Double -Image[JC] def y: Double +Image[JC] def x: Int +Image[JC] def y: Int ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double diff --git a/api-reports/2_13.txt b/api-reports/2_13.txt index 862f6ac5c..195081324 100644 --- a/api-reports/2_13.txt +++ b/api-reports/2_13.txt @@ -6879,8 +6879,8 @@ HTMLImageElement[JC] var textContent: String HTMLImageElement[JC] var title: String HTMLImageElement[JC] var useMap: String HTMLImageElement[JC] var width: Int -HTMLImageElement[JC] def x: Double -HTMLImageElement[JC] def y: Double +HTMLImageElement[JC] def x: Int +HTMLImageElement[JC] def y: Int HTMLInputElement[JC] var accept: String HTMLInputElement[JC] var accessKey: String HTMLInputElement[JC] def addEventListener[T <: Event](`type`: String, listener: js.Function1[T, _], options: EventListenerOptions): Unit @@ -15100,8 +15100,8 @@ Image[JC] var textContent: String Image[JC] var title: String Image[JC] var useMap: String Image[JC] var width: Int -Image[JC] def x: Double -Image[JC] def y: Double +Image[JC] def x: Int +Image[JC] def y: Int ImageBitmap[JT] def close(): Unit ImageBitmap[JT] def height: Double ImageBitmap[JT] def width: Double diff --git a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala index 63ca0a54b..630ba551c 100644 --- a/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala +++ b/dom/src/main/scala/org/scalajs/dom/HTMLImageElement.scala @@ -67,8 +67,8 @@ abstract class HTMLImageElement extends HTMLElement { var onload: js.Function1[Event, _] = js.native /** Indicates the x-coordinate of the element's left border edge relative to the root element's origin. */ - def x: Double = js.native + def x: Int = js.native /** Indicates the y-coordinate of the element's top border edge relative to the root element's origin. */ - def y: Double = js.native + def y: Int = js.native }