package com.docvcapture.event import com.facebook.react.bridge.Arguments import com.facebook.react.bridge.WritableMap import com.facebook.react.uimanager.events.Event import com.facebook.react.uimanager.events.RCTEventEmitter import com.facebook.react.uimanager.events.RCTModernEventEmitter @Suppress("OVERRIDE_DEPRECATION") class CaptureRegionChangedEvent(surfaceId: Int, viewTag: Int, private val captureRegion: String?) : Event(surfaceId, viewTag) { override fun getEventName(): String = EVENT_NAME override fun getEventData(): WritableMap = buildEvent() override fun dispatchModern(rctEventEmitter: RCTModernEventEmitter) { rctEventEmitter.receiveEvent( surfaceId, viewTag, eventName, canCoalesce(), coalescingKey.toInt(), buildEvent(), eventCategory ) } override fun dispatch(rctEventEmitter: RCTEventEmitter) { rctEventEmitter.receiveEvent( surfaceId, eventName, buildEvent() ) } private fun buildEvent(): WritableMap = Arguments.createMap().apply { putString("captureRegion", captureRegion) } companion object { const val EVENT_NAME = "onCaptureRegionChanged" } }