--- a/ui/cocoa/EventData.m Mon Jan 06 22:22:55 2025 +0100 +++ b/ui/cocoa/EventData.m Tue Feb 25 21:11:00 2025 +0100 @@ -28,6 +28,9 @@ #import "EventData.h" +#import <objc/runtime.h> + + @implementation EventData - (EventData*)init:(ui_callback)cb userdata:(void*)userdata { @@ -37,7 +40,7 @@ } - (void)handleEvent:(id)sender { - if(self.callback) { + if(_callback) { UiEvent event; event.obj = self.obj; event.window = event.obj->window; @@ -48,5 +51,19 @@ } } +- (void)handleEventWithEventData:(id)sender { + UiEvent event; + event.obj = self.obj; + event.window = event.obj->window; + event.document = event.obj->ctx->document; + event.eventdata = NULL; + event.intval = 0; + if(_get_eventdata) { + _get_eventdata(sender, _var, &event.eventdata, &event.intval); + } + if(self.callback) { + self.callback(&event, self.userdata); + } +} @end