blob: ce5d40c3a7445730c762371627b58202ce915d7c [file]
// Generated by src/wasm/idl/generate.py from bindings.py. Do not edit.
//
// Browser-lane host entry points: one C function per op, found by
// the page through the kRiveWebCalls table, taking the owning VM
// as a u32 handle plus the native-convention args (pointers are
// librive-heap pointers, exactly what
// web/rive_module_imports.mjs stages into). Included at the end of
// wasm_scripting_vm.cpp so the impl cores are visible; expands to
// nothing off emscripten.
// clang-format off
#ifdef __EMSCRIPTEN__
#include <emscripten/emscripten.h>
extern "C" {
void rive_web_rt_log(uint32_t vmHandle, int32_t level, const char* message, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg messageUtf8(vm, message, length);
rtLogImpl(vm, level, messageUtf8.data(), messageUtf8.size());
}
void rive_web_rt_mark_needs_update(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rtMarkNeedsUpdateImpl(vm, object);
}
void rive_web_rt_budget_exceeded(uint32_t vmHandle, uint32_t ms)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
rtBudgetExceededImpl(vm, ms);
}
void rive_web_rt_error(uint32_t vmHandle, const char* message, uint32_t length)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
WasmStringArg messageUtf8(vm, message, length);
rtErrorImpl(vm, messageUtf8.data(), messageUtf8.size());
}
void rive_web_rt_debug_enter(uint32_t vmHandle, uint32_t func, uint32_t line)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rtDebugEnterImpl(vm, func, line);
}
uint32_t rive_web_rt_debug_line(uint32_t vmHandle, uint32_t line)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return rtDebugLineImpl(vm, line);
}
void rive_web_rt_debug_leave(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rtDebugLeaveImpl(vm);
}
uint32_t rive_web_rt_utc_offset(uint32_t vmHandle, double epochSeconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return rtUtcOffsetImpl(vm, epochSeconds);
}
uint32_t rive_web_rt_is_dst(uint32_t vmHandle, double epochSeconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return rtIsDstImpl(vm, epochSeconds);
}
uint32_t rive_web_rt_zone_name(uint32_t vmHandle, double epochSeconds, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return rtZoneNameImpl(vm, epochSeconds, buffer, capacity);
}
uint32_t rive_web_data_view_model(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataViewModelImpl(vm, object);
}
uint32_t rive_web_data_root_view_model(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataRootViewModelImpl(vm, object);
}
uint32_t rive_web_data_global_view_model(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return dataGlobalViewModelImpl(vm, object, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_global_view_model_names(uint32_t vmHandle, uint32_t object, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataGlobalViewModelNamesImpl(vm, object, buffer, capacity);
}
uint32_t rive_web_data_context(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataContextImpl(vm, object);
}
uint32_t rive_web_data_context_parent(uint32_t vmHandle, uint32_t dataContext)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataContextParentImpl(vm, dataContext);
}
uint32_t rive_web_data_context_view_model(uint32_t vmHandle, uint32_t dataContext)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataContextViewModelImpl(vm, dataContext);
}
void rive_web_data_context_release(uint32_t vmHandle, uint32_t dataContext)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataContextReleaseImpl(vm, dataContext);
}
uint32_t rive_web_data_has_view_model(uint32_t vmHandle, const char* name, uint32_t nameLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return dataHasViewModelImpl(vm, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_new_view_model(uint32_t vmHandle, const char* name, uint32_t nameLength, const char* templateName, uint32_t templateLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
WasmStringArg templateNameUtf8(vm, templateName, templateLength);
return dataNewViewModelImpl(vm, nameUtf8.data(), nameUtf8.size(), templateNameUtf8.data(), templateNameUtf8.size());
}
void rive_web_data_vmi_release(uint32_t vmHandle, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataVmiReleaseImpl(vm, vmi);
}
uint32_t rive_web_data_vmi_number(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiNumberImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_boolean(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiBooleanImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_string(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiStringImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_trigger(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiTriggerImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_color(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiColorImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_view_model(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiViewModelImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_property(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length, uint32_t* kindOut, uint32_t kindCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiPropertyImpl(vm, vmi, nameUtf8.data(), nameUtf8.size(), kindOut, kindCount);
}
uint32_t rive_web_data_vmi_instance(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t nameLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return dataVmiInstanceImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_symbol_index(uint32_t vmHandle, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataVmiSymbolIndexImpl(vm, vmi);
}
uint32_t rive_web_data_vmi_equal(uint32_t vmHandle, uint32_t a, uint32_t b)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataVmiEqualImpl(vm, a, b);
}
uint32_t rive_web_data_view_model_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataViewModelGetImpl(vm, property);
}
uint32_t rive_web_data_vmi_list(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiListImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_enum(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiEnumImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_image(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiImageImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_font(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiFontImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_blob(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiBlobImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_vmi_artboard(uint32_t vmHandle, uint32_t vmi, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return dataVmiArtboardImpl(vm, vmi, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_data_image_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataImageGetImpl(vm, property);
}
void rive_web_data_image_set(uint32_t vmHandle, uint32_t property, uint32_t image)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataImageSetImpl(vm, property, image);
}
uint32_t rive_web_data_font_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataFontGetImpl(vm, property);
}
void rive_web_data_font_set(uint32_t vmHandle, uint32_t property, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataFontSetImpl(vm, property, font);
}
void rive_web_data_font_release(uint32_t vmHandle, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataFontReleaseImpl(vm, font);
}
uint32_t rive_web_data_blob_present(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataBlobPresentImpl(vm, property);
}
uint32_t rive_web_data_blob_get(uint32_t vmHandle, uint32_t property, uint8_t* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataBlobGetImpl(vm, property, buffer, capacity);
}
uint32_t rive_web_data_blob_name(uint32_t vmHandle, uint32_t property, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataBlobNameImpl(vm, property, buffer, capacity);
}
void rive_web_data_blob_set(uint32_t vmHandle, uint32_t property, const uint8_t* bytes, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataBlobSetImpl(vm, property, bytes, byteCount);
}
void rive_web_data_blob_clear(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataBlobClearImpl(vm, property);
}
uint32_t rive_web_data_artboard_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataArtboardGetImpl(vm, property);
}
void rive_web_data_artboard_set(uint32_t vmHandle, uint32_t property, uint32_t bindable)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataArtboardSetImpl(vm, property, bindable);
}
uint32_t rive_web_data_enum_get(uint32_t vmHandle, uint32_t property, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataEnumGetImpl(vm, property, buffer, capacity);
}
void rive_web_data_enum_set(uint32_t vmHandle, uint32_t property, const char* value, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg valueUtf8(vm, value, length);
dataEnumSetImpl(vm, property, valueUtf8.data(), valueUtf8.size());
}
uint32_t rive_web_data_enum_values(uint32_t vmHandle, uint32_t property, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataEnumValuesImpl(vm, property, buffer, capacity);
}
void rive_web_data_prop_release(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataPropReleaseImpl(vm, property);
}
void rive_web_data_trigger_fire(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataTriggerFireImpl(vm, property);
}
uint32_t rive_web_data_list_length(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataListLengthImpl(vm, property);
}
void rive_web_data_list_push(uint32_t vmHandle, uint32_t property, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListPushImpl(vm, property, vmi);
}
uint32_t rive_web_data_list_pop(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataListPopImpl(vm, property);
}
uint32_t rive_web_data_list_shift(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataListShiftImpl(vm, property);
}
void rive_web_data_list_clear(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListClearImpl(vm, property);
}
void rive_web_data_list_swap(uint32_t vmHandle, uint32_t property, uint32_t index1, uint32_t index2)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListSwapImpl(vm, property, index1, index2);
}
void rive_web_data_list_insert(uint32_t vmHandle, uint32_t property, uint32_t vmi, uint32_t index)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListInsertImpl(vm, property, vmi, index);
}
void rive_web_data_list_remove(uint32_t vmHandle, uint32_t property, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListRemoveImpl(vm, property, vmi);
}
void rive_web_data_list_remove_at(uint32_t vmHandle, uint32_t property, uint32_t index)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListRemoveAtImpl(vm, property, index);
}
void rive_web_data_list_remove_all_of(uint32_t vmHandle, uint32_t property, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataListRemoveAllOfImpl(vm, property, vmi);
}
uint32_t rive_web_data_list_get(uint32_t vmHandle, uint32_t property, uint32_t index)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataListGetImpl(vm, property, index);
}
void rive_web_data_view_model_set(uint32_t vmHandle, uint32_t property, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataViewModelSetImpl(vm, property, vmi);
}
uint32_t rive_web_data_color_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataColorGetImpl(vm, property);
}
void rive_web_data_color_set(uint32_t vmHandle, uint32_t property, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataColorSetImpl(vm, property, value);
}
float rive_web_data_number_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataNumberGetImpl(vm, property);
}
void rive_web_data_number_set(uint32_t vmHandle, uint32_t property, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataNumberSetImpl(vm, property, value);
}
uint32_t rive_web_data_boolean_get(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataBooleanGetImpl(vm, property);
}
void rive_web_data_boolean_set(uint32_t vmHandle, uint32_t property, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataBooleanSetImpl(vm, property, value);
}
uint32_t rive_web_data_string_get(uint32_t vmHandle, uint32_t property, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataStringGetImpl(vm, property, buffer, capacity);
}
uint32_t rive_web_data_string_changed(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return dataStringChangedImpl(vm, property);
}
void rive_web_data_string_set(uint32_t vmHandle, uint32_t property, const char* value, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg valueUtf8(vm, value, length);
dataStringSetImpl(vm, property, valueUtf8.data(), valueUtf8.size());
}
void rive_web_data_watch(uint32_t vmHandle, uint32_t property, uint32_t token)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataWatchImpl(vm, property, token);
}
void rive_web_data_unwatch(uint32_t vmHandle, uint32_t property)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
dataUnwatchImpl(vm, property);
}
void rive_web_data_convert_result(uint32_t vmHandle, uint32_t kind, float number, uint32_t booleanValue, uint32_t color, const char* value, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg valueUtf8(vm, value, length);
dataConvertResultImpl(vm, kind, number, booleanValue, color, valueUtf8.data(), valueUtf8.size());
}
void rive_web_artboard_release(uint32_t vmHandle, uint32_t artboard)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardReleaseImpl(vm, artboard);
}
uint32_t rive_web_artboard_advance(uint32_t vmHandle, uint32_t artboard, float seconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardAdvanceImpl(vm, artboard, seconds);
}
void rive_web_artboard_draw(uint32_t vmHandle, uint32_t artboard, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardDrawImpl(vm, artboard, renderer);
}
uint32_t rive_web_artboard_instance(uint32_t vmHandle, uint32_t artboard, uint32_t vmi)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardInstanceImpl(vm, artboard, vmi);
}
uint32_t rive_web_artboard_data(uint32_t vmHandle, uint32_t artboard)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardDataImpl(vm, artboard);
}
float rive_web_artboard_width(uint32_t vmHandle, uint32_t artboard)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardWidthImpl(vm, artboard);
}
float rive_web_artboard_height(uint32_t vmHandle, uint32_t artboard)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardHeightImpl(vm, artboard);
}
void rive_web_artboard_set_width(uint32_t vmHandle, uint32_t artboard, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardSetWidthImpl(vm, artboard, value);
}
void rive_web_artboard_set_height(uint32_t vmHandle, uint32_t artboard, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardSetHeightImpl(vm, artboard, value);
}
uint32_t rive_web_artboard_frame_origin(uint32_t vmHandle, uint32_t artboard)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardFrameOriginImpl(vm, artboard);
}
void rive_web_artboard_set_frame_origin(uint32_t vmHandle, uint32_t artboard, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardSetFrameOriginImpl(vm, artboard, value);
}
void rive_web_artboard_bounds(uint32_t vmHandle, uint32_t artboard, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardBoundsImpl(vm, artboard, out, outCount);
}
uint32_t rive_web_artboard_pointer_event(uint32_t vmHandle, uint32_t artboard, uint32_t kind, uint32_t pointerId, float x, float y)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardPointerEventImpl(vm, artboard, kind, pointerId, x, y);
}
uint32_t rive_web_artboard_scroll_event(uint32_t vmHandle, uint32_t artboard, uint32_t pointerId, float x, float y, float dx, float dy, uint32_t phase, uint32_t precise, float timeStamp)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardScrollEventImpl(vm, artboard, pointerId, x, y, dx, dy, phase, precise, timeStamp);
}
uint32_t rive_web_artboard_gamepad_event(uint32_t vmHandle, uint32_t artboard, const uint8_t* payload, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardGamepadEventImpl(vm, artboard, payload, byteCount);
}
uint32_t rive_web_artboard_animation(uint32_t vmHandle, uint32_t artboard, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return artboardAnimationImpl(vm, artboard, nameUtf8.data(), nameUtf8.size());
}
void rive_web_artboard_animation_release(uint32_t vmHandle, uint32_t animation)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardAnimationReleaseImpl(vm, animation);
}
float rive_web_artboard_animation_duration(uint32_t vmHandle, uint32_t animation)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardAnimationDurationImpl(vm, animation);
}
uint32_t rive_web_artboard_animation_advance(uint32_t vmHandle, uint32_t animation, float seconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardAnimationAdvanceImpl(vm, animation, seconds);
}
void rive_web_artboard_animation_set_time(uint32_t vmHandle, uint32_t animation, float value, uint32_t mode)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardAnimationSetTimeImpl(vm, animation, value, mode);
}
void rive_web_artboard_add_to_path(uint32_t vmHandle, uint32_t artboard, uint32_t path, float xx, float xy, float yx, float yy, float tx, float ty)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardAddToPathImpl(vm, artboard, path, xx, xy, yx, yy, tx, ty);
}
uint32_t rive_web_artboard_node(uint32_t vmHandle, uint32_t artboard, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return artboardNodeImpl(vm, artboard, nameUtf8.data(), nameUtf8.size());
}
void rive_web_artboard_node_release(uint32_t vmHandle, uint32_t node)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeReleaseImpl(vm, node);
}
void rive_web_artboard_node_transform(uint32_t vmHandle, uint32_t node, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeTransformImpl(vm, node, out, outCount);
}
void rive_web_artboard_node_set(uint32_t vmHandle, uint32_t node, uint32_t field, float v0, float v1)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeSetImpl(vm, node, field, v0, v1);
}
void rive_web_artboard_node_world_transform(uint32_t vmHandle, uint32_t node, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeWorldTransformImpl(vm, node, out, outCount);
}
void rive_web_artboard_node_set_world_transform(uint32_t vmHandle, uint32_t node, const float* values, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeSetWorldTransformImpl(vm, node, values, floatCount);
}
void rive_web_artboard_node_decompose(uint32_t vmHandle, uint32_t node, const float* values, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardNodeDecomposeImpl(vm, node, values, floatCount);
}
uint32_t rive_web_artboard_node_path_verbs(uint32_t vmHandle, uint32_t node, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardNodePathVerbsImpl(vm, node, out, outCount);
}
uint32_t rive_web_artboard_node_path_points(uint32_t vmHandle, uint32_t node, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardNodePathPointsImpl(vm, node, out, outCount);
}
uint32_t rive_web_artboard_node_paint(uint32_t vmHandle, uint32_t node, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardNodePaintImpl(vm, node, out, outCount);
}
uint32_t rive_web_artboard_node_children(uint32_t vmHandle, uint32_t node, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardNodeChildrenImpl(vm, node, out, outCount);
}
uint32_t rive_web_artboard_node_parent(uint32_t vmHandle, uint32_t node)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardNodeParentImpl(vm, node);
}
uint32_t rive_web_artboard_property_key(uint32_t vmHandle, uint32_t artboard, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return artboardPropertyKeyImpl(vm, artboard, nameUtf8.data(), nameUtf8.size());
}
void rive_web_artboard_draw_visit(uint32_t vmHandle, uint32_t artboard, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardDrawVisitImpl(vm, artboard, renderer);
}
void rive_web_artboard_draw_modulated(uint32_t vmHandle, uint32_t artboard, uint32_t renderer, uint32_t key)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardDrawModulatedImpl(vm, artboard, renderer, key);
}
void rive_web_artboard_drawable_draw(uint32_t vmHandle, uint32_t drawable, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
artboardDrawableDrawImpl(vm, drawable, renderer);
}
uint32_t rive_web_artboard_drawable_value(uint32_t vmHandle, uint32_t drawable, uint32_t key, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardDrawableValueImpl(vm, drawable, key, out, outCount);
}
uint32_t rive_web_artboard_drawable_string(uint32_t vmHandle, uint32_t drawable, uint32_t key, char* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardDrawableStringImpl(vm, drawable, key, out, outCount);
}
#ifdef WITH_RIVE_TOOLS
uint32_t rive_web_artboard_drawable_properties(uint32_t vmHandle, uint32_t drawable, char* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return artboardDrawablePropertiesImpl(vm, drawable, out, outCount);
}
#endif
uint32_t rive_web_audio_source(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return audioSourceImpl(vm, object, nameUtf8.data(), nameUtf8.size());
}
void rive_web_audio_source_release(uint32_t vmHandle, uint32_t source)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSourceReleaseImpl(vm, source);
}
float rive_web_audio_source_duration(uint32_t vmHandle, uint32_t source)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSourceDurationImpl(vm, source);
}
uint32_t rive_web_audio_source_sample_rate(uint32_t vmHandle, uint32_t source)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSourceSampleRateImpl(vm, source);
}
uint32_t rive_web_audio_source_channels(uint32_t vmHandle, uint32_t source)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSourceChannelsImpl(vm, source);
}
uint32_t rive_web_audio_source_to_blob(uint32_t vmHandle, uint32_t source, uint32_t sampleRate, uint32_t channels)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSourceToBlobImpl(vm, source, sampleRate, channels);
}
uint32_t rive_web_audio_stream(uint32_t vmHandle, uint32_t source, uint32_t sampleRate, uint32_t channels, uint32_t chunkFrames, uint32_t bufferFrames)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamImpl(vm, source, sampleRate, channels, chunkFrames, bufferFrames);
}
uint32_t rive_web_audio_stream_ring(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamRingImpl(vm, stream);
}
uint32_t rive_web_audio_stream_seeks(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamSeeksImpl(vm, stream);
}
uint32_t rive_web_audio_stream_channels(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamChannelsImpl(vm, stream);
}
uint32_t rive_web_audio_stream_sample_rate(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamSampleRateImpl(vm, stream);
}
uint32_t rive_web_audio_stream_seek_frame(uint32_t vmHandle, uint32_t stream, double frame)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamSeekFrameImpl(vm, stream, frame);
}
void rive_web_audio_stream_set_loop(uint32_t vmHandle, uint32_t stream, uint32_t loop)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioStreamSetLoopImpl(vm, stream, loop);
}
uint32_t rive_web_audio_stream_ended(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioStreamEndedImpl(vm, stream);
}
void rive_web_audio_stream_release(uint32_t vmHandle, uint32_t stream)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioStreamReleaseImpl(vm, stream);
}
uint32_t rive_web_audio_play(uint32_t vmHandle, uint32_t source)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioPlayImpl(vm, source);
}
uint32_t rive_web_audio_play_at_time(uint32_t vmHandle, uint32_t source, float seconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioPlayAtTimeImpl(vm, source, seconds);
}
uint32_t rive_web_audio_play_in_time(uint32_t vmHandle, uint32_t source, float seconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioPlayInTimeImpl(vm, source, seconds);
}
uint32_t rive_web_audio_play_at_frame(uint32_t vmHandle, uint32_t source, double frame)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioPlayAtFrameImpl(vm, source, frame);
}
uint32_t rive_web_audio_play_in_frame(uint32_t vmHandle, uint32_t source, double frame)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioPlayInFrameImpl(vm, source, frame);
}
float rive_web_audio_time(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioTimeImpl(vm);
}
double rive_web_audio_time_frame(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioTimeFrameImpl(vm);
}
uint32_t rive_web_audio_sample_rate(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSampleRateImpl(vm);
}
uint32_t rive_web_audio_processor_sample_rate(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioProcessorSampleRateImpl(vm);
}
uint32_t rive_web_audio_processor_channels(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioProcessorChannelsImpl(vm);
}
void rive_web_audio_sound_release(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundReleaseImpl(vm, sound);
}
void rive_web_audio_sound_play(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundPlayImpl(vm, sound);
}
void rive_web_audio_sound_pause(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundPauseImpl(vm, sound);
}
void rive_web_audio_sound_resume(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundResumeImpl(vm, sound);
}
void rive_web_audio_sound_stop(uint32_t vmHandle, uint32_t sound, uint32_t fadeFrames)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundStopImpl(vm, sound, fadeFrames);
}
uint32_t rive_web_audio_sound_seek(uint32_t vmHandle, uint32_t sound, float seconds)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundSeekImpl(vm, sound, seconds);
}
uint32_t rive_web_audio_sound_seek_frame(uint32_t vmHandle, uint32_t sound, double frame)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundSeekFrameImpl(vm, sound, frame);
}
uint32_t rive_web_audio_sound_completed(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundCompletedImpl(vm, sound);
}
float rive_web_audio_sound_time(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundTimeImpl(vm, sound);
}
double rive_web_audio_sound_time_frame(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundTimeFrameImpl(vm, sound);
}
float rive_web_audio_sound_volume(uint32_t vmHandle, uint32_t sound)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return audioSoundVolumeImpl(vm, sound);
}
void rive_web_audio_sound_set_volume(uint32_t vmHandle, uint32_t sound, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
audioSoundSetVolumeImpl(vm, sound, value);
}
uint32_t rive_web_path_new(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return pathNewImpl(vm);
}
void rive_web_path_update(uint32_t vmHandle, uint32_t path, const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount, uint32_t fillRule)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
pathUpdateImpl(vm, path, verbs, verbCount, points, floatCount, fillRule);
}
void rive_web_path_release(uint32_t vmHandle, uint32_t path)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
pathReleaseImpl(vm, path);
}
void rive_web_path_add(uint32_t vmHandle, uint32_t path, uint32_t other, float xx, float xy, float yx, float yy, float tx, float ty)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
pathAddImpl(vm, path, other, xx, xy, yx, yy, tx, ty);
}
uint32_t rive_web_path_verbs(uint32_t vmHandle, uint32_t path, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return pathVerbsImpl(vm, path, out, outCount);
}
uint32_t rive_web_path_points(uint32_t vmHandle, uint32_t path, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return pathPointsImpl(vm, path, out, outCount);
}
void rive_web_path_effect_result(uint32_t vmHandle, const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
pathEffectResultImpl(vm, verbs, verbCount, points, floatCount);
}
uint32_t rive_web_measure_path_new(uint32_t vmHandle, const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measurePathNewImpl(vm, verbs, verbCount, points, floatCount);
}
uint32_t rive_web_measure_contours_new(uint32_t vmHandle, const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureContoursNewImpl(vm, verbs, verbCount, points, floatCount);
}
uint32_t rive_web_measure_contour_next(uint32_t vmHandle, uint32_t measure)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureContourNextImpl(vm, measure);
}
float rive_web_measure_length(uint32_t vmHandle, uint32_t measure)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureLengthImpl(vm, measure);
}
uint32_t rive_web_measure_is_closed(uint32_t vmHandle, uint32_t measure)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureIsClosedImpl(vm, measure);
}
void rive_web_measure_pos_tan(uint32_t vmHandle, uint32_t measure, float distance, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
measurePosTanImpl(vm, measure, distance, out, outCount);
}
void rive_web_measure_warp(uint32_t vmHandle, uint32_t measure, float x, float y, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
measureWarpImpl(vm, measure, x, y, out, outCount);
}
uint32_t rive_web_measure_extract(uint32_t vmHandle, uint32_t measure, float startDistance, float endDistance, uint32_t startWithMove)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureExtractImpl(vm, measure, startDistance, endDistance, startWithMove);
}
uint32_t rive_web_measure_extract_read(uint32_t vmHandle, uint32_t measure, uint8_t* verbs, uint32_t verbCount, float* points, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return measureExtractReadImpl(vm, measure, verbs, verbCount, points, floatCount);
}
void rive_web_measure_release(uint32_t vmHandle, uint32_t measure)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
measureReleaseImpl(vm, measure);
}
uint32_t rive_web_paint_new(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return paintNewImpl(vm);
}
void rive_web_paint_release(uint32_t vmHandle, uint32_t paint)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintReleaseImpl(vm, paint);
}
void rive_web_paint_style(uint32_t vmHandle, uint32_t paint, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintStyleImpl(vm, paint, value);
}
void rive_web_paint_color(uint32_t vmHandle, uint32_t paint, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintColorImpl(vm, paint, value);
}
void rive_web_paint_thickness(uint32_t vmHandle, uint32_t paint, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintThicknessImpl(vm, paint, value);
}
void rive_web_paint_join(uint32_t vmHandle, uint32_t paint, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintJoinImpl(vm, paint, value);
}
void rive_web_paint_cap(uint32_t vmHandle, uint32_t paint, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintCapImpl(vm, paint, value);
}
void rive_web_paint_blend_mode(uint32_t vmHandle, uint32_t paint, uint32_t value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintBlendModeImpl(vm, paint, value);
}
void rive_web_paint_feather(uint32_t vmHandle, uint32_t paint, float value)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintFeatherImpl(vm, paint, value);
}
void rive_web_paint_shader(uint32_t vmHandle, uint32_t paint, uint32_t shader)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintShaderImpl(vm, paint, shader);
}
void rive_web_paint_shader_transform(uint32_t vmHandle, uint32_t paint, const float* values, uint32_t floatCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
paintShaderTransformImpl(vm, paint, values, floatCount);
}
uint32_t rive_web_canvas_new(uint32_t vmHandle, uint32_t width, uint32_t height)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasNewImpl(vm, width, height);
}
void rive_web_canvas_release(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
canvasReleaseImpl(vm, canvas);
}
uint32_t rive_web_canvas_width(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasWidthImpl(vm, canvas);
}
uint32_t rive_web_canvas_height(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasHeightImpl(vm, canvas);
}
uint32_t rive_web_canvas_resize(uint32_t vmHandle, uint32_t canvas, uint32_t width, uint32_t height)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasResizeImpl(vm, canvas, width, height);
}
uint32_t rive_web_canvas_image(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasImageImpl(vm, canvas);
}
uint32_t rive_web_canvas_begin_frame(uint32_t vmHandle, uint32_t canvas, uint32_t clearColor)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return canvasBeginFrameImpl(vm, canvas, clearColor);
}
void rive_web_canvas_end_frame(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
canvasEndFrameImpl(vm, canvas);
}
uint32_t rive_web_gpu_features(uint32_t vmHandle, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuFeaturesImpl(vm, out, outCount);
}
uint32_t rive_web_gpu_canvas_new(uint32_t vmHandle, uint32_t width, uint32_t height)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuCanvasNewImpl(vm, width, height);
}
void rive_web_gpu_canvas_release(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuCanvasReleaseImpl(vm, canvas);
}
uint32_t rive_web_gpu_canvas_color_view(uint32_t vmHandle, uint32_t canvas, uint32_t* props, uint32_t propCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuCanvasColorViewImpl(vm, canvas, props, propCount);
}
uint32_t rive_web_gpu_canvas_image(uint32_t vmHandle, uint32_t canvas)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuCanvasImageImpl(vm, canvas);
}
uint32_t rive_web_gpu_canvas_resize(uint32_t vmHandle, uint32_t canvas, uint32_t width, uint32_t height, uint32_t* props, uint32_t propCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuCanvasResizeImpl(vm, canvas, width, height, props, propCount);
}
uint32_t rive_web_gpu_target_view(uint32_t vmHandle, uint32_t current, uint32_t* props, uint32_t propCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuTargetViewImpl(vm, current, props, propCount);
}
uint32_t rive_web_gpu_pass_begin(uint32_t vmHandle, const rive_gpu_pass_desc_v1* desc, uint32_t descByteCount, const uint8_t* blob, uint32_t blobCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuPassBeginImpl(vm, desc, descByteCount, blob, blobCount);
}
void rive_web_gpu_pass_set_pipeline(uint32_t vmHandle, uint32_t pass, uint32_t pipeline)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetPipelineImpl(vm, pass, pipeline);
}
void rive_web_gpu_pass_set_vertex_buffer(uint32_t vmHandle, uint32_t pass, uint32_t slot, uint32_t buffer, uint32_t offset)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetVertexBufferImpl(vm, pass, slot, buffer, offset);
}
void rive_web_gpu_pass_set_index_buffer(uint32_t vmHandle, uint32_t pass, uint32_t buffer, uint32_t indexFormat, uint32_t offset)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetIndexBufferImpl(vm, pass, buffer, indexFormat, offset);
}
void rive_web_gpu_pass_set_bind_group(uint32_t vmHandle, uint32_t pass, uint32_t groupIndex, uint32_t bindGroup, const uint32_t* dynamicOffsets, uint32_t dynamicOffsetByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetBindGroupImpl(vm, pass, groupIndex, bindGroup, dynamicOffsets, dynamicOffsetByteCount);
}
void rive_web_gpu_pass_set_viewport(uint32_t vmHandle, uint32_t pass, float x, float y, float width, float height, float minDepth, float maxDepth)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetViewportImpl(vm, pass, x, y, width, height, minDepth, maxDepth);
}
void rive_web_gpu_pass_set_scissor(uint32_t vmHandle, uint32_t pass, uint32_t x, uint32_t y, uint32_t width, uint32_t height)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetScissorImpl(vm, pass, x, y, width, height);
}
void rive_web_gpu_pass_set_stencil_reference(uint32_t vmHandle, uint32_t pass, uint32_t ref)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetStencilReferenceImpl(vm, pass, ref);
}
void rive_web_gpu_pass_set_blend_color(uint32_t vmHandle, uint32_t pass, float r, float g, float b, float a)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassSetBlendColorImpl(vm, pass, r, g, b, a);
}
void rive_web_gpu_pass_draw(uint32_t vmHandle, uint32_t pass, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassDrawImpl(vm, pass, vertexCount, instanceCount, firstVertex, firstInstance);
}
void rive_web_gpu_pass_draw_indexed(uint32_t vmHandle, uint32_t pass, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassDrawIndexedImpl(vm, pass, indexCount, instanceCount, firstIndex, baseVertex, firstInstance);
}
void rive_web_gpu_pass_finish(uint32_t vmHandle, uint32_t pass)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassFinishImpl(vm, pass);
}
void rive_web_gpu_pass_release(uint32_t vmHandle, uint32_t pass)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPassReleaseImpl(vm, pass);
}
uint32_t rive_web_gpu_image_view(uint32_t vmHandle, uint32_t image, uint32_t width, uint32_t height)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuImageViewImpl(vm, image, width, height);
}
uint32_t rive_web_gpu_buffer_new(uint32_t vmHandle, uint32_t usage, uint32_t sizeInBytes, uint32_t immutable, const uint8_t* data, uint32_t dataCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBufferNewImpl(vm, usage, sizeInBytes, immutable, data, dataCount);
}
void rive_web_gpu_buffer_update(uint32_t vmHandle, uint32_t buffer, uint32_t dstOffset, const uint8_t* data, uint32_t dataCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuBufferUpdateImpl(vm, buffer, dstOffset, data, dataCount);
}
void rive_web_gpu_buffer_update_blob(uint32_t vmHandle, uint32_t buffer, uint32_t dstOffset, uint32_t blob, uint32_t srcOffset, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuBufferUpdateBlobImpl(vm, buffer, dstOffset, blob, srcOffset, byteCount);
}
uint32_t rive_web_gpu_buffer_new_blob(uint32_t vmHandle, uint32_t usage, uint32_t immutable, uint32_t blob, uint32_t srcOffset, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBufferNewBlobImpl(vm, usage, immutable, blob, srcOffset, byteCount);
}
void rive_web_gpu_buffer_release(uint32_t vmHandle, uint32_t buffer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuBufferReleaseImpl(vm, buffer);
}
uint32_t rive_web_gpu_texture_new(uint32_t vmHandle, const rive_gpu_texture_desc_v1* desc, uint32_t descByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuTextureNewImpl(vm, desc, descByteCount);
}
void rive_web_gpu_texture_upload(uint32_t vmHandle, uint32_t texture, const rive_gpu_texture_upload_v1* region, uint32_t regionByteCount, const uint8_t* data, uint32_t dataCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuTextureUploadImpl(vm, texture, region, regionByteCount, data, dataCount);
}
void rive_web_gpu_texture_release(uint32_t vmHandle, uint32_t texture)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuTextureReleaseImpl(vm, texture);
}
uint32_t rive_web_gpu_sampler_new(uint32_t vmHandle, const rive_gpu_sampler_desc_v1* desc, uint32_t descByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuSamplerNewImpl(vm, desc, descByteCount);
}
void rive_web_gpu_sampler_release(uint32_t vmHandle, uint32_t sampler)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuSamplerReleaseImpl(vm, sampler);
}
uint32_t rive_web_gpu_texture_view_new(uint32_t vmHandle, uint32_t texture, const rive_gpu_texture_view_desc_v1* desc, uint32_t descByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuTextureViewNewImpl(vm, texture, desc, descByteCount);
}
void rive_web_gpu_texture_view_release(uint32_t vmHandle, uint32_t view)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuTextureViewReleaseImpl(vm, view);
}
uint32_t rive_web_gpu_shader_target(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuShaderTargetImpl(vm);
}
uint32_t rive_web_gpu_shader_asset_bytes(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return gpuShaderAssetBytesImpl(vm, object, nameUtf8.data(), nameUtf8.size(), out, outCount);
}
uint32_t rive_web_gpu_shader_asset_id(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return gpuShaderAssetIdImpl(vm, object, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_gpu_shader_module_from_asset(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength, uint32_t entry)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return gpuShaderModuleFromAssetImpl(vm, object, nameUtf8.data(), nameUtf8.size(), entry);
}
#ifdef WITH_RIVE_TOOLS
uint32_t rive_web_gpu_shader_module_from_rstb(uint32_t vmHandle, const uint8_t* rstb, uint32_t rstbCount, uint32_t assetId, uint32_t entry)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuShaderModuleFromRstbImpl(vm, rstb, rstbCount, assetId, entry);
}
#endif
void rive_web_gpu_shader_module_release(uint32_t vmHandle, uint32_t shaderModule)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuShaderModuleReleaseImpl(vm, shaderModule);
}
uint32_t rive_web_gpu_bind_group_layout_new(uint32_t vmHandle, uint32_t groupIndex, const rive_gpu_bind_group_layout_entry_v1* entries, uint32_t entryByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBindGroupLayoutNewImpl(vm, groupIndex, entries, entryByteCount);
}
void rive_web_gpu_bind_group_layout_release(uint32_t vmHandle, uint32_t layout)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuBindGroupLayoutReleaseImpl(vm, layout);
}
uint32_t rive_web_gpu_bind_group_layout_from_shader(uint32_t vmHandle, uint32_t shaderModule, uint32_t groupIndex, const uint32_t* dynamicUBOs, uint32_t dynamicUBOCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBindGroupLayoutFromShaderImpl(vm, shaderModule, groupIndex, dynamicUBOs, dynamicUBOCount);
}
uint32_t rive_web_gpu_bind_group_layout_from_shaders(uint32_t vmHandle, uint32_t vertexModule, uint32_t fragmentModule, uint32_t groupIndex, const uint32_t* dynamicUBOs, uint32_t dynamicUBOCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBindGroupLayoutFromShadersImpl(vm, vertexModule, fragmentModule, groupIndex, dynamicUBOs, dynamicUBOCount);
}
uint32_t rive_web_gpu_bind_group_layout_from_entries(uint32_t vmHandle, uint32_t vertexModule, const char* vertexEntry, uint32_t vertexEntryLength, uint32_t fragmentModule, const char* fragmentEntry, uint32_t fragmentEntryLength, uint32_t groupIndex)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg vertexEntryUtf8(vm, vertexEntry, vertexEntryLength);
WasmStringArg fragmentEntryUtf8(vm, fragmentEntry, fragmentEntryLength);
return gpuBindGroupLayoutFromEntriesImpl(vm, vertexModule, vertexEntryUtf8.data(), vertexEntryUtf8.size(), fragmentModule, fragmentEntryUtf8.data(), fragmentEntryUtf8.size(), groupIndex);
}
uint32_t rive_web_gpu_bind_group_new(uint32_t vmHandle, uint32_t layout, const rive_gpu_bind_group_ubo_v1* ubos, uint32_t uboByteCount, const rive_gpu_bind_group_texture_v1* textures, uint32_t textureByteCount, const rive_gpu_bind_group_sampler_v1* samplers, uint32_t samplerByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuBindGroupNewImpl(vm, layout, ubos, uboByteCount, textures, textureByteCount, samplers, samplerByteCount);
}
void rive_web_gpu_bind_group_release(uint32_t vmHandle, uint32_t bindGroup)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuBindGroupReleaseImpl(vm, bindGroup);
}
uint32_t rive_web_gpu_pipeline_new(uint32_t vmHandle, const rive_gpu_pipeline_desc_v1* desc, uint32_t descByteCount, const uint8_t* blob, uint32_t blobCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return gpuPipelineNewImpl(vm, desc, descByteCount, blob, blobCount);
}
void rive_web_gpu_pipeline_release(uint32_t vmHandle, uint32_t pipeline)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
gpuPipelineReleaseImpl(vm, pipeline);
}
void rive_web_mat4_multiply(uint32_t vmHandle, uint8_t* out, uint32_t outBytes, const uint8_t* a, uint32_t aBytes, const uint8_t* b, uint32_t bBytes)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
mat4MultiplyImpl(vm, out, outBytes, a, aBytes, b, bBytes);
}
uint32_t rive_web_mat4_invert(uint32_t vmHandle, uint8_t* out, uint32_t outBytes, const uint8_t* src, uint32_t srcBytes)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return mat4InvertImpl(vm, out, outBytes, src, srcBytes);
}
uint32_t rive_web_buffer_new(uint32_t vmHandle, uint32_t bufferType, uint32_t flags, uint32_t sizeInBytes)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return bufferNewImpl(vm, bufferType, flags, sizeInBytes);
}
void rive_web_buffer_update(uint32_t vmHandle, uint32_t buffer, const uint8_t* bytes, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
bufferUpdateImpl(vm, buffer, bytes, byteCount);
}
void rive_web_buffer_release(uint32_t vmHandle, uint32_t buffer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
bufferReleaseImpl(vm, buffer);
}
uint32_t rive_web_mesh_instances_new(uint32_t vmHandle, uint32_t count)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return meshInstancesNewImpl(vm, count);
}
void rive_web_mesh_instances_resize(uint32_t vmHandle, uint32_t instances, uint32_t count)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
meshInstancesResizeImpl(vm, instances, count);
}
void rive_web_mesh_instances_update(uint32_t vmHandle, uint32_t instances, uint32_t first, const uint8_t* bytes, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
meshInstancesUpdateImpl(vm, instances, first, bytes, byteCount);
}
void rive_web_mesh_instances_release(uint32_t vmHandle, uint32_t instances)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
meshInstancesReleaseImpl(vm, instances);
}
uint32_t rive_web_blob_asset_bytes(uint32_t vmHandle, uint32_t object, const char* name, uint32_t nameLength, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return blobAssetBytesImpl(vm, object, nameUtf8.data(), nameUtf8.size(), out, outCount);
}
uint32_t rive_web_image_from_asset(uint32_t vmHandle, uint32_t object, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return imageFromAssetImpl(vm, object, nameUtf8.data(), nameUtf8.size());
}
uint32_t rive_web_image_width(uint32_t vmHandle, uint32_t image)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return imageWidthImpl(vm, image);
}
uint32_t rive_web_image_height(uint32_t vmHandle, uint32_t image)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return imageHeightImpl(vm, image);
}
void rive_web_image_release(uint32_t vmHandle, uint32_t image)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
imageReleaseImpl(vm, image);
}
uint32_t rive_web_image_decode(uint32_t vmHandle, const uint8_t* bytes, uint32_t byteCount, uint32_t token)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return imageDecodeImpl(vm, bytes, byteCount, token);
}
void rive_web_image_decode_cancel(uint32_t vmHandle, uint32_t token)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
imageDecodeCancelImpl(vm, token);
}
uint32_t rive_web_font_from_asset(uint32_t vmHandle, uint32_t object, const char* name, uint32_t length)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, length);
return fontFromAssetImpl(vm, object, nameUtf8.data(), nameUtf8.size());
}
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_font_decode(uint32_t vmHandle, const uint8_t* bytes, uint32_t byteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontDecodeImpl(vm, bytes, byteCount);
}
#endif
void rive_web_font_release(uint32_t vmHandle, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
fontReleaseImpl(vm, font);
}
void rive_web_font_metrics(uint32_t vmHandle, uint32_t font, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
fontMetricsImpl(vm, font, out, outCount);
}
uint32_t rive_web_font_weight(uint32_t vmHandle, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontWeightImpl(vm, font);
}
uint32_t rive_web_font_is_italic(uint32_t vmHandle, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontIsItalicImpl(vm, font);
}
uint32_t rive_web_font_axis_count(uint32_t vmHandle, uint32_t font)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontAxisCountImpl(vm, font);
}
void rive_web_font_axis(uint32_t vmHandle, uint32_t font, uint32_t index, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
fontAxisImpl(vm, font, index, out, outCount);
}
float rive_web_font_axis_value(uint32_t vmHandle, uint32_t font, uint32_t tag)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontAxisValueImpl(vm, font, tag);
}
uint32_t rive_web_font_features(uint32_t vmHandle, uint32_t font, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontFeaturesImpl(vm, font, out, outCount);
}
uint32_t rive_web_font_has_glyph(uint32_t vmHandle, uint32_t font, uint32_t codepoint)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontHasGlyphImpl(vm, font, codepoint);
}
uint32_t rive_web_font_with_options(uint32_t vmHandle, uint32_t font, const uint32_t* coords, uint32_t coordCount, const uint32_t* features, uint32_t featureCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontWithOptionsImpl(vm, font, coords, coordCount, features, featureCount);
}
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_font_glyph_verbs(uint32_t vmHandle, uint32_t font, uint32_t glyph, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontGlyphVerbsImpl(vm, font, glyph, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_font_glyph_points(uint32_t vmHandle, uint32_t font, uint32_t glyph, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fontGlyphPointsImpl(vm, font, glyph, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_new(uint32_t vmHandle)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textNewImpl(vm);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_release(uint32_t vmHandle, uint32_t text)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
textReleaseImpl(vm, text);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_append(uint32_t vmHandle, uint32_t text, const char* chars, uint32_t length, uint32_t font, uint32_t paint, float size, float lineHeight, float letterSpacing, uint32_t foreground)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg charsUtf8(vm, chars, length);
textAppendImpl(vm, text, charsUtf8.data(), charsUtf8.size(), font, paint, size, lineHeight, letterSpacing, foreground);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_clear(uint32_t vmHandle, uint32_t text)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
textClearImpl(vm, text);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_layout(uint32_t vmHandle, uint32_t text, const rive_text_layout_desc_v1* desc, uint32_t descByteCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
textLayoutImpl(vm, text, desc, descByteCount);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_draw(uint32_t vmHandle, uint32_t text, uint32_t renderer, uint32_t paint)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
textDrawImpl(vm, text, renderer, paint);
}
#endif
#ifdef WITH_RIVE_TEXT
void rive_web_text_bounds(uint32_t vmHandle, uint32_t text, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
textBoundsImpl(vm, text, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_length(uint32_t vmHandle, uint32_t text)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textLengthImpl(vm, text);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_lines(uint32_t vmHandle, uint32_t text, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textLinesImpl(vm, text, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_runs(uint32_t vmHandle, uint32_t text, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textRunsImpl(vm, text, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_glyphs(uint32_t vmHandle, uint32_t text, uint32_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textGlyphsImpl(vm, text, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_hit_test(uint32_t vmHandle, uint32_t text, float x, float y)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textHitTestImpl(vm, text, x, y);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_caret(uint32_t vmHandle, uint32_t text, uint32_t index, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textCaretImpl(vm, text, index, out, outCount);
}
#endif
#ifdef WITH_RIVE_TEXT
uint32_t rive_web_text_selection_rects(uint32_t vmHandle, uint32_t text, uint32_t from, uint32_t to, float* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return textSelectionRectsImpl(vm, text, from, to, out, outCount);
}
#endif
uint32_t rive_web_shader_linear(uint32_t vmHandle, float sx, float sy, float ex, float ey, uint32_t colors, uint32_t stops, uint32_t count)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return shaderLinearImpl(vm, sx, sy, ex, ey, colors, stops, count);
}
uint32_t rive_web_shader_radial(uint32_t vmHandle, float cx, float cy, float radius, uint32_t colors, uint32_t stops, uint32_t count)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return shaderRadialImpl(vm, cx, cy, radius, colors, stops, count);
}
void rive_web_shader_release(uint32_t vmHandle, uint32_t shader)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
shaderReleaseImpl(vm, shader);
}
uint32_t rive_web_test_blob(uint32_t vmHandle, const char* name, uint32_t nameLength, uint8_t* out, uint32_t outCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return testBlobImpl(vm, nameUtf8.data(), nameUtf8.size(), out, outCount);
}
void rive_web_transition_child_draw(uint32_t vmHandle, uint32_t child, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
transitionChildDrawImpl(vm, child, renderer);
}
float rive_web_transition_child_width(uint32_t vmHandle, uint32_t child)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return transitionChildWidthImpl(vm, child);
}
float rive_web_transition_child_height(uint32_t vmHandle, uint32_t child)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return transitionChildHeightImpl(vm, child);
}
void rive_web_renderer_save(uint32_t vmHandle, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererSaveImpl(vm, renderer);
}
void rive_web_renderer_restore(uint32_t vmHandle, uint32_t renderer)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererRestoreImpl(vm, renderer);
}
void rive_web_renderer_transform(uint32_t vmHandle, uint32_t renderer, float xx, float xy, float yx, float yy, float tx, float ty)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererTransformImpl(vm, renderer, xx, xy, yx, yy, tx, ty);
}
void rive_web_renderer_draw_path(uint32_t vmHandle, uint32_t renderer, uint32_t path, uint32_t paint)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererDrawPathImpl(vm, renderer, path, paint);
}
void rive_web_renderer_clip_path(uint32_t vmHandle, uint32_t renderer, uint32_t path)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererClipPathImpl(vm, renderer, path);
}
void rive_web_renderer_modulate_opacity(uint32_t vmHandle, uint32_t renderer, float opacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererModulateOpacityImpl(vm, renderer, opacity);
}
void rive_web_renderer_modulate_color(uint32_t vmHandle, uint32_t renderer, uint32_t color, uint32_t replace)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererModulateColorImpl(vm, renderer, color, replace);
}
void rive_web_renderer_draw_image(uint32_t vmHandle, uint32_t renderer, uint32_t image, uint32_t sampler, uint32_t blend, float opacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererDrawImageImpl(vm, renderer, image, sampler, blend, opacity);
}
void rive_web_renderer_draw_image_mesh(uint32_t vmHandle, uint32_t renderer, uint32_t image, uint32_t sampler, uint32_t vertexBuffer, uint32_t uvBuffer, uint32_t indexBuffer, uint32_t blend, float opacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererDrawImageMeshImpl(vm, renderer, image, sampler, vertexBuffer, uvBuffer, indexBuffer, blend, opacity);
}
void rive_web_renderer_draw_image_mesh_instanced(uint32_t vmHandle, uint32_t renderer, uint32_t image, uint32_t sampler, uint32_t vertexBuffer, uint32_t uvBuffer, uint32_t indexBuffer, uint32_t instances)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
rendererDrawImageMeshInstancedImpl(vm, renderer, image, sampler, vertexBuffer, uvBuffer, indexBuffer, instances);
}
uint32_t rive_web_net_fetch(uint32_t vmHandle, const uint8_t* request, uint32_t requestCount, uint32_t token)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return netFetchImpl(vm, request, requestCount, token);
}
void rive_web_net_fetch_cancel(uint32_t vmHandle, uint32_t token)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
netFetchCancelImpl(vm, token);
}
uint32_t rive_web_file_decode(uint32_t vmHandle, const uint8_t* bytes, uint32_t byteCount, uint32_t* statusOut, uint32_t statusCount)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileDecodeImpl(vm, bytes, byteCount, statusOut, statusCount);
}
void rive_web_file_release(uint32_t vmHandle, uint32_t file)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
fileReleaseImpl(vm, file);
}
uint32_t rive_web_file_artboard_count(uint32_t vmHandle, uint32_t file)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileArtboardCountImpl(vm, file);
}
uint32_t rive_web_file_artboard_name(uint32_t vmHandle, uint32_t file, uint32_t index, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileArtboardNameImpl(vm, file, index, buffer, capacity);
}
uint32_t rive_web_file_bindable(uint32_t vmHandle, uint32_t file, const char* name, uint32_t nameLength, uint32_t useDefault)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
WasmStringArg nameUtf8(vm, name, nameLength);
return fileBindableImpl(vm, file, nameUtf8.data(), nameUtf8.size(), useDefault);
}
void rive_web_file_bindable_release(uint32_t vmHandle, uint32_t bindable)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
fileBindableReleaseImpl(vm, bindable);
}
uint32_t rive_web_file_bindable_name(uint32_t vmHandle, uint32_t bindable, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileBindableNameImpl(vm, bindable, buffer, capacity);
}
uint32_t rive_web_file_bindable_data(uint32_t vmHandle, uint32_t bindable)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileBindableDataImpl(vm, bindable);
}
uint32_t rive_web_file_bindable_equal(uint32_t vmHandle, uint32_t a, uint32_t b)
{
WasmScriptingVM* vm = vmFromHandle(vmHandle);
return fileBindableEqualImpl(vm, a, b);
}
uint32_t rive_web_lanes_start(uint32_t vmHandle, uint32_t kind, uint32_t entry, const uint8_t* input, uint32_t inputByteCount, const uint32_t* holds, uint32_t holdCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesStartImpl(vm, kind, entry, input, inputByteCount, holds, holdCount);
}
uint32_t rive_web_lanes_state(uint32_t vmHandle, uint32_t lane)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesStateImpl(vm, lane);
}
uint32_t rive_web_lanes_failed(uint32_t vmHandle, uint32_t lane, char* buffer, uint32_t capacity)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesFailedImpl(vm, lane, buffer, capacity);
}
void rive_web_lanes_stop(uint32_t vmHandle, uint32_t lane)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
lanesStopImpl(vm, lane);
}
void rive_web_lanes_release(uint32_t vmHandle, uint32_t lane)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
lanesReleaseImpl(vm, lane);
}
uint32_t rive_web_lanes_result(uint32_t vmHandle, uint32_t lane, uint32_t out, uint32_t outCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesResultImpl(vm, lane, out, outCount);
}
uint32_t rive_web_lanes_watch(uint32_t vmHandle, uint32_t lane)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesWatchImpl(vm, lane);
}
uint32_t rive_web_lanes_wait(uint32_t vmHandle, uint32_t signal, double after, double timeoutSeconds)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesWaitImpl(vm, signal, after, timeoutSeconds);
}
void rive_web_lanes_cancel_wait(uint32_t vmHandle, uint32_t token)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
lanesCancelWaitImpl(vm, token);
}
double rive_web_lanes_wait_within(uint32_t vmHandle, uint32_t signal, double after, double timeoutSeconds)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return lanesWaitWithinImpl(vm, signal, after, timeoutSeconds);
}
uint32_t rive_web_jobs_threads(uint32_t vmHandle)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return jobsThreadsImpl(vm);
}
uint32_t rive_web_jobs_join(uint32_t vmHandle, uint32_t job, double timeoutSeconds)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return jobsJoinImpl(vm, job, timeoutSeconds);
}
uint32_t rive_web_jobs_join_any(uint32_t vmHandle, const uint32_t* jobs, uint32_t count, double timeoutSeconds)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return jobsJoinAnyImpl(vm, jobs, count, timeoutSeconds);
}
uint32_t rive_web_parallel_size(uint32_t vmHandle)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return parallelSizeImpl(vm);
}
#ifdef RIVE_WASM_PARALLEL
uint32_t rive_web_parallel_run(uint32_t vmHandle, uint32_t control)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return parallelRunImpl(vm, control);
}
#endif
uint32_t rive_web_shared_region_create(uint32_t vmHandle, uint32_t size)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionCreateImpl(vm, size);
}
uint32_t rive_web_shared_region_size(uint32_t vmHandle, uint32_t region)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionSizeImpl(vm, region);
}
uint32_t rive_web_shared_region_lock(uint32_t vmHandle, uint32_t region, double timeoutSeconds)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionLockImpl(vm, region, timeoutSeconds);
}
void rive_web_shared_region_unlock(uint32_t vmHandle, uint32_t region)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
sharedRegionUnlockImpl(vm, region);
}
uint32_t rive_web_shared_region_read(uint32_t vmHandle, uint32_t region, uint32_t offset, uint8_t* out, uint32_t outByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionReadImpl(vm, region, offset, out, outByteCount);
}
uint32_t rive_web_shared_region_write(uint32_t vmHandle, uint32_t region, uint32_t offset, const uint8_t* data, uint32_t dataByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionWriteImpl(vm, region, offset, data, dataByteCount);
}
uint32_t rive_web_shared_region_poisoned(uint32_t vmHandle, uint32_t region)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRegionPoisonedImpl(vm, region);
}
double rive_web_shared_atomic_load(uint32_t vmHandle, uint32_t region, uint32_t offset)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedAtomicLoadImpl(vm, region, offset);
}
double rive_web_shared_atomic_store(uint32_t vmHandle, uint32_t region, uint32_t offset, uint32_t value)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedAtomicStoreImpl(vm, region, offset, value);
}
double rive_web_shared_atomic_add(uint32_t vmHandle, uint32_t region, uint32_t offset, uint32_t value)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedAtomicAddImpl(vm, region, offset, value);
}
double rive_web_shared_atomic_cas(uint32_t vmHandle, uint32_t region, uint32_t offset, uint32_t expected, uint32_t desired)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedAtomicCasImpl(vm, region, offset, expected, desired);
}
uint32_t rive_web_shared_ring_create(uint32_t vmHandle, uint32_t capacity)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingCreateImpl(vm, capacity);
}
uint32_t rive_web_shared_ring_write(uint32_t vmHandle, uint32_t ring, const uint8_t* data, uint32_t dataByteCount, const uint32_t* holds, uint32_t holdCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingWriteImpl(vm, ring, data, dataByteCount, holds, holdCount);
}
uint32_t rive_web_shared_ring_read(uint32_t vmHandle, uint32_t ring, uint8_t* out, uint32_t outByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingReadImpl(vm, ring, out, outByteCount);
}
uint32_t rive_web_shared_ring_drop(uint32_t vmHandle, uint32_t ring, uint32_t capacity)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingDropImpl(vm, ring, capacity);
}
uint32_t rive_web_shared_ring_used(uint32_t vmHandle, uint32_t ring)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingUsedImpl(vm, ring);
}
uint32_t rive_web_shared_ring_signal(uint32_t vmHandle, uint32_t ring, uint32_t space)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRingSignalImpl(vm, ring, space);
}
uint32_t rive_web_shared_snapshot_create(uint32_t vmHandle, uint32_t capacity)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSnapshotCreateImpl(vm, capacity);
}
uint32_t rive_web_shared_snapshot_publish(uint32_t vmHandle, uint32_t snapshot, const uint8_t* data, uint32_t dataByteCount, const uint32_t* holds, uint32_t holdCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSnapshotPublishImpl(vm, snapshot, data, dataByteCount, holds, holdCount);
}
uint32_t rive_web_shared_snapshot_read(uint32_t vmHandle, uint32_t snapshot, uint8_t* out, uint32_t outByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSnapshotReadImpl(vm, snapshot, out, outByteCount);
}
double rive_web_shared_snapshot_seq(uint32_t vmHandle, uint32_t snapshot)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSnapshotSeqImpl(vm, snapshot);
}
void rive_web_shared_read_done(uint32_t vmHandle)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
sharedReadDoneImpl(vm);
}
uint32_t rive_web_shared_signal_create(uint32_t vmHandle)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSignalCreateImpl(vm);
}
void rive_web_shared_signal_notify(uint32_t vmHandle, uint32_t signal)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
sharedSignalNotifyImpl(vm, signal);
}
double rive_web_shared_signal_seq(uint32_t vmHandle, uint32_t signal)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedSignalSeqImpl(vm, signal);
}
uint32_t rive_web_shared_blob_create(uint32_t vmHandle, const uint8_t* data, uint32_t dataByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedBlobCreateImpl(vm, data, dataByteCount);
}
uint32_t rive_web_shared_blob_size(uint32_t vmHandle, uint32_t blob)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedBlobSizeImpl(vm, blob);
}
uint32_t rive_web_shared_blob_read(uint32_t vmHandle, uint32_t blob, uint32_t offset, uint8_t* out, uint32_t outByteCount)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedBlobReadImpl(vm, blob, offset, out, outByteCount);
}
uint32_t rive_web_shared_retain(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
return sharedRetainImpl(vm, object);
}
void rive_web_shared_release(uint32_t vmHandle, uint32_t object)
{
WasmScriptingVM* vm = bootVmFromHandle(vmHandle);
sharedReleaseImpl(vm, object);
}
static void* const kRiveWebCalls[] = {
(void*)rive_web_rt_log,
(void*)rive_web_rt_mark_needs_update,
(void*)rive_web_rt_budget_exceeded,
(void*)rive_web_rt_error,
(void*)rive_web_rt_debug_enter,
(void*)rive_web_rt_debug_line,
(void*)rive_web_rt_debug_leave,
(void*)rive_web_rt_utc_offset,
(void*)rive_web_rt_is_dst,
(void*)rive_web_rt_zone_name,
(void*)rive_web_data_view_model,
(void*)rive_web_data_root_view_model,
(void*)rive_web_data_global_view_model,
(void*)rive_web_data_global_view_model_names,
(void*)rive_web_data_context,
(void*)rive_web_data_context_parent,
(void*)rive_web_data_context_view_model,
(void*)rive_web_data_context_release,
(void*)rive_web_data_has_view_model,
(void*)rive_web_data_new_view_model,
(void*)rive_web_data_vmi_release,
(void*)rive_web_data_vmi_number,
(void*)rive_web_data_vmi_boolean,
(void*)rive_web_data_vmi_string,
(void*)rive_web_data_vmi_trigger,
(void*)rive_web_data_vmi_color,
(void*)rive_web_data_vmi_view_model,
(void*)rive_web_data_vmi_property,
(void*)rive_web_data_vmi_instance,
(void*)rive_web_data_vmi_symbol_index,
(void*)rive_web_data_vmi_equal,
(void*)rive_web_data_view_model_get,
(void*)rive_web_data_vmi_list,
(void*)rive_web_data_vmi_enum,
(void*)rive_web_data_vmi_image,
(void*)rive_web_data_vmi_font,
(void*)rive_web_data_vmi_blob,
(void*)rive_web_data_vmi_artboard,
(void*)rive_web_data_image_get,
(void*)rive_web_data_image_set,
(void*)rive_web_data_font_get,
(void*)rive_web_data_font_set,
(void*)rive_web_data_font_release,
(void*)rive_web_data_blob_present,
(void*)rive_web_data_blob_get,
(void*)rive_web_data_blob_name,
(void*)rive_web_data_blob_set,
(void*)rive_web_data_blob_clear,
(void*)rive_web_data_artboard_get,
(void*)rive_web_data_artboard_set,
(void*)rive_web_data_enum_get,
(void*)rive_web_data_enum_set,
(void*)rive_web_data_enum_values,
(void*)rive_web_data_prop_release,
(void*)rive_web_data_trigger_fire,
(void*)rive_web_data_list_length,
(void*)rive_web_data_list_push,
(void*)rive_web_data_list_pop,
(void*)rive_web_data_list_shift,
(void*)rive_web_data_list_clear,
(void*)rive_web_data_list_swap,
(void*)rive_web_data_list_insert,
(void*)rive_web_data_list_remove,
(void*)rive_web_data_list_remove_at,
(void*)rive_web_data_list_remove_all_of,
(void*)rive_web_data_list_get,
(void*)rive_web_data_view_model_set,
(void*)rive_web_data_color_get,
(void*)rive_web_data_color_set,
(void*)rive_web_data_number_get,
(void*)rive_web_data_number_set,
(void*)rive_web_data_boolean_get,
(void*)rive_web_data_boolean_set,
(void*)rive_web_data_string_get,
(void*)rive_web_data_string_changed,
(void*)rive_web_data_string_set,
(void*)rive_web_data_watch,
(void*)rive_web_data_unwatch,
(void*)rive_web_data_convert_result,
(void*)rive_web_artboard_release,
(void*)rive_web_artboard_advance,
(void*)rive_web_artboard_draw,
(void*)rive_web_artboard_instance,
(void*)rive_web_artboard_data,
(void*)rive_web_artboard_width,
(void*)rive_web_artboard_height,
(void*)rive_web_artboard_set_width,
(void*)rive_web_artboard_set_height,
(void*)rive_web_artboard_frame_origin,
(void*)rive_web_artboard_set_frame_origin,
(void*)rive_web_artboard_bounds,
(void*)rive_web_artboard_pointer_event,
(void*)rive_web_artboard_scroll_event,
(void*)rive_web_artboard_gamepad_event,
(void*)rive_web_artboard_animation,
(void*)rive_web_artboard_animation_release,
(void*)rive_web_artboard_animation_duration,
(void*)rive_web_artboard_animation_advance,
(void*)rive_web_artboard_animation_set_time,
(void*)rive_web_artboard_add_to_path,
(void*)rive_web_artboard_node,
(void*)rive_web_artboard_node_release,
(void*)rive_web_artboard_node_transform,
(void*)rive_web_artboard_node_set,
(void*)rive_web_artboard_node_world_transform,
(void*)rive_web_artboard_node_set_world_transform,
(void*)rive_web_artboard_node_decompose,
(void*)rive_web_artboard_node_path_verbs,
(void*)rive_web_artboard_node_path_points,
(void*)rive_web_artboard_node_paint,
(void*)rive_web_artboard_node_children,
(void*)rive_web_artboard_node_parent,
(void*)rive_web_artboard_property_key,
(void*)rive_web_artboard_draw_visit,
(void*)rive_web_artboard_draw_modulated,
(void*)rive_web_artboard_drawable_draw,
(void*)rive_web_artboard_drawable_value,
(void*)rive_web_artboard_drawable_string,
#ifdef WITH_RIVE_TOOLS
(void*)rive_web_artboard_drawable_properties,
#else
nullptr,
#endif
(void*)rive_web_audio_source,
(void*)rive_web_audio_source_release,
(void*)rive_web_audio_source_duration,
(void*)rive_web_audio_source_sample_rate,
(void*)rive_web_audio_source_channels,
(void*)rive_web_audio_source_to_blob,
(void*)rive_web_audio_stream,
(void*)rive_web_audio_stream_ring,
(void*)rive_web_audio_stream_seeks,
(void*)rive_web_audio_stream_channels,
(void*)rive_web_audio_stream_sample_rate,
(void*)rive_web_audio_stream_seek_frame,
(void*)rive_web_audio_stream_set_loop,
(void*)rive_web_audio_stream_ended,
(void*)rive_web_audio_stream_release,
(void*)rive_web_audio_play,
(void*)rive_web_audio_play_at_time,
(void*)rive_web_audio_play_in_time,
(void*)rive_web_audio_play_at_frame,
(void*)rive_web_audio_play_in_frame,
(void*)rive_web_audio_time,
(void*)rive_web_audio_time_frame,
(void*)rive_web_audio_sample_rate,
(void*)rive_web_audio_processor_sample_rate,
(void*)rive_web_audio_processor_channels,
(void*)rive_web_audio_sound_release,
(void*)rive_web_audio_sound_play,
(void*)rive_web_audio_sound_pause,
(void*)rive_web_audio_sound_resume,
(void*)rive_web_audio_sound_stop,
(void*)rive_web_audio_sound_seek,
(void*)rive_web_audio_sound_seek_frame,
(void*)rive_web_audio_sound_completed,
(void*)rive_web_audio_sound_time,
(void*)rive_web_audio_sound_time_frame,
(void*)rive_web_audio_sound_volume,
(void*)rive_web_audio_sound_set_volume,
(void*)rive_web_path_new,
(void*)rive_web_path_update,
(void*)rive_web_path_release,
(void*)rive_web_path_add,
(void*)rive_web_path_verbs,
(void*)rive_web_path_points,
(void*)rive_web_path_effect_result,
(void*)rive_web_measure_path_new,
(void*)rive_web_measure_contours_new,
(void*)rive_web_measure_contour_next,
(void*)rive_web_measure_length,
(void*)rive_web_measure_is_closed,
(void*)rive_web_measure_pos_tan,
(void*)rive_web_measure_warp,
(void*)rive_web_measure_extract,
(void*)rive_web_measure_extract_read,
(void*)rive_web_measure_release,
(void*)rive_web_paint_new,
(void*)rive_web_paint_release,
(void*)rive_web_paint_style,
(void*)rive_web_paint_color,
(void*)rive_web_paint_thickness,
(void*)rive_web_paint_join,
(void*)rive_web_paint_cap,
(void*)rive_web_paint_blend_mode,
(void*)rive_web_paint_feather,
(void*)rive_web_paint_shader,
(void*)rive_web_paint_shader_transform,
(void*)rive_web_canvas_new,
(void*)rive_web_canvas_release,
(void*)rive_web_canvas_width,
(void*)rive_web_canvas_height,
(void*)rive_web_canvas_resize,
(void*)rive_web_canvas_image,
(void*)rive_web_canvas_begin_frame,
(void*)rive_web_canvas_end_frame,
(void*)rive_web_gpu_features,
(void*)rive_web_gpu_canvas_new,
(void*)rive_web_gpu_canvas_release,
(void*)rive_web_gpu_canvas_color_view,
(void*)rive_web_gpu_canvas_image,
(void*)rive_web_gpu_canvas_resize,
(void*)rive_web_gpu_target_view,
(void*)rive_web_gpu_pass_begin,
(void*)rive_web_gpu_pass_set_pipeline,
(void*)rive_web_gpu_pass_set_vertex_buffer,
(void*)rive_web_gpu_pass_set_index_buffer,
(void*)rive_web_gpu_pass_set_bind_group,
(void*)rive_web_gpu_pass_set_viewport,
(void*)rive_web_gpu_pass_set_scissor,
(void*)rive_web_gpu_pass_set_stencil_reference,
(void*)rive_web_gpu_pass_set_blend_color,
(void*)rive_web_gpu_pass_draw,
(void*)rive_web_gpu_pass_draw_indexed,
(void*)rive_web_gpu_pass_finish,
(void*)rive_web_gpu_pass_release,
(void*)rive_web_gpu_image_view,
(void*)rive_web_gpu_buffer_new,
(void*)rive_web_gpu_buffer_update,
(void*)rive_web_gpu_buffer_update_blob,
(void*)rive_web_gpu_buffer_new_blob,
(void*)rive_web_gpu_buffer_release,
(void*)rive_web_gpu_texture_new,
(void*)rive_web_gpu_texture_upload,
(void*)rive_web_gpu_texture_release,
(void*)rive_web_gpu_sampler_new,
(void*)rive_web_gpu_sampler_release,
(void*)rive_web_gpu_texture_view_new,
(void*)rive_web_gpu_texture_view_release,
(void*)rive_web_gpu_shader_target,
(void*)rive_web_gpu_shader_asset_bytes,
(void*)rive_web_gpu_shader_asset_id,
(void*)rive_web_gpu_shader_module_from_asset,
#ifdef WITH_RIVE_TOOLS
(void*)rive_web_gpu_shader_module_from_rstb,
#else
nullptr,
#endif
(void*)rive_web_gpu_shader_module_release,
(void*)rive_web_gpu_bind_group_layout_new,
(void*)rive_web_gpu_bind_group_layout_release,
(void*)rive_web_gpu_bind_group_layout_from_shader,
(void*)rive_web_gpu_bind_group_layout_from_shaders,
(void*)rive_web_gpu_bind_group_layout_from_entries,
(void*)rive_web_gpu_bind_group_new,
(void*)rive_web_gpu_bind_group_release,
(void*)rive_web_gpu_pipeline_new,
(void*)rive_web_gpu_pipeline_release,
(void*)rive_web_mat4_multiply,
(void*)rive_web_mat4_invert,
(void*)rive_web_buffer_new,
(void*)rive_web_buffer_update,
(void*)rive_web_buffer_release,
(void*)rive_web_mesh_instances_new,
(void*)rive_web_mesh_instances_resize,
(void*)rive_web_mesh_instances_update,
(void*)rive_web_mesh_instances_release,
(void*)rive_web_blob_asset_bytes,
(void*)rive_web_image_from_asset,
(void*)rive_web_image_width,
(void*)rive_web_image_height,
(void*)rive_web_image_release,
(void*)rive_web_image_decode,
(void*)rive_web_image_decode_cancel,
(void*)rive_web_font_from_asset,
#ifdef WITH_RIVE_TEXT
(void*)rive_web_font_decode,
#else
nullptr,
#endif
(void*)rive_web_font_release,
(void*)rive_web_font_metrics,
(void*)rive_web_font_weight,
(void*)rive_web_font_is_italic,
(void*)rive_web_font_axis_count,
(void*)rive_web_font_axis,
(void*)rive_web_font_axis_value,
(void*)rive_web_font_features,
(void*)rive_web_font_has_glyph,
(void*)rive_web_font_with_options,
#ifdef WITH_RIVE_TEXT
(void*)rive_web_font_glyph_verbs,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_font_glyph_points,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_new,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_release,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_append,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_clear,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_layout,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_draw,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_bounds,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_length,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_lines,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_runs,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_glyphs,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_hit_test,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_caret,
#else
nullptr,
#endif
#ifdef WITH_RIVE_TEXT
(void*)rive_web_text_selection_rects,
#else
nullptr,
#endif
(void*)rive_web_shader_linear,
(void*)rive_web_shader_radial,
(void*)rive_web_shader_release,
(void*)rive_web_test_blob,
(void*)rive_web_transition_child_draw,
(void*)rive_web_transition_child_width,
(void*)rive_web_transition_child_height,
(void*)rive_web_renderer_save,
(void*)rive_web_renderer_restore,
(void*)rive_web_renderer_transform,
(void*)rive_web_renderer_draw_path,
(void*)rive_web_renderer_clip_path,
(void*)rive_web_renderer_modulate_opacity,
(void*)rive_web_renderer_modulate_color,
(void*)rive_web_renderer_draw_image,
(void*)rive_web_renderer_draw_image_mesh,
(void*)rive_web_renderer_draw_image_mesh_instanced,
(void*)rive_web_net_fetch,
(void*)rive_web_net_fetch_cancel,
(void*)rive_web_file_decode,
(void*)rive_web_file_release,
(void*)rive_web_file_artboard_count,
(void*)rive_web_file_artboard_name,
(void*)rive_web_file_bindable,
(void*)rive_web_file_bindable_release,
(void*)rive_web_file_bindable_name,
(void*)rive_web_file_bindable_data,
(void*)rive_web_file_bindable_equal,
(void*)rive_web_lanes_start,
(void*)rive_web_lanes_state,
(void*)rive_web_lanes_failed,
(void*)rive_web_lanes_stop,
(void*)rive_web_lanes_release,
(void*)rive_web_lanes_result,
(void*)rive_web_lanes_watch,
(void*)rive_web_lanes_wait,
(void*)rive_web_lanes_cancel_wait,
(void*)rive_web_lanes_wait_within,
(void*)rive_web_jobs_threads,
(void*)rive_web_jobs_join,
(void*)rive_web_jobs_join_any,
(void*)rive_web_parallel_size,
#ifdef RIVE_WASM_PARALLEL
(void*)rive_web_parallel_run,
#else
nullptr,
#endif
(void*)rive_web_shared_region_create,
(void*)rive_web_shared_region_size,
(void*)rive_web_shared_region_lock,
(void*)rive_web_shared_region_unlock,
(void*)rive_web_shared_region_read,
(void*)rive_web_shared_region_write,
(void*)rive_web_shared_region_poisoned,
(void*)rive_web_shared_atomic_load,
(void*)rive_web_shared_atomic_store,
(void*)rive_web_shared_atomic_add,
(void*)rive_web_shared_atomic_cas,
(void*)rive_web_shared_ring_create,
(void*)rive_web_shared_ring_write,
(void*)rive_web_shared_ring_read,
(void*)rive_web_shared_ring_drop,
(void*)rive_web_shared_ring_used,
(void*)rive_web_shared_ring_signal,
(void*)rive_web_shared_snapshot_create,
(void*)rive_web_shared_snapshot_publish,
(void*)rive_web_shared_snapshot_read,
(void*)rive_web_shared_snapshot_seq,
(void*)rive_web_shared_read_done,
(void*)rive_web_shared_signal_create,
(void*)rive_web_shared_signal_notify,
(void*)rive_web_shared_signal_seq,
(void*)rive_web_shared_blob_create,
(void*)rive_web_shared_blob_size,
(void*)rive_web_shared_blob_read,
(void*)rive_web_shared_retain,
(void*)rive_web_shared_release,
(void*)rive_web_console,
(void*)rive_web_trace,
};
EMSCRIPTEN_KEEPALIVE
void* const* rive_web_calls() { return kRiveWebCalls; }
} // extern "C"
#endif // __EMSCRIPTEN__