diff --git a/kotlin/CHANGELOG.md b/kotlin/CHANGELOG.md index 7c10ded6..93b085d2 100644 --- a/kotlin/CHANGELOG.md +++ b/kotlin/CHANGELOG.md @@ -4,6 +4,13 @@ All notable changes to the JujubaSVG Kotlin/Android library. --- +## 1.4.2 + +### Added +- `rootCoordinate` property to `NodeInfo` — provides root/window-level click coordinates via `event.x`/`event.y` alongside element-relative coordinates ([#112](https://github.com/CodandoTV/jujubaSVG/pull/112)) + +--- + ## 1.4.1 ### Changed diff --git a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/Const.kt b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/Const.kt index 3e1dd728..ab94b171 100644 --- a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/Const.kt +++ b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/Const.kt @@ -11,11 +11,15 @@ public object Const { const x = boundingClientRect.x const y = boundingClientRect.y - window.kmpJsBridge.callNative("onElementClicked",JSON.stringify({paramId: id, paramX: x, paramY: y}), + window.kmpJsBridge.callNative( + "onElementClicked", + JSON.stringify( + {paramId: id, paramX: x, paramY: y, rootX: event.x, rootY: event.y} + ), function (data) { console.log(event.target.id) } - ); + ); } """; } diff --git a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/NodeClicked.kt b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/NodeClicked.kt index 0a4c3c36..3d47c3d0 100644 --- a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/NodeClicked.kt +++ b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/NodeClicked.kt @@ -13,4 +13,10 @@ internal data class NodeClicked( @SerialName("paramY") val y: Float, + + @SerialName("rootX") + val rootX: Float, + + @SerialName("rootY") + val rootY: Float, ) diff --git a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/OnClickedJSMessageHandler.kt b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/OnClickedJSMessageHandler.kt index 9ee8d621..c59b3063 100644 --- a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/OnClickedJSMessageHandler.kt +++ b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/core/bridge/OnClickedJSMessageHandler.kt @@ -29,6 +29,10 @@ internal class OnClickedJSMessageHandler( coordinate = NodeCoordinate( x = nodeClicked.x, y = nodeClicked.y + ), + rootCoordinate = NodeCoordinate( + x = nodeClicked.rootX, + y = nodeClicked.rootY, ) ) ) diff --git a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/model/NodeInfo.kt b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/model/NodeInfo.kt index 7f46b4a8..a6128998 100644 --- a/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/model/NodeInfo.kt +++ b/kotlin/jujubasvg/src/commonMain/kotlin/com/github/codandotv/jujubasvg/model/NodeInfo.kt @@ -8,4 +8,5 @@ import androidx.compose.runtime.Stable data class NodeInfo( val id: String, val coordinate: NodeCoordinate, + val rootCoordinate: NodeCoordinate, ) diff --git a/kotlin/jujubasvg/version.properties b/kotlin/jujubasvg/version.properties index 0f8420a4..8a45f4ed 100644 --- a/kotlin/jujubasvg/version.properties +++ b/kotlin/jujubasvg/version.properties @@ -1 +1 @@ -VERSION=1.4.1 \ No newline at end of file +VERSION=1.4.2 \ No newline at end of file