| #ifndef _RIVE_BINDINGS_V1_H_ | |
| #define _RIVE_BINDINGS_V1_H_ | |
| // Generated by src/wasm/idl/generate.py from bindings.py. Do not edit. | |
| // | |
| // The wasm import contract a script module compiles against: every | |
| // native contact is one of these calls, objects cross as u32 | |
| // handles. Any language that can declare wasm imports can target | |
| // this surface directly. | |
| // clang-format off | |
| #include <stdint.h> | |
| #define RIVE_BINDINGS_ABI_VERSION 1 | |
| #define RIVE_BINDING_IMPORT(module, name) \ | |
| __attribute__((import_module(module), import_name(name))) | |
| #ifdef __cplusplus | |
| extern "C" { | |
| #endif | |
| typedef struct rive_gpu_texture_desc_v1 | |
| { | |
| uint32_t width; | |
| uint32_t height; | |
| uint32_t depthOrArrayLayers; | |
| uint32_t format; | |
| uint32_t textureType; | |
| uint32_t renderTarget; | |
| uint32_t numMipmaps; | |
| uint32_t sampleCount; | |
| } rive_gpu_texture_desc_v1; | |
| typedef struct rive_gpu_texture_upload_v1 | |
| { | |
| uint32_t bytesPerRow; | |
| uint32_t rowsPerImage; | |
| uint32_t mipLevel; | |
| uint32_t layer; | |
| uint32_t x; | |
| uint32_t y; | |
| uint32_t z; | |
| uint32_t width; | |
| uint32_t height; | |
| uint32_t depth; | |
| } rive_gpu_texture_upload_v1; | |
| typedef struct rive_gpu_sampler_desc_v1 | |
| { | |
| uint32_t minFilter; | |
| uint32_t magFilter; | |
| uint32_t mipmapFilter; | |
| uint32_t wrapU; | |
| uint32_t wrapV; | |
| uint32_t wrapW; | |
| uint32_t compare; | |
| float minLod; | |
| float maxLod; | |
| uint32_t maxAnisotropy; | |
| } rive_gpu_sampler_desc_v1; | |
| typedef struct rive_gpu_texture_view_desc_v1 | |
| { | |
| uint32_t dimension; | |
| uint32_t aspect; | |
| uint32_t baseMipLevel; | |
| uint32_t mipCount; | |
| uint32_t baseLayer; | |
| uint32_t layerCount; | |
| } rive_gpu_texture_view_desc_v1; | |
| typedef struct rive_gpu_shader_module_desc_v1 | |
| { | |
| uint32_t language; | |
| uint32_t stage; | |
| uint32_t codeSize; | |
| uint32_t hlslSourceSize; | |
| uint32_t hlslEntryPointSize; | |
| uint32_t bindingMapSize; | |
| uint32_t glFixupSize; | |
| uint32_t shaderAssetId; | |
| } rive_gpu_shader_module_desc_v1; | |
| typedef struct rive_gpu_bind_group_layout_entry_v1 | |
| { | |
| uint32_t binding; | |
| uint32_t kind; | |
| uint32_t visibility; | |
| uint32_t hasDynamicOffset; | |
| uint32_t textureViewDim; | |
| uint32_t textureSampleType; | |
| uint32_t textureMultisampled; | |
| uint32_t minBindingSize; | |
| uint32_t nativeSlotVS; | |
| uint32_t nativeSlotFS; | |
| uint32_t nativeSlotCS; | |
| } rive_gpu_bind_group_layout_entry_v1; | |
| typedef struct rive_gpu_bind_group_ubo_v1 | |
| { | |
| uint32_t slot; | |
| uint32_t buffer; | |
| uint32_t offset; | |
| uint32_t size; | |
| } rive_gpu_bind_group_ubo_v1; | |
| typedef struct rive_gpu_bind_group_texture_v1 | |
| { | |
| uint32_t slot; | |
| uint32_t view; | |
| } rive_gpu_bind_group_texture_v1; | |
| typedef struct rive_gpu_bind_group_sampler_v1 | |
| { | |
| uint32_t slot; | |
| uint32_t sampler; | |
| } rive_gpu_bind_group_sampler_v1; | |
| typedef struct rive_gpu_color_target_v1 | |
| { | |
| uint32_t format; | |
| uint32_t blendEnabled; | |
| uint32_t srcColor; | |
| uint32_t dstColor; | |
| uint32_t colorOp; | |
| uint32_t srcAlpha; | |
| uint32_t dstAlpha; | |
| uint32_t alphaOp; | |
| uint32_t writeMask; | |
| } rive_gpu_color_target_v1; | |
| typedef struct rive_gpu_vertex_buffer_layout_v1 | |
| { | |
| uint32_t stride; | |
| uint32_t stepMode; | |
| uint32_t attributeCount; | |
| } rive_gpu_vertex_buffer_layout_v1; | |
| typedef struct rive_gpu_vertex_attribute_v1 | |
| { | |
| uint32_t format; | |
| uint32_t offset; | |
| uint32_t shaderSlot; | |
| } rive_gpu_vertex_attribute_v1; | |
| typedef struct rive_gpu_pass_color_attachment_v1 | |
| { | |
| uint32_t view; | |
| uint32_t resolveTarget; | |
| uint32_t loadOp; | |
| uint32_t storeOp; | |
| float clearR; | |
| float clearG; | |
| float clearB; | |
| float clearA; | |
| } rive_gpu_pass_color_attachment_v1; | |
| typedef struct rive_gpu_pass_desc_v1 | |
| { | |
| uint32_t colorCount; | |
| uint32_t depthView; | |
| uint32_t depthLoadOp; | |
| uint32_t depthStoreOp; | |
| float depthClearValue; | |
| uint32_t stencilLoadOp; | |
| uint32_t stencilStoreOp; | |
| uint32_t stencilClearValue; | |
| } rive_gpu_pass_desc_v1; | |
| typedef struct rive_gpu_pipeline_desc_v1 | |
| { | |
| uint32_t vertexModule; | |
| uint32_t fragmentModule; | |
| uint32_t vertexEntrySize; | |
| uint32_t fragmentEntrySize; | |
| uint32_t colorCount; | |
| uint32_t vertexBufferCount; | |
| uint32_t attributeCount; | |
| uint32_t bindGroupLayoutCount; | |
| uint32_t topology; | |
| uint32_t indexFormat; | |
| uint32_t cullMode; | |
| uint32_t winding; | |
| uint32_t depthFormat; | |
| uint32_t depthCompare; | |
| uint32_t depthWriteEnabled; | |
| uint32_t depthBias; | |
| float depthBiasSlopeScale; | |
| float depthBiasClamp; | |
| uint32_t stencilFrontCompare; | |
| uint32_t stencilFrontFailOp; | |
| uint32_t stencilFrontDepthFailOp; | |
| uint32_t stencilFrontPassOp; | |
| uint32_t stencilBackCompare; | |
| uint32_t stencilBackFailOp; | |
| uint32_t stencilBackDepthFailOp; | |
| uint32_t stencilBackPassOp; | |
| uint32_t stencilReadMask; | |
| uint32_t stencilWriteMask; | |
| uint32_t sampleCount; | |
| } rive_gpu_pipeline_desc_v1; | |
| // rive_rt_v1 | |
| RIVE_BINDING_IMPORT("rive_rt_v1", "log") | |
| void rive_rt_log(int32_t level, const char* message, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_rt_v1", "mark_needs_update") | |
| void rive_rt_mark_needs_update(uint32_t object); | |
| RIVE_BINDING_IMPORT("rive_rt_v1", "budget_exceeded") | |
| void rive_rt_budget_exceeded(uint32_t ms); | |
| // rive_data_v1 | |
| RIVE_BINDING_IMPORT("rive_data_v1", "view_model") | |
| uint32_t rive_data_view_model(uint32_t object); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "root_view_model") | |
| uint32_t rive_data_root_view_model(uint32_t object); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "global_view_model") | |
| uint32_t rive_data_global_view_model(uint32_t object, const char* name, uint32_t nameLength); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "global_view_model_names") | |
| uint32_t rive_data_global_view_model_names(uint32_t object, char* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "context") | |
| uint32_t rive_data_context(uint32_t object); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "context_parent") | |
| uint32_t rive_data_context_parent(uint32_t dataContext); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "context_view_model") | |
| uint32_t rive_data_context_view_model(uint32_t dataContext); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "context_release") | |
| void rive_data_context_release(uint32_t dataContext); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "has_view_model") | |
| uint32_t rive_data_has_view_model(const char* name, uint32_t nameLength); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "new_view_model") | |
| uint32_t rive_data_new_view_model(const char* name, uint32_t nameLength, const char* templateName, uint32_t templateLength); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_release") | |
| void rive_data_vmi_release(uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_number") | |
| uint32_t rive_data_vmi_number(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_boolean") | |
| uint32_t rive_data_vmi_boolean(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_string") | |
| uint32_t rive_data_vmi_string(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_trigger") | |
| uint32_t rive_data_vmi_trigger(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_color") | |
| uint32_t rive_data_vmi_color(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_view_model") | |
| uint32_t rive_data_vmi_view_model(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_property") | |
| uint32_t rive_data_vmi_property(uint32_t vmi, const char* name, uint32_t length, uint32_t* kindOut, uint32_t kindCount); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_instance") | |
| uint32_t rive_data_vmi_instance(uint32_t vmi, const char* name, uint32_t nameLength); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_symbol_index") | |
| uint32_t rive_data_vmi_symbol_index(uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_equal") | |
| uint32_t rive_data_vmi_equal(uint32_t a, uint32_t b); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "view_model_get") | |
| uint32_t rive_data_view_model_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_list") | |
| uint32_t rive_data_vmi_list(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_enum") | |
| uint32_t rive_data_vmi_enum(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_image") | |
| uint32_t rive_data_vmi_image(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_font") | |
| uint32_t rive_data_vmi_font(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "vmi_blob") | |
| uint32_t rive_data_vmi_blob(uint32_t vmi, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "image_get") | |
| uint32_t rive_data_image_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "image_set") | |
| void rive_data_image_set(uint32_t property, uint32_t image); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "font_get") | |
| uint32_t rive_data_font_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "font_set") | |
| void rive_data_font_set(uint32_t property, uint32_t font); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "font_release") | |
| void rive_data_font_release(uint32_t font); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "blob_present") | |
| uint32_t rive_data_blob_present(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "blob_get") | |
| uint32_t rive_data_blob_get(uint32_t property, uint8_t* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "blob_name") | |
| uint32_t rive_data_blob_name(uint32_t property, char* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "blob_set") | |
| void rive_data_blob_set(uint32_t property, const uint8_t* bytes, uint32_t byteCount); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "blob_clear") | |
| void rive_data_blob_clear(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "enum_get") | |
| uint32_t rive_data_enum_get(uint32_t property, char* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "enum_set") | |
| void rive_data_enum_set(uint32_t property, const char* value, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "enum_values") | |
| uint32_t rive_data_enum_values(uint32_t property, char* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "prop_release") | |
| void rive_data_prop_release(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "trigger_fire") | |
| void rive_data_trigger_fire(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_length") | |
| uint32_t rive_data_list_length(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_push") | |
| void rive_data_list_push(uint32_t property, uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_pop") | |
| uint32_t rive_data_list_pop(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_shift") | |
| uint32_t rive_data_list_shift(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_clear") | |
| void rive_data_list_clear(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_swap") | |
| void rive_data_list_swap(uint32_t property, uint32_t index1, uint32_t index2); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_insert") | |
| void rive_data_list_insert(uint32_t property, uint32_t vmi, uint32_t index); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_remove") | |
| void rive_data_list_remove(uint32_t property, uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_remove_at") | |
| void rive_data_list_remove_at(uint32_t property, uint32_t index); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_remove_all_of") | |
| void rive_data_list_remove_all_of(uint32_t property, uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "list_get") | |
| uint32_t rive_data_list_get(uint32_t property, uint32_t index); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "view_model_set") | |
| void rive_data_view_model_set(uint32_t property, uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "color_get") | |
| uint32_t rive_data_color_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "color_set") | |
| void rive_data_color_set(uint32_t property, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "number_get") | |
| float rive_data_number_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "number_set") | |
| void rive_data_number_set(uint32_t property, float value); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "boolean_get") | |
| uint32_t rive_data_boolean_get(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "boolean_set") | |
| void rive_data_boolean_set(uint32_t property, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "string_get") | |
| uint32_t rive_data_string_get(uint32_t property, char* buffer, uint32_t capacity); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "string_set") | |
| void rive_data_string_set(uint32_t property, const char* value, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "watch") | |
| void rive_data_watch(uint32_t property, uint32_t token); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "unwatch") | |
| void rive_data_unwatch(uint32_t property); | |
| RIVE_BINDING_IMPORT("rive_data_v1", "convert_result") | |
| void rive_data_convert_result(uint32_t kind, float number, uint32_t booleanValue, uint32_t color, const char* value, uint32_t length); | |
| // rive_artboard_v1 | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "release") | |
| void rive_artboard_release(uint32_t artboard); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "advance") | |
| uint32_t rive_artboard_advance(uint32_t artboard, float seconds); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "draw") | |
| void rive_artboard_draw(uint32_t artboard, uint32_t renderer); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "instance") | |
| uint32_t rive_artboard_instance(uint32_t artboard, uint32_t vmi); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "data") | |
| uint32_t rive_artboard_data(uint32_t artboard); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "width") | |
| float rive_artboard_width(uint32_t artboard); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "height") | |
| float rive_artboard_height(uint32_t artboard); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "set_width") | |
| void rive_artboard_set_width(uint32_t artboard, float value); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "set_height") | |
| void rive_artboard_set_height(uint32_t artboard, float value); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "frame_origin") | |
| uint32_t rive_artboard_frame_origin(uint32_t artboard); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "set_frame_origin") | |
| void rive_artboard_set_frame_origin(uint32_t artboard, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "bounds") | |
| void rive_artboard_bounds(uint32_t artboard, float* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "pointer_event") | |
| uint32_t rive_artboard_pointer_event(uint32_t artboard, uint32_t kind, uint32_t pointerId, float x, float y); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "animation") | |
| uint32_t rive_artboard_animation(uint32_t artboard, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "animation_release") | |
| void rive_artboard_animation_release(uint32_t animation); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "animation_duration") | |
| float rive_artboard_animation_duration(uint32_t animation); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "animation_advance") | |
| uint32_t rive_artboard_animation_advance(uint32_t animation, float seconds); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "animation_set_time") | |
| void rive_artboard_animation_set_time(uint32_t animation, float value, uint32_t mode); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node") | |
| uint32_t rive_artboard_node(uint32_t artboard, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_release") | |
| void rive_artboard_node_release(uint32_t node); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_transform") | |
| void rive_artboard_node_transform(uint32_t node, float* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_set") | |
| void rive_artboard_node_set(uint32_t node, uint32_t field, float v0, float v1); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_world_transform") | |
| void rive_artboard_node_world_transform(uint32_t node, float* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_set_world_transform") | |
| void rive_artboard_node_set_world_transform(uint32_t node, const float* values, uint32_t floatCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_decompose") | |
| void rive_artboard_node_decompose(uint32_t node, const float* values, uint32_t floatCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_path_verbs") | |
| uint32_t rive_artboard_node_path_verbs(uint32_t node, uint8_t* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_path_points") | |
| uint32_t rive_artboard_node_path_points(uint32_t node, float* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_artboard_v1", "node_paint") | |
| uint32_t rive_artboard_node_paint(uint32_t node, uint32_t* out, uint32_t outCount); | |
| // rive_path_v1 | |
| RIVE_BINDING_IMPORT("rive_path_v1", "new") | |
| uint32_t rive_path_new(void); | |
| RIVE_BINDING_IMPORT("rive_path_v1", "update") | |
| void rive_path_update(uint32_t path, const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount, uint32_t fillRule); | |
| RIVE_BINDING_IMPORT("rive_path_v1", "release") | |
| void rive_path_release(uint32_t path); | |
| RIVE_BINDING_IMPORT("rive_path_v1", "effect_result") | |
| void rive_path_effect_result(const uint8_t* verbs, uint32_t verbCount, const float* points, uint32_t floatCount); | |
| // rive_paint_v1 | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "new") | |
| uint32_t rive_paint_new(void); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "release") | |
| void rive_paint_release(uint32_t paint); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "style") | |
| void rive_paint_style(uint32_t paint, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "color") | |
| void rive_paint_color(uint32_t paint, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "thickness") | |
| void rive_paint_thickness(uint32_t paint, float value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "join") | |
| void rive_paint_join(uint32_t paint, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "cap") | |
| void rive_paint_cap(uint32_t paint, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "blend_mode") | |
| void rive_paint_blend_mode(uint32_t paint, uint32_t value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "feather") | |
| void rive_paint_feather(uint32_t paint, float value); | |
| RIVE_BINDING_IMPORT("rive_paint_v1", "shader") | |
| void rive_paint_shader(uint32_t paint, uint32_t shader); | |
| // rive_gpu_v1 | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "features") | |
| uint32_t rive_gpu_features(uint32_t* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "canvas_new") | |
| uint32_t rive_gpu_canvas_new(uint32_t width, uint32_t height); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "canvas_release") | |
| void rive_gpu_canvas_release(uint32_t canvas); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "canvas_color_view") | |
| uint32_t rive_gpu_canvas_color_view(uint32_t canvas, uint32_t* props, uint32_t propCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "canvas_image") | |
| uint32_t rive_gpu_canvas_image(uint32_t canvas); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "canvas_resize") | |
| uint32_t rive_gpu_canvas_resize(uint32_t canvas, uint32_t width, uint32_t height, uint32_t* props, uint32_t propCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_begin") | |
| uint32_t rive_gpu_pass_begin(const rive_gpu_pass_desc_v1* desc, uint32_t descByteCount, const rive_gpu_pass_color_attachment_v1* colors, uint32_t colorByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_pipeline") | |
| void rive_gpu_pass_set_pipeline(uint32_t pass, uint32_t pipeline); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_vertex_buffer") | |
| void rive_gpu_pass_set_vertex_buffer(uint32_t pass, uint32_t slot, uint32_t buffer, uint32_t offset); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_index_buffer") | |
| void rive_gpu_pass_set_index_buffer(uint32_t pass, uint32_t buffer, uint32_t indexFormat, uint32_t offset); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_bind_group") | |
| void rive_gpu_pass_set_bind_group(uint32_t pass, uint32_t groupIndex, uint32_t bindGroup, const uint32_t* dynamicOffsets, uint32_t dynamicOffsetByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_viewport") | |
| void rive_gpu_pass_set_viewport(uint32_t pass, float x, float y, float width, float height, float minDepth, float maxDepth); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_scissor") | |
| void rive_gpu_pass_set_scissor(uint32_t pass, uint32_t x, uint32_t y, uint32_t width, uint32_t height); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_stencil_reference") | |
| void rive_gpu_pass_set_stencil_reference(uint32_t pass, uint32_t ref); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_set_blend_color") | |
| void rive_gpu_pass_set_blend_color(uint32_t pass, float r, float g, float b, float a); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_draw") | |
| void rive_gpu_pass_draw(uint32_t pass, uint32_t vertexCount, uint32_t instanceCount, uint32_t firstVertex, uint32_t firstInstance); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_draw_indexed") | |
| void rive_gpu_pass_draw_indexed(uint32_t pass, uint32_t indexCount, uint32_t instanceCount, uint32_t firstIndex, int32_t baseVertex, uint32_t firstInstance); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_finish") | |
| void rive_gpu_pass_finish(uint32_t pass); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pass_release") | |
| void rive_gpu_pass_release(uint32_t pass); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "image_view") | |
| uint32_t rive_gpu_image_view(uint32_t image, uint32_t width, uint32_t height); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "buffer_new") | |
| uint32_t rive_gpu_buffer_new(uint32_t usage, uint32_t sizeInBytes, uint32_t immutable, const uint8_t* data, uint32_t dataCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "buffer_update") | |
| void rive_gpu_buffer_update(uint32_t buffer, uint32_t dstOffset, const uint8_t* data, uint32_t dataCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "buffer_release") | |
| void rive_gpu_buffer_release(uint32_t buffer); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "texture_new") | |
| uint32_t rive_gpu_texture_new(const rive_gpu_texture_desc_v1* desc, uint32_t descByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "texture_upload") | |
| void rive_gpu_texture_upload(uint32_t texture, const rive_gpu_texture_upload_v1* region, uint32_t regionByteCount, const uint8_t* data, uint32_t dataCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "texture_release") | |
| void rive_gpu_texture_release(uint32_t texture); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "sampler_new") | |
| uint32_t rive_gpu_sampler_new(const rive_gpu_sampler_desc_v1* desc, uint32_t descByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "sampler_release") | |
| void rive_gpu_sampler_release(uint32_t sampler); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "texture_view_new") | |
| uint32_t rive_gpu_texture_view_new(uint32_t texture, const rive_gpu_texture_view_desc_v1* desc, uint32_t descByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "texture_view_release") | |
| void rive_gpu_texture_view_release(uint32_t view); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "shader_target") | |
| uint32_t rive_gpu_shader_target(void); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "shader_asset_bytes") | |
| uint32_t rive_gpu_shader_asset_bytes(uint32_t object, const char* name, uint32_t nameLength, uint8_t* out, uint32_t outCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "shader_asset_id") | |
| uint32_t rive_gpu_shader_asset_id(uint32_t object, const char* name, uint32_t nameLength); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "shader_module_new") | |
| uint32_t rive_gpu_shader_module_new(const rive_gpu_shader_module_desc_v1* desc, uint32_t descByteCount, const uint8_t* blob, uint32_t blobCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "shader_module_release") | |
| void rive_gpu_shader_module_release(uint32_t shaderModule); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "bind_group_layout_new") | |
| uint32_t rive_gpu_bind_group_layout_new(uint32_t groupIndex, const rive_gpu_bind_group_layout_entry_v1* entries, uint32_t entryByteCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "bind_group_layout_release") | |
| void rive_gpu_bind_group_layout_release(uint32_t layout); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "bind_group_layout_from_shader") | |
| uint32_t rive_gpu_bind_group_layout_from_shader(uint32_t shaderModule, uint32_t groupIndex, const uint32_t* dynamicUBOs, uint32_t dynamicUBOCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "bind_group_new") | |
| uint32_t rive_gpu_bind_group_new(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); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "bind_group_release") | |
| void rive_gpu_bind_group_release(uint32_t bindGroup); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pipeline_new") | |
| uint32_t rive_gpu_pipeline_new(const rive_gpu_pipeline_desc_v1* desc, uint32_t descByteCount, const uint8_t* blob, uint32_t blobCount); | |
| RIVE_BINDING_IMPORT("rive_gpu_v1", "pipeline_release") | |
| void rive_gpu_pipeline_release(uint32_t pipeline); | |
| // rive_buffer_v1 | |
| RIVE_BINDING_IMPORT("rive_buffer_v1", "new") | |
| uint32_t rive_buffer_new(uint32_t bufferType, uint32_t flags, uint32_t sizeInBytes); | |
| RIVE_BINDING_IMPORT("rive_buffer_v1", "update") | |
| void rive_buffer_update(uint32_t buffer, const uint8_t* bytes, uint32_t byteCount); | |
| RIVE_BINDING_IMPORT("rive_buffer_v1", "release") | |
| void rive_buffer_release(uint32_t buffer); | |
| // rive_blob_v1 | |
| RIVE_BINDING_IMPORT("rive_blob_v1", "asset_bytes") | |
| uint32_t rive_blob_asset_bytes(uint32_t object, const char* name, uint32_t nameLength, uint8_t* out, uint32_t outCount); | |
| // rive_image_v1 | |
| RIVE_BINDING_IMPORT("rive_image_v1", "from_asset") | |
| uint32_t rive_image_from_asset(uint32_t object, const char* name, uint32_t length); | |
| RIVE_BINDING_IMPORT("rive_image_v1", "width") | |
| uint32_t rive_image_width(uint32_t image); | |
| RIVE_BINDING_IMPORT("rive_image_v1", "height") | |
| uint32_t rive_image_height(uint32_t image); | |
| RIVE_BINDING_IMPORT("rive_image_v1", "release") | |
| void rive_image_release(uint32_t image); | |
| RIVE_BINDING_IMPORT("rive_image_v1", "decode") | |
| uint32_t rive_image_decode(const uint8_t* bytes, uint32_t byteCount, uint32_t token); | |
| RIVE_BINDING_IMPORT("rive_image_v1", "decode_cancel") | |
| void rive_image_decode_cancel(uint32_t token); | |
| // rive_shader_v1 | |
| RIVE_BINDING_IMPORT("rive_shader_v1", "linear") | |
| uint32_t rive_shader_linear(float sx, float sy, float ex, float ey, const uint32_t* colors, const float* stops, uint32_t count); | |
| RIVE_BINDING_IMPORT("rive_shader_v1", "radial") | |
| uint32_t rive_shader_radial(float cx, float cy, float radius, const uint32_t* colors, const float* stops, uint32_t count); | |
| RIVE_BINDING_IMPORT("rive_shader_v1", "release") | |
| void rive_shader_release(uint32_t shader); | |
| // rive_renderer_v1 | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "save") | |
| void rive_renderer_save(uint32_t renderer); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "restore") | |
| void rive_renderer_restore(uint32_t renderer); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "transform") | |
| void rive_renderer_transform(uint32_t renderer, float xx, float xy, float yx, float yy, float tx, float ty); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "draw_path") | |
| void rive_renderer_draw_path(uint32_t renderer, uint32_t path, uint32_t paint); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "clip_path") | |
| void rive_renderer_clip_path(uint32_t renderer, uint32_t path); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "draw_image") | |
| void rive_renderer_draw_image(uint32_t renderer, uint32_t image, uint32_t sampler, uint32_t blend, float opacity); | |
| RIVE_BINDING_IMPORT("rive_renderer_v1", "draw_image_mesh") | |
| void rive_renderer_draw_image_mesh(uint32_t renderer, uint32_t image, uint32_t sampler, uint32_t vertexBuffer, uint32_t uvBuffer, uint32_t indexBuffer, uint32_t blend, float opacity); | |
| #ifdef __cplusplus | |
| } | |
| #endif | |
| #endif |