Introduce PointerEvent-related definitions

* Resolves https://youtrack.jetbrains.com/issue/KT-23932
 * Backed by review https://upsource.jetbrains.com/kotlin/branch/KT-23932-POINTER-EVENT-FROM-REMOTE-IDL
This commit is contained in:
Shagen Ogandzhanian
2018-12-12 14:50:03 +01:00
parent 2d49268a0b
commit 44da3c89b7
17 changed files with 233 additions and 9 deletions
@@ -14,6 +14,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -14,6 +14,7 @@ import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -14,6 +14,7 @@ import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -14,6 +14,7 @@ import org.khronos.webgl.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -74,6 +75,16 @@ public external open class Document : Node, GlobalEventHandlers, DocumentAndElem
open val documentElement: Element?
open val scrollingElement: Element?
open val styleSheets: StyleSheetList
override var ongotpointercapture: ((Event) -> dynamic)?
override var onlostpointercapture: ((Event) -> dynamic)?
override var onpointerdown: ((Event) -> dynamic)?
override var onpointermove: ((Event) -> dynamic)?
override var onpointerup: ((Event) -> dynamic)?
override var onpointercancel: ((Event) -> dynamic)?
override var onpointerover: ((Event) -> dynamic)?
override var onpointerout: ((Event) -> dynamic)?
override var onpointerenter: ((Event) -> dynamic)?
override var onpointerleave: ((Event) -> dynamic)?
override var onabort: ((Event) -> dynamic)?
override var onblur: ((Event) -> dynamic)?
override var oncancel: ((Event) -> dynamic)?
@@ -2125,6 +2136,16 @@ public inline fun PromiseRejectionEventInit(promise: Promise<Any?>?, reason: Any
* Exposes the JavaScript [GlobalEventHandlers](https://developer.mozilla.org/en/docs/Web/API/GlobalEventHandlers) to Kotlin
*/
public external interface GlobalEventHandlers {
var ongotpointercapture: ((Event) -> dynamic)?
var onlostpointercapture: ((Event) -> dynamic)?
var onpointerdown: ((Event) -> dynamic)?
var onpointermove: ((Event) -> dynamic)?
var onpointerup: ((Event) -> dynamic)?
var onpointercancel: ((Event) -> dynamic)?
var onpointerover: ((Event) -> dynamic)?
var onpointerout: ((Event) -> dynamic)?
var onpointerenter: ((Event) -> dynamic)?
var onpointerleave: ((Event) -> dynamic)?
var onabort: ((Event) -> dynamic)?
var onblur: ((Event) -> dynamic)?
var oncancel: ((Event) -> dynamic)?
@@ -2237,6 +2258,7 @@ public external interface WindowOrWorkerGlobalScope {
*/
public external abstract class Navigator : NavigatorID, NavigatorLanguage, NavigatorOnLine, NavigatorContentUtils, NavigatorCookies, NavigatorPlugins, NavigatorConcurrentHardware {
open val serviceWorker: ServiceWorkerContainer
open val maxTouchPoints: Int
fun vibrate(pattern: dynamic): Boolean
}
@@ -3199,6 +3221,9 @@ public external abstract class Element : Node, ParentNode, NonDocumentTypeChildN
open val clientWidth: Int
open val clientHeight: Int
fun requestFullscreen(): Promise<Unit>
fun setPointerCapture(pointerId: Int): Unit
fun releasePointerCapture(pointerId: Int): Unit
fun hasPointerCapture(pointerId: Int): Boolean
fun insertAdjacentHTML(position: String, text: String): Unit
fun hasAttributes(): Boolean
fun getAttributeNames(): Array<String>
@@ -14,6 +14,7 @@ import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -0,0 +1,119 @@
/*
* Copyright 2010-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license
* that can be found in the license/LICENSE.txt file.
*/
// NOTE: THIS FILE IS AUTO-GENERATED, DO NOT EDIT!
// See libraries/tools/idl2k for details
@file:Suppress("NESTED_CLASS_IN_EXTERNAL_INTERFACE")
package org.w3c.dom.pointerevents
import kotlin.js.*
import org.khronos.webgl.*
import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
import org.w3c.notifications.*
import org.w3c.performance.*
import org.w3c.workers.*
import org.w3c.xhr.*
public external interface PointerEventInit : MouseEventInit {
var pointerId: Int? /* = 0 */
get() = definedExternally
set(value) = definedExternally
var width: Double? /* = 1.0 */
get() = definedExternally
set(value) = definedExternally
var height: Double? /* = 1.0 */
get() = definedExternally
set(value) = definedExternally
var pressure: Float? /* = 0f */
get() = definedExternally
set(value) = definedExternally
var tangentialPressure: Float? /* = 0f */
get() = definedExternally
set(value) = definedExternally
var tiltX: Int? /* = 0 */
get() = definedExternally
set(value) = definedExternally
var tiltY: Int? /* = 0 */
get() = definedExternally
set(value) = definedExternally
var twist: Int? /* = 0 */
get() = definedExternally
set(value) = definedExternally
var pointerType: String? /* = "" */
get() = definedExternally
set(value) = definedExternally
var isPrimary: Boolean? /* = false */
get() = definedExternally
set(value) = definedExternally
}
@kotlin.internal.InlineOnly
public inline fun PointerEventInit(pointerId: Int? = 0, width: Double? = 1.0, height: Double? = 1.0, pressure: Float? = 0f, tangentialPressure: Float? = 0f, tiltX: Int? = 0, tiltY: Int? = 0, twist: Int? = 0, pointerType: String? = "", isPrimary: Boolean? = false, screenX: Int? = 0, screenY: Int? = 0, clientX: Int? = 0, clientY: Int? = 0, button: Short? = 0, buttons: Short? = 0, relatedTarget: EventTarget? = null, ctrlKey: Boolean? = false, shiftKey: Boolean? = false, altKey: Boolean? = false, metaKey: Boolean? = false, modifierAltGraph: Boolean? = false, modifierCapsLock: Boolean? = false, modifierFn: Boolean? = false, modifierFnLock: Boolean? = false, modifierHyper: Boolean? = false, modifierNumLock: Boolean? = false, modifierScrollLock: Boolean? = false, modifierSuper: Boolean? = false, modifierSymbol: Boolean? = false, modifierSymbolLock: Boolean? = false, view: Window? = null, detail: Int? = 0, bubbles: Boolean? = false, cancelable: Boolean? = false, composed: Boolean? = false): PointerEventInit {
val o = js("({})")
o["pointerId"] = pointerId
o["width"] = width
o["height"] = height
o["pressure"] = pressure
o["tangentialPressure"] = tangentialPressure
o["tiltX"] = tiltX
o["tiltY"] = tiltY
o["twist"] = twist
o["pointerType"] = pointerType
o["isPrimary"] = isPrimary
o["screenX"] = screenX
o["screenY"] = screenY
o["clientX"] = clientX
o["clientY"] = clientY
o["button"] = button
o["buttons"] = buttons
o["relatedTarget"] = relatedTarget
o["ctrlKey"] = ctrlKey
o["shiftKey"] = shiftKey
o["altKey"] = altKey
o["metaKey"] = metaKey
o["modifierAltGraph"] = modifierAltGraph
o["modifierCapsLock"] = modifierCapsLock
o["modifierFn"] = modifierFn
o["modifierFnLock"] = modifierFnLock
o["modifierHyper"] = modifierHyper
o["modifierNumLock"] = modifierNumLock
o["modifierScrollLock"] = modifierScrollLock
o["modifierSuper"] = modifierSuper
o["modifierSymbol"] = modifierSymbol
o["modifierSymbolLock"] = modifierSymbolLock
o["view"] = view
o["detail"] = detail
o["bubbles"] = bubbles
o["cancelable"] = cancelable
o["composed"] = composed
return o
}
/**
* Exposes the JavaScript [PointerEvent](https://developer.mozilla.org/en/docs/Web/API/PointerEvent) to Kotlin
*/
public external open class PointerEvent(type: String, eventInitDict: PointerEventInit = definedExternally) : MouseEvent {
open val pointerId: Int
open val width: Double
open val height: Double
open val pressure: Float
open val tangentialPressure: Float
open val tiltX: Int
open val tiltY: Int
open val twist: Int
open val pointerType: String
open val isPrimary: Boolean
}
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
import org.w3c.files.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.fetch.*
import org.w3c.files.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.files.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*
@@ -15,6 +15,7 @@ import org.w3c.dom.*
import org.w3c.dom.css.*
import org.w3c.dom.events.*
import org.w3c.dom.parsing.*
import org.w3c.dom.pointerevents.*
import org.w3c.dom.svg.*
import org.w3c.dom.url.*
import org.w3c.fetch.*