package core:sys/wasm/js

Warning: This was generated for -target:js_wasm32 and might not represent every target this package supports.

⌘K
Ctrl+K
or
/

    Types

    Delta_Mode ¶

    Delta_Mode :: enum u32 {
    	Pixel = 0, 
    	Line  = 1, 
    	Page  = 2, 
    }

    Event ¶

    Event :: struct {
    	kind:                Event_Kind,
    	target_kind:         Event_Target_Kind,
    	current_target_kind: Event_Target_Kind,
    	id:                  string,
    	timestamp:           f64,
    	phase:               Event_Phase,
    	options:             Event_Options,
    	is_composing:        bool,
    	is_trusted:          bool,
    	using data:          struct #raw_union #align (8) {
    		scroll:            struct {
    			delta: [2]f64,
    		},
    		visibility_change: struct {
    			is_visible: bool,
    		},
    		wheel:             struct {
    			delta:      [3]f64,
    			delta_mode: Delta_Mode,
    		},
    		key:               struct {
    			key:       string,
    			code:      string,
    			location:  Key_Location,
    			ctrl:      bool,
    			shift:     bool,
    			alt:       bool,
    			meta:      bool,
    			repeat:    bool,
    			char:      untyped rune,
    			_key_len:  untyped integer `fmt:"-"`,
    			_code_len: untyped integer `fmt:"-"`,
    			_key_buf:  [32]u8 `fmt:"-"`,
    			_code_buf: [32]u8 `fmt:"-"`,
    		},
    		mouse:             struct {
    			screen:   [2]i64,
    			client:   [2]i64,
    			offset:   [2]i64,
    			page:     [2]i64,
    			movement: [2]i64,
    			ctrl:     bool,
    			shift:    bool,
    			alt:      bool,
    			meta:     bool,
    			button:   i16,
    			buttons:  bit_set[untyped integer; u16],
    			pointer:  struct {
    				altitude_angle:       f64,
    				azimuth_angle:        f64,
    				persistent_device_id: untyped integer,
    				pointer_id:           untyped integer,
    				width:                untyped integer,
    				height:               untyped integer,
    				pressure:             f64,
    				tangential_pressure:  f64,
    				tilt:                 [2]f64,
    				twist:                f64,
    				pointer_type:         Pointer_Type,
    				is_primary:           bool,
    			},
    		},
    		gamepad:           Gamepad_State,
    	},
    	user_data:           rawptr,
    	callback:            proc(e: Event),
    }
    Related Procedures With Parameters

    Event_Kind ¶

    Event_Kind :: enum u32 {
    	Invalid, 
    	Load, 
    	Unload, 
    	Error, 
    	Resize, 
    	Visibility_Change, 
    	Fullscreen_Change, 
    	Fullscreen_Error, 
    	Click, 
    	Double_Click, 
    	Mouse_Move, 
    	Mouse_Over, 
    	Mouse_Out, 
    	Mouse_Up, 
    	Mouse_Down, 
    	Key_Up, 
    	Key_Down, 
    	Key_Press, 
    	Scroll, 
    	Wheel, 
    	Focus, 
    	Focus_In, 
    	Focus_Out, 
    	Submit, 
    	Blur, 
    	Change, 
    	Hash_Change, 
    	Select, 
    	Animation_Start, 
    	Animation_End, 
    	Animation_Iteration, 
    	Animation_Cancel, 
    	Copy, 
    	Cut, 
    	Paste, 
    	Pointer_Cancel, 
    	Pointer_Down, 
    	Pointer_Enter, 
    	Pointer_Leave, 
    	Pointer_Move, 
    	Pointer_Over, 
    	Pointer_Up, 
    	Got_Pointer_Capture, 
    	Lost_Pointer_Capture, 
    	Pointer_Lock_Change, 
    	Pointer_Lock_Error, 
    	Selection_Change, 
    	Selection_Start, 
    	Touch_Cancel, 
    	Touch_End, 
    	Touch_Move, 
    	Touch_Start, 
    	Transition_Start, 
    	Transition_End, 
    	Transition_Run, 
    	Transition_Cancel, 
    	Context_Menu, 
    	Gamepad_Connected, 
    	Gamepad_Disconnected, 
    	Custom, 
    }
    Related Procedures With Parameters

    Event_Option ¶

    Event_Option :: enum u8 {
    	Bubbles    = 0, 
    	Cancelable = 1, 
    	Composed   = 2, 
    }

    Event_Options ¶

    Event_Options :: distinct bit_set[Event_Option; u8]
    Related Procedures With Parameters

    Event_Phase ¶

    Event_Phase :: enum u8 {
    	None            = 0, 
    	Capturing_Phase = 1, 
    	At_Target       = 2, 
    	Bubbling_Phase  = 3, 
    }

    Event_Target_Kind ¶

    Event_Target_Kind :: enum u32 {
    	Element  = 0, 
    	Document = 1, 
    	Window   = 2, 
    }

    Gamepad_Button ¶

    Gamepad_Button :: struct {
    	value:   f64,
    	pressed: bool,
    	touched: bool,
    }

    Gamepad_State ¶

    Gamepad_State :: struct {
    	id:           string,
    	mapping:      string,
    	index:        untyped integer,
    	connected:    bool,
    	timestamp:    f64,
    	button_count: untyped integer,
    	axis_count:   untyped integer,
    	buttons:      [64]Gamepad_Button `fmt:"v,button_count"`,
    	axes:         [16]f64 `fmt:"v,axes_count"`,
    	_id_len:      untyped integer `fmt:"-"`,
    	_mapping_len: untyped integer `fmt:"-"`,
    	_id_buf:      [96]u8 `fmt:"-"`,
    	_mapping_buf: [64]u8 `fmt:"-"`,
    }
    Related Procedures With Parameters

    Key_Location ¶

    Key_Location :: enum u8 {
    	Standard = 0, 
    	Left     = 1, 
    	Right    = 2, 
    	Numpad   = 3, 
    }

    Pointer_Type ¶

    Pointer_Type :: enum u8 {
    	Mouse, 
    	Pen, 
    	Touch, 
    }

    Rect ¶

    Rect :: struct {
    	x:      f64,
    	y:      f64,
    	width:  f64,
    	height: f64,
    }
    Related Procedures With Returns

    Constants

    GAMEPAD_MAX_AXES ¶

    GAMEPAD_MAX_AXES :: 16

    GAMEPAD_MAX_BUTTONS ¶

    GAMEPAD_MAX_BUTTONS :: 64

    GAMEPAD_MAX_ID_SIZE ¶

    GAMEPAD_MAX_ID_SIZE :: 96

    GAMEPAD_MAX_MAPPING_SIZE ¶

    GAMEPAD_MAX_MAPPING_SIZE :: 64

    KEYBOARD_MAX_CODE_SIZE ¶

    KEYBOARD_MAX_CODE_SIZE :: 32

    KEYBOARD_MAX_KEY_SIZE ¶

    KEYBOARD_MAX_KEY_SIZE :: 32

    PAGE_SIZE ¶

    PAGE_SIZE :: 64 * 1024

    Variables

    event_kind_string ¶

    event_kind_string: [Event_Kind]string = …

    Procedures

    abort ¶

    abort :: proc "contextless" () ---

    add_custom_event_listener ¶

    add_custom_event_listener :: proc(id: string, name: string, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    add_document_event_listener ¶

    add_document_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    add_event_listener ¶

    add_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    add_window_event_listener ¶

    add_window_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    alert ¶

    alert :: proc "contextless" (msg: string) ---

    device_pixel_ratio ¶

    device_pixel_ratio :: proc "contextless" () -> f64 ---

    dispatch_custom_event ¶

    dispatch_custom_event :: proc "contextless" (id: string, name: string, options: Event_Options = Event_Options{}) -> bool ---

    do_event_callback ¶

    do_event_callback :: proc(user_data: rawptr, callback: proc(e: Event)) {…}

    evaluate ¶

    evaluate :: proc "contextless" (str: string) ---

    event_prevent_default ¶

    event_prevent_default :: proc "contextless" () ---

    event_stop_immediate_propagation ¶

    event_stop_immediate_propagation :: proc "contextless" () ---

    event_stop_propagation ¶

    event_stop_propagation :: proc "contextless" () ---

    get_bounding_client_rect ¶

    get_bounding_client_rect :: proc "contextless" (id: string) -> (rect: Rect) {…}

    get_element_key_f64 ¶

    get_element_key_f64 :: proc "contextless" (id: string, key: string) -> f64 ---

    get_element_key_string ¶

    get_element_key_string :: proc "contextless" (id: string, key: string, buf: []u8) -> string {…}

    get_element_key_string_length ¶

    get_element_key_string_length :: proc "contextless" (id: string, key: string) -> untyped integer ---

    get_element_min_max ¶

    get_element_min_max :: proc "contextless" (id: string) -> (min, max: f64) {…}

    get_element_value_f64 ¶

    get_element_value_f64 :: proc "contextless" (id: string) -> f64 ---

    get_element_value_string ¶

    get_element_value_string :: proc "contextless" (id: string, buf: []u8) -> string {…}

    get_element_value_string_length ¶

    get_element_value_string_length :: proc "contextless" (id: string) -> untyped integer ---

    get_gamepad_state ¶

    get_gamepad_state :: proc "contextless" (index: untyped integer, s: ^Gamepad_State) -> bool {…}

    open ¶

    open :: proc "contextless" (url: string, name: string = "", specs: string = "") ---

    page_alloc ¶

    page_alloc :: proc(page_count: untyped integer) -> (data: []u8, err: runtime.Allocator_Error) {…}

    page_allocator ¶

    page_allocator :: proc() -> runtime.Allocator {…}

    remove_custom_event_listener ¶

    remove_custom_event_listener :: proc(id: string, name: string, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    remove_document_event_listener ¶

    remove_document_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    remove_event_listener ¶

    remove_event_listener :: proc(id: string, kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    remove_event_listener_from_event ¶

    remove_event_listener_from_event :: proc(e: Event) -> bool {…}

    remove_window_event_listener ¶

    remove_window_event_listener :: proc(kind: Event_Kind, user_data: rawptr, callback: proc(e: Event), use_capture: bool = false) -> bool {…}

    set_document_title ¶

    set_document_title :: proc "contextless" (title: string) ---

    set_element_key_f64 ¶

    set_element_key_f64 :: proc "contextless" (id: string, key: string, value: f64) ---

    set_element_key_string ¶

    set_element_key_string :: proc "contextless" (id: string, key: string, value: string) ---

    set_element_style ¶

    set_element_style :: proc "contextless" (id: string, key: string, value: string) ---

    set_element_value_f64 ¶

    set_element_value_f64 :: proc "contextless" (id: string, value: f64) ---

    set_element_value_string ¶

    set_element_value_string :: proc "contextless" (id: string, value: string) ---

    trap ¶

    trap :: proc "contextless" () ---

    window_get_rect ¶

    window_get_rect :: proc "contextless" () -> (rect: Rect) {…}

    window_get_scroll ¶

    window_get_scroll :: proc "contextless" () -> (x, y: f64) {…}

    window_set_scroll ¶

    window_set_scroll :: proc "contextless" (x, y: f64) ---

    Procedure Groups

    This section is empty.

    Source Files

    Generation Information

    Generated with odin version dev-2026-03 (vendor "odin") Windows_amd64 @ 2026-03-08 21:15:24.467121200 +0000 UTC