emitUIEvent function
Implementation
void emitUIEvent(
int contextId, Pointer<NativeBindingObject> nativeBindingObject, Event event) {
if (KrakenController.getControllerOfJSContextId(contextId) == null) {
return;
}
DartDispatchEvent dispatchEvent = nativeBindingObject.ref.dispatchEvent.asFunction();
Pointer<Void> rawEvent = event.toRaw().cast<Void>();
bool isCustomEvent = event is CustomEvent;
Pointer<NativeString> eventTypeString = stringToNativeString(event.type);
// @TODO: Make Event inherit BindingObject to pass value from bridge to dart.
int propagationStopped = dispatchEvent(contextId, nativeBindingObject, eventTypeString, rawEvent, isCustomEvent ? 1 : 0);
event.propagationStopped = propagationStopped == 1 ? true : false;
freeNativeString(eventTypeString);
}