laya-coreui-es
Version:
laya核心库、ui库es版本,剔除了媒体、TTF等功能。基于 LayaAir-release_2.12.0 修改
353 lines (352 loc) • 17.8 kB
TypeScript
import { Matrix } from "../maths/Matrix";
/**
* <p> <code>Byte</code> 类提供用于优化读取、写入以及处理二进制数据的方法和属性。</p>
* <p> <code>Byte</code> 类适用于需要在字节层访问数据的高级开发人员。</p>
*/
export declare class Byte {
/**
* <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
* <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
* <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
*/
static BIG_ENDIAN: string;
/**
* <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
* <p> <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。<br/>
* <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。</p>
*/
static LITTLE_ENDIAN: string;
/**@private */
private static _sysEndian;
/**@private 是否为小端数据。*/
protected _xd_: boolean;
/**@private */
private _allocated_;
/**@private 原始数据。*/
protected _d_: any;
/**@private DataView*/
protected _u8d_: any;
/**@private */
protected _pos_: number;
/**@private */
protected _length: number;
/**
* <p>获取当前主机的字节序。</p>
* <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。</p>
* <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
* <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
* @return 当前系统的字节序。
*/
static getSystemEndian(): string;
/**
* 创建一个 <code>Byte</code> 类的实例。
* @param data 用于指定初始化的元素数目,或者用于初始化的TypedArray对象、ArrayBuffer对象。如果为 null ,则预分配一定的内存空间,当可用空间不足时,优先使用这部分内存,如果还不够,则重新分配所需内存。
*/
constructor(data?: any);
/**
* 获取此对象的 ArrayBuffer 数据,数据只包含有效数据部分。
*/
get buffer(): ArrayBuffer;
/**
* <p> <code>Byte</code> 实例的字节序。取值为:<code>BIG_ENDIAN</code> 或 <code>BIG_ENDIAN</code> 。</p>
* <p>主机字节序,是 CPU 存放数据的两种不同顺序,包括小端字节序和大端字节序。通过 <code>getSystemEndian</code> 可以获取当前系统的字节序。</p>
* <p> <code>BIG_ENDIAN</code> :大端字节序,地址低位存储值的高位,地址高位存储值的低位。有时也称之为网络字节序。<br/>
* <code>LITTLE_ENDIAN</code> :小端字节序,地址低位存储值的低位,地址高位存储值的高位。</p>
*/
get endian(): string;
set endian(value: string);
/**
* <p> <code>Byte</code> 对象的长度(以字节为单位)。</p>
* <p>如果将长度设置为大于当前长度的值,则用零填充字节数组的右侧;如果将长度设置为小于当前长度的值,将会截断该字节数组。</p>
* <p>如果要设置的长度大于当前已分配的内存空间的字节长度,则重新分配内存空间,大小为以下两者较大者:要设置的长度、当前已分配的长度的2倍,并将原有数据拷贝到新的内存空间中;如果要设置的长度小于当前已分配的内存空间的字节长度,也会重新分配内存空间,大小为要设置的长度,并将原有数据从头截断为要设置的长度存入新的内存空间中。</p>
*/
set length(value: number);
get length(): number;
/**@private */
private _resizeBuffer;
/**
* @private
* <p>常用于解析固定格式的字节流。</p>
* <p>先从字节流的当前字节偏移位置处读取一个 <code>Uint16</code> 值,然后以此值为长度,读取此长度的字符串。</p>
* @return 读取的字符串。
*/
getString(): string;
/**
* <p>常用于解析固定格式的字节流。</p>
* <p>先从字节流的当前字节偏移位置处读取一个 <code>Uint16</code> 值,然后以此值为长度,读取此长度的字符串。</p>
* @return 读取的字符串。
*/
readString(): string;
/**
* @private
* <p>从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Float32Array</code> 对象并返回此对象。</p>
* <p><b>注意:</b>返回的 Float32Array 对象,在 JavaScript 环境下,是原生的 HTML5 Float32Array 对象,对此对象的读取操作都是基于运行此程序的当前主机字节序,此顺序可能与实际数据的字节序不同,如果使用此对象进行读取,需要用户知晓实际数据的字节序和当前主机字节序,如果相同,可正常读取,否则需要用户对实际数据(Float32Array.buffer)包装一层 DataView ,使用 DataView 对象可按照指定的字节序进行读取。</p>
* @param start 开始位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Float32Array 对象。
*/
getFloat32Array(start: number, len: number): any;
/**
* 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Float32Array</code> 对象并返回此对象。
* @param start 开始位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Float32Array 对象。
*/
readFloat32Array(start: number, len: number): any;
/**
* @private
* 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Uint8Array</code> 对象并返回此对象。
* @param start 开始位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Uint8Array 对象。
*/
getUint8Array(start: number, len: number): Uint8Array;
/**
* 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Uint8Array</code> 对象并返回此对象。
* @param start 开始位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Uint8Array 对象。
*/
readUint8Array(start: number, len: number): Uint8Array;
/**
* @private
* <p>从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Int16Array</code> 对象并返回此对象。</p>
* <p><b>注意:</b>返回的 Int16Array 对象,在 JavaScript 环境下,是原生的 HTML5 Int16Array 对象,对此对象的读取操作都是基于运行此程序的当前主机字节序,此顺序可能与实际数据的字节序不同,如果使用此对象进行读取,需要用户知晓实际数据的字节序和当前主机字节序,如果相同,可正常读取,否则需要用户对实际数据(Int16Array.buffer)包装一层 DataView ,使用 DataView 对象可按照指定的字节序进行读取。</p>
* @param start 开始读取的字节偏移量位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Int16Array 对象。
*/
getInt16Array(start: number, len: number): any;
/**
* 从字节流中 <code>start</code> 参数指定的位置开始,读取 <code>len</code> 参数指定的字节数的数据,用于创建一个 <code>Int16Array</code> 对象并返回此对象。
* @param start 开始读取的字节偏移量位置。
* @param len 需要读取的字节长度。如果要读取的长度超过可读取范围,则只返回可读范围内的值。
* @return 读取的 Uint8Array 对象。
*/
readInt16Array(start: number, len: number): any;
/**
* @private
* 从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
* @return 单精度(32 位)浮点数。
*/
getFloat32(): number;
/**
* 从字节流的当前字节偏移位置处读取一个 IEEE 754 单精度(32 位)浮点数。
* @return 单精度(32 位)浮点数。
*/
readFloat32(): number;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
* @return 双精度(64 位)浮点数。
*/
getFloat64(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 IEEE 754 双精度(64 位)浮点数。
* @return 双精度(64 位)浮点数。
*/
readFloat64(): number;
/**
* 在字节流的当前字节偏移量位置处写入一个 IEEE 754 单精度(32 位)浮点数。
* @param value 单精度(32 位)浮点数。
*/
writeFloat32(value: number): void;
/**
* 在字节流的当前字节偏移量位置处写入一个 IEEE 754 双精度(64 位)浮点数。
* @param value 双精度(64 位)浮点数。
*/
writeFloat64(value: number): void;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 Int32 值。
* @return Int32 值。
*/
getInt32(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 Int32 值。
* @return Int32 值。
*/
readInt32(): number;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 Uint32 值。
* @return Uint32 值。
*/
getUint32(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 Uint32 值。
* @return Uint32 值。
*/
readUint32(): number;
/**
* 在字节流的当前字节偏移量位置处写入指定的 Int32 值。
* @param value 需要写入的 Int32 值。
*/
writeInt32(value: number): void;
/**
* 在字节流的当前字节偏移量位置处写入 Uint32 值。
* @param value 需要写入的 Uint32 值。
*/
writeUint32(value: number): void;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 Int16 值。
* @return Int16 值。
*/
getInt16(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 Int16 值。
* @return Int16 值。
*/
readInt16(): number;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 Uint16 值。
* @return Uint16 值。
*/
getUint16(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 Uint16 值。
* @return Uint16 值。
*/
readUint16(): number;
/**
* 在字节流的当前字节偏移量位置处写入指定的 Uint16 值。
* @param value 需要写入的Uint16 值。
*/
writeUint16(value: number): void;
/**
* 在字节流的当前字节偏移量位置处写入指定的 Int16 值。
* @param value 需要写入的 Int16 值。
*/
writeInt16(value: number): void;
/**
* @private
* 从字节流的当前字节偏移量位置处读取一个 Uint8 值。
* @return Uint8 值。
*/
getUint8(): number;
/**
* 从字节流的当前字节偏移量位置处读取一个 Uint8 值。
* @return Uint8 值。
*/
readUint8(): number;
/**
* 在字节流的当前字节偏移量位置处写入指定的 Uint8 值。
* @param value 需要写入的 Uint8 值。
*/
writeUint8(value: number): void;
/**
* @private
* 读取指定长度的 UTF 型字符串。
* @param len 需要读取的长度。
* @return 读取的字符串。
*/
private _rUTF;
/**
* @private
* 读取 <code>len</code> 参数指定的长度的字符串。
* @param len 要读取的字符串的长度。
* @return 指定长度的字符串。
*/
getCustomString(len: number): string;
/**
* @private
* 读取 <code>len</code> 参数指定的长度的字符串。
* @param len 要读取的字符串的长度。
* @return 指定长度的字符串。
*/
readCustomString(len: number): string;
/**
* 移动或返回 Byte 对象的读写指针的当前位置(以字节为单位)。下一次调用读取方法时将在此位置开始读取,或者下一次调用写入方法时将在此位置开始写入。
*/
get pos(): number;
set pos(value: number);
/**
* 可从字节流的当前位置到末尾读取的数据的字节数。
*/
get bytesAvailable(): number;
/**
* 清除字节数组的内容,并将 length 和 pos 属性重置为 0。调用此方法将释放 Byte 实例占用的内存。
*/
clear(): void;
/**
* <p>将 UTF-8 字符串写入字节流。类似于 writeUTF() 方法,但 writeUTFBytes() 不使用 16 位长度的字为字符串添加前缀。</p>
* <p>对应的读取方法为: getUTFBytes 。</p>
* @param value 要写入的字符串。
*/
writeUTFBytes(value: string): void;
/**
* <p>将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 16 位整数),然后写入表示字符串字符的字节。</p>
* <p>对应的读取方法为: getUTFString 。</p>
* @param value 要写入的字符串值。
*/
writeUTFString(value: string): void;
/**
* <p>将 UTF-8 字符串写入字节流。先写入以字节表示的 UTF-8 字符串长度(作为 32 位整数),然后写入表示字符串字符的字节。</p>
* @param value 要写入的字符串值。
*/
writeUTFString32(value: string): void;
/**
* @private
* 读取 UTF-8 字符串。
* @return 读取的字符串。
*/
readUTFString(): string;
/**
* @private
*/
readUTFString32(): string;
/**
* <p>从字节流中读取一个 UTF-8 字符串。假定字符串的前缀是一个无符号的短整型(以此字节表示要读取的长度)。</p>
* <p>对应的写入方法为: writeUTFString 。</p>
* @return 读取的字符串。
*/
getUTFString(): string;
/**
* @private
* 读字符串,必须是 writeUTFBytes 方法写入的字符串。
* @param len 要读的buffer长度,默认将读取缓冲区全部数据。
* @return 读取的字符串。
*/
readUTFBytes(len?: number): string;
/**
* <p>从字节流中读取一个由 length 参数指定的长度的 UTF-8 字节序列,并返回一个字符串。</p>
* <p>一般读取的是由 writeUTFBytes 方法写入的字符串。</p>
* @param len 要读的buffer长度,默认将读取缓冲区全部数据。
* @return 读取的字符串。
*/
getUTFBytes(len?: number): string;
/**
* <p>在字节流中写入一个字节。</p>
* <p>使用参数的低 8 位。忽略高 24 位。</p>
* @param value
*/
writeByte(value: number): void;
/**
* <p>从字节流中读取带符号的字节。</p>
* <p>返回值的范围是从 -128 到 127。</p>
* @return 介于 -128 和 127 之间的整数。
*/
readByte(): number;
/**
* @private
* 从字节流中读取带符号的字节。
*/
getByte(): number;
/**
* <p>将指定 arraybuffer 对象中的以 offset 为起始偏移量, length 为长度的字节序列写入字节流。</p>
* <p>如果省略 length 参数,则使用默认长度 0,该方法将从 offset 开始写入整个缓冲区;如果还省略了 offset 参数,则写入整个缓冲区。</p>
* <p>如果 offset 或 length 小于0,本函数将抛出异常。</p>
* @param arraybuffer 需要写入的 Arraybuffer 对象。
* @param offset Arraybuffer 对象的索引的偏移量(以字节为单位)
* @param length 从 Arraybuffer 对象写入到 Byte 对象的长度(以字节为单位)
*/
writeArrayBuffer(arraybuffer: any, offset?: number, length?: number): void;
/**
* 读取ArrayBuffer数据
* @param length
* @return
*/
readArrayBuffer(length: number): ArrayBuffer;
}