ui/cocoa/EventData.m

changeset 102
64ded9f6a6c6
parent 100
d2bd73d28ff1
equal deleted inserted replaced
101:7b3a3130be44 102:64ded9f6a6c6
26 * POSSIBILITY OF SUCH DAMAGE. 26 * POSSIBILITY OF SUCH DAMAGE.
27 */ 27 */
28 28
29 #import "EventData.h" 29 #import "EventData.h"
30 30
31 #import <objc/runtime.h>
32
33
31 @implementation EventData 34 @implementation EventData
32 35
33 - (EventData*)init:(ui_callback)cb userdata:(void*)userdata { 36 - (EventData*)init:(ui_callback)cb userdata:(void*)userdata {
34 _callback = cb; 37 _callback = cb;
35 _userdata = userdata; 38 _userdata = userdata;
36 return self; 39 return self;
37 } 40 }
38 41
39 - (void)handleEvent:(id)sender { 42 - (void)handleEvent:(id)sender {
40 if(self.callback) { 43 if(_callback) {
41 UiEvent event; 44 UiEvent event;
42 event.obj = self.obj; 45 event.obj = self.obj;
43 event.window = event.obj->window; 46 event.window = event.obj->window;
44 event.document = event.obj->ctx->document; 47 event.document = event.obj->ctx->document;
45 event.eventdata = self.data; 48 event.eventdata = self.data;
46 event.intval = self.value; 49 event.intval = self.value;
47 self.callback(&event, self.userdata); 50 self.callback(&event, self.userdata);
48 } 51 }
49 } 52 }
50 53
54 - (void)handleEventWithEventData:(id)sender {
55 UiEvent event;
56 event.obj = self.obj;
57 event.window = event.obj->window;
58 event.document = event.obj->ctx->document;
59 event.eventdata = NULL;
60 event.intval = 0;
61 if(_get_eventdata) {
62 _get_eventdata(sender, _var, &event.eventdata, &event.intval);
63 }
64 if(self.callback) {
65 self.callback(&event, self.userdata);
66 }
67 }
51 68
52 @end 69 @end

mercurial