diff --git a/core/sys/wasm/js/events.odin b/core/sys/wasm/js/events.odin index 0d23277a7..0ef3e9970 100644 --- a/core/sys/wasm/js/events.odin +++ b/core/sys/wasm/js/events.odin @@ -313,14 +313,14 @@ foreign dom_lib { dispatch_custom_event :: proc(id: string, name: string, options := Event_Options{}) -> bool --- } -add_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture := false, prevent_default := false, stop_prop := false, stop_imm_prop := false) -> bool { +add_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), flags := Listener_Flags{}) -> bool { @(default_calling_convention="contextless") foreign dom_lib { @(link_name="add_event_listener") _add_event_listener :: proc(id: string, name: string, name_code: Event_Kind, user_data: rawptr, callback: proc "odin" (Event), use_capture: bool, prevent_default: bool, stop_prop: bool, stop_imm_prop: bool) -> bool --- } // TODO: Pointer_Lock_Change etc related stuff for all different browsers - return _add_event_listener(id, event_kind_string[kind], kind, user_data, callback, use_capture, prevent_default, stop_prop, stop_imm_prop) + return _add_event_listener(id, event_kind_string[kind], kind, user_data, callback, .Use_Capture in flags, .Prevent_Default in flags, .Stop_Propagation in flags, .Stop_Immediate_Propagation in flags) } remove_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, callback: proc(e: Event)) -> bool { @@ -332,13 +332,13 @@ remove_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, c return _remove_event_listener(id, event_kind_string[kind], user_data, callback) } -add_window_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture := false, prevent_default := false, stop_prop := false, stop_imm_prop := false) -> bool { +add_window_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), flags := Listener_Flags{}) -> bool { @(default_calling_convention="contextless") foreign dom_lib { @(link_name="add_window_event_listener") _add_window_event_listener :: proc(name: string, name_code: Event_Kind, user_data: rawptr, callback: proc "odin" (Event), use_capture: bool, prevent_default: bool, stop_prop: bool, stop_imm_prop: bool) -> bool --- } - return _add_window_event_listener(event_kind_string[kind], kind, user_data, callback, use_capture, prevent_default, stop_prop, stop_imm_prop) + return _add_window_event_listener(event_kind_string[kind], kind, user_data, callback, .Use_Capture in flags, .Prevent_Default in flags, .Stop_Propagation in flags, .Stop_Immediate_Propagation in flags) } remove_window_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event)) -> bool { @@ -357,13 +357,13 @@ remove_event_listener_from_event :: proc(e: Event) -> bool { return remove_event_listener(e.id, e.kind, e.user_data, e.callback) } -add_custom_event_listener :: proc(id: string, name: string, user_data: rawptr, callback: proc(e: Event), use_capture := false, prevent_default := false, stop_prop := false, stop_imm_prop := false) -> bool { +add_custom_event_listener :: proc(id: string, name: string, user_data: rawptr, callback: proc(e: Event), flags := Listener_Flags{}) -> bool { @(default_calling_convention="contextless") foreign dom_lib { @(link_name="add_event_listener") _add_event_listener :: proc(id: string, name: string, name_code: Event_Kind, user_data: rawptr, callback: proc "odin" (Event), use_capture: bool, prevent_default: bool, stop_prop: bool, stop_imm_prop: bool) -> bool --- } - return _add_event_listener(id, name, .Custom, user_data, callback, use_capture, prevent_default, stop_prop, stop_imm_prop) + return _add_event_listener(id, name, .Custom, user_data, callback, .Use_Capture in flags, .Prevent_Default in flags, .Stop_Propagation in flags, .Stop_Immediate_Propagation in flags) } remove_custom_event_listener :: proc(id: string, name: string, user_data: rawptr, callback: proc(e: Event)) -> bool {