mirror of
https://github.com/Insality/druid.git
synced 2025-06-27 18:37:44 +02:00
107 lines
4.2 KiB
Lua
107 lines
4.2 KiB
Lua
--[[
|
|
Generated with github.com/astrochili/defold-annotations
|
|
Defold 1.8.0
|
|
|
|
Buffer API documentation
|
|
|
|
Functions for manipulating buffers and streams
|
|
--]]
|
|
|
|
---@diagnostic disable: lowercase-global
|
|
---@diagnostic disable: missing-return
|
|
---@diagnostic disable: duplicate-doc-param
|
|
---@diagnostic disable: duplicate-set-field
|
|
|
|
---@class defold_api.buffer
|
|
buffer = {}
|
|
|
|
---Float, single precision, 4 bytes
|
|
buffer.VALUE_TYPE_FLOAT32 = nil
|
|
|
|
---Signed integer, 2 bytes
|
|
buffer.VALUE_TYPE_INT16 = nil
|
|
|
|
---Signed integer, 4 bytes
|
|
buffer.VALUE_TYPE_INT32 = nil
|
|
|
|
---Signed integer, 8 bytes
|
|
buffer.VALUE_TYPE_INT64 = nil
|
|
|
|
---Signed integer, 1 byte
|
|
buffer.VALUE_TYPE_INT8 = nil
|
|
|
|
---Unsigned integer, 2 bytes
|
|
buffer.VALUE_TYPE_UINT16 = nil
|
|
|
|
---Unsigned integer, 4 bytes
|
|
buffer.VALUE_TYPE_UINT32 = nil
|
|
|
|
---Unsigned integer, 8 bytes
|
|
buffer.VALUE_TYPE_UINT64 = nil
|
|
|
|
---Unsigned integer, 1 byte
|
|
buffer.VALUE_TYPE_UINT8 = nil
|
|
|
|
---Copy all data streams from one buffer to another, element wise.
|
|
--- Each of the source streams must have a matching stream in the
|
|
---destination buffer. The streams must match in both type and size.
|
|
---The source and destination buffer can be the same.
|
|
---@param dst buffer_data the destination buffer
|
|
---@param dstoffset number the offset to start copying data to
|
|
---@param src buffer_data the source data buffer
|
|
---@param srcoffset number the offset to start copying data from
|
|
---@param count number the number of elements to copy
|
|
function buffer.copy_buffer(dst, dstoffset, src, srcoffset, count) end
|
|
|
|
---Copy a specified amount of data from one stream to another.
|
|
--- The value type and size must match between source and destination streams.
|
|
---The source and destination streams can be the same.
|
|
---@param dst buffer_stream the destination stream
|
|
---@param dstoffset number the offset to start copying data to (measured in value type)
|
|
---@param src buffer_stream the source data stream
|
|
---@param srcoffset number the offset to start copying data from (measured in value type)
|
|
---@param count number the number of values to copy (measured in value type)
|
|
function buffer.copy_stream(dst, dstoffset, src, srcoffset, count) end
|
|
|
|
---Create a new data buffer containing a specified set of streams. A data buffer
|
|
---can contain one or more streams with typed data. This is useful for managing
|
|
---compound data, for instance a vertex buffer could contain separate streams for
|
|
---vertex position, color, normal etc.
|
|
---@param element_count number The number of elements the buffer should hold
|
|
---@param declaration { name:hash|string, type:constant, count:number }[] A table where each entry (table) describes a stream
|
|
---
|
|
---hash | string name: The name of the stream
|
|
---constant type: The data type of the stream
|
|
---number count: The number of values each element should hold
|
|
---
|
|
---@return buffer_data buffer the new buffer
|
|
function buffer.create(element_count, declaration) end
|
|
|
|
---Get a copy of all the bytes from a specified stream as a Lua string.
|
|
---@param buffer buffer_data the source buffer
|
|
---@param stream_name hash the name of the stream
|
|
---@return string data the buffer data as a Lua string
|
|
function buffer.get_bytes(buffer, stream_name) end
|
|
|
|
---Get a named metadata entry from a buffer along with its type.
|
|
---@param buf buffer_data the buffer to get the metadata from
|
|
---@param metadata_name hash|string name of the metadata entry
|
|
---@return number[]|nil values table of metadata values or nil if the entry does not exist
|
|
---@return constant|nil value_type numeric type of values or nil
|
|
function buffer.get_metadata(buf, metadata_name) end
|
|
|
|
---Get a specified stream from a buffer.
|
|
---@param buffer buffer_data the buffer to get the stream from
|
|
---@param stream_name hash|string the stream name
|
|
---@return buffer_stream stream the data stream
|
|
function buffer.get_stream(buffer, stream_name) end
|
|
|
|
---Creates or updates a metadata array entry on a buffer.
|
|
--- The value type and count given when updating the entry should match those used when first creating it.
|
|
---@param buf buffer_data the buffer to set the metadata on
|
|
---@param metadata_name hash|string name of the metadata entry
|
|
---@param values number[] actual metadata, an array of numeric values
|
|
---@param value_type constant type of values when stored
|
|
function buffer.set_metadata(buf, metadata_name, values, value_type) end
|
|
|
|
return buffer |