@awayjs/graphics
Version:
AwayJS graphics classes
645 lines • 15.7 kB
TypeScript
export declare function assert(condition: any, message?: any): void;
export interface IDataDecoder {
onData: (data: Uint8Array) => void;
onError: (e: any) => void;
push(data: Uint8Array): any;
close(): any;
}
export interface TypedArray {
buffer: ArrayBuffer;
length: number;
set: (array: TypedArray, offset?: number) => void;
subarray: (begin: number, end?: number) => TypedArray;
}
export declare function memCopy(destination: any, source: any, doffset?: number, soffset?: number, length?: number): void;
/**
* Faster release version of bounds.
*/
export declare class Bounds {
xMin: number;
yMin: number;
xMax: number;
yMax: number;
constructor(xMin: number, yMin: number, xMax: number, yMax: number);
static FromUntyped(source: any): Bounds;
static FromRectangle(source: any): Bounds;
setElements(xMin: number, yMin: number, xMax: number, yMax: number): void;
copyFrom(source: Bounds): void;
contains(x: number, y: number): boolean;
unionInPlace(other: Bounds): void;
extendByPoint(x: number, y: number): void;
extendByX(x: number): void;
extendByY(y: number): void;
intersects(toIntersect: Bounds): boolean;
isEmpty(): boolean;
get width(): number;
set width(value: number);
get height(): number;
set height(value: number);
getBaseWidth(angle: number): number;
getBaseHeight(angle: number): number;
setEmpty(): void;
/**
* Set all fields to the sentinel value 0x8000000.
*
* This is what Flash uses to indicate uninitialized bounds. Important for bounds calculation
* in `Graphics` instances, which start out with empty bounds but must not just extend them
* from an 0,0 origin.
*/
setToSentinels(): void;
clone(): Bounds;
toString(): string;
}
export declare enum ImageType {
None = 0,
/**
* Premultiplied ARGB (byte-order).
*/
PremultipliedAlphaARGB = 1,
/**
* Unpremultiplied ARGB (byte-order).
*/
StraightAlphaARGB = 2,
/**
* Unpremultiplied RGBA (byte-order), this is what putImageData expects.
*/
StraightAlphaRGBA = 3,
JPEG = 4,
PNG = 5,
GIF = 6
}
export declare function clamp(value: number, min: number, max: number): number;
export declare function roundToMultipleOfFour(x: number): number;
export declare function isObject(value: any): boolean;
export declare function isNullOrUndefined(value: any): boolean;
export declare function utf8decode(str: string): Uint8Array;
export declare function utf8encode(buffer: Uint8Array): string;
/**
* Simple pool allocator for ArrayBuffers. This reduces memory usage in data structures
* that resize buffers.
*/
export declare class ArrayBufferPool {
private _list;
private _maxSize;
private static _enabled;
/**
* Creates a pool that manages a pool of a |maxSize| number of array buffers.
*/
constructor(maxSize?: number);
/**
* Creates or reuses an existing array buffer that is at least the
* specified |length|.
*/
acquire(length: number): ArrayBuffer;
/**
* Releases an array buffer that is no longer needed back to the pool.
*/
release(buffer: ArrayBuffer): void;
/**
* Resizes a Uint8Array to have the given length.
*/
ensureUint8ArrayLength(array: Uint8Array, length: number): Uint8Array;
/**
* Resizes a Float64Array to have the given length.
*/
ensureFloat64ArrayLength(array: Float64Array, length: number): Float64Array;
}
/**
* Makes sure that a typed array has the requested capacity. If required, it creates a new
* instance of the array's class with a power-of-two capacity at least as large as required.
*/
export declare function ensureTypedArrayCapacity(array: any, capacity: number): any;
export declare module IntegerUtilities {
var i8: Int8Array;
var u8: Uint8Array;
var i32: Int32Array;
var f32: Float32Array;
var f64: Float64Array;
var nativeLittleEndian: boolean;
/**
* Convert a float into 32 bits.
*/
function floatToInt32(v: number): number;
/**
* Convert 32 bits into a float.
*/
function int32ToFloat(i: number): number;
/**
* Swap the bytes of a 16 bit number.
*/
function swap16(i: number): number;
/**
* Swap the bytes of a 32 bit number.
*/
function swap32(i: number): number;
/**
* Converts a number to s8.u8 fixed point representation.
*/
function toS8U8(v: number): number;
/**
* Converts a number from s8.u8 fixed point representation.
*/
function fromS8U8(i: number): number;
/**
* Round trips a number through s8.u8 conversion.
*/
function clampS8U8(v: number): number;
/**
* Converts a number to signed 16 bits.
*/
function toS16(v: number): number;
function bitCount(i: number): number;
function ones(i: number): number;
function trailingZeros(i: number): number;
function getFlags(i: number, flags: string[]): string;
function isPowerOfTwo(x: number): boolean;
function roundToMultipleOfFour(x: number): number;
function nearestPowerOfTwo(x: number): number;
function roundToMultipleOfPowerOfTwo(i: number, powerOfTwo: number): number;
function toHEX(i: number): string;
/**
* Polyfill imul.
*/
/**
* Polyfill clz32.
*/
}
export declare class ABCBlock {
name: string;
flags: number;
data: Uint8Array;
}
export declare class EncryptedBlock {
data: Uint8Array;
size: ui32;
bytePos: ui32;
rawTagId: ui8;
constructor(data: Uint8Array, size: ui32, bytePos: ui32, rawTagId?: ui8);
}
export declare class ActionBlock {
actionsData: Uint8Array;
precedence: number;
encryptedData?: EncryptedBlock;
}
export declare class InitActionBlock {
spriteId: number;
actionsData: Uint8Array;
encryptedData?: EncryptedBlock;
}
export declare class SymbolExport {
symbolId: number;
className: string;
constructor(symbolId: number, className: string);
}
export declare class UnparsedTag {
tagCode: number;
byteOffset: number;
byteLength: number;
constructor(tagCode: number, byteOffset: number, byteLength: number);
}
export declare class DictionaryEntry extends UnparsedTag {
id: number;
constructor(id: number, tagCode: number, byteOffset: number, byteLength: number);
}
export declare class EagerlyParsedDictionaryEntry extends DictionaryEntry {
type: string;
definition: Object;
ready: boolean;
constructor(id: number, unparsed: UnparsedTag, type: string, definition: any);
}
/**
* Similar to |toString| but returns |null| for |null| or |undefined| instead
* of "null" or "undefined".
*/
export declare function axCoerceString(x: any): string;
export declare var Errors: {
/**
* AVM2 Error Codes
*/
NotImplementedError: {
code: number;
message: string;
};
InvalidPrecisionError: {
code: number;
message: string;
};
InvalidRadixError: {
code: number;
message: string;
};
InvokeOnIncompatibleObjectError: {
code: number;
message: string;
};
ArrayIndexNotIntegerError: {
code: number;
message: string;
};
CallOfNonFunctionError: {
code: number;
message: string;
};
ConstructOfNonFunctionError: {
code: number;
message: string;
};
ConvertNullToObjectError: {
code: number;
message: string;
};
ConvertUndefinedToObjectError: {
code: number;
message: string;
};
ClassNotFoundError: {
code: number;
message: string;
};
DescendentsError: {
code: number;
message: string;
};
StackOverflowError: {
code: number;
message: string;
};
CpoolIndexRangeError: {
code: number;
message: string;
};
CpoolEntryWrongTypeError: {
code: number;
message: string;
};
CheckTypeFailedError: {
code: number;
message: string;
};
CannotAssignToMethodError: {
code: number;
message: string;
};
CantUseInstanceofOnNonObjectError: {
code: number;
message: string;
};
IsTypeMustBeClassError: {
code: number;
message: string;
};
InvalidMagicError: {
code: number;
message: string;
};
UnsupportedTraitsKindError: {
code: number;
message: string;
};
PrototypeTypeError: {
code: number;
message: string;
};
ConvertToPrimitiveError: {
code: number;
message: string;
};
InvalidURIError: {
code: number;
message: string;
};
WriteSealedError: {
code: number;
message: string;
};
WrongArgumentCountError: {
code: number;
message: string;
};
UndefinedVarError: {
code: number;
message: string;
};
ReadSealedError: {
code: number;
message: string;
};
ConstWriteError: {
code: number;
message: string;
};
XMLPrefixNotBound: {
code: number;
message: string;
};
XMLUnterminatedElementTag: {
code: number;
message: string;
};
XMLOnlyWorksWithOneItemLists: {
code: number;
message: string;
};
XMLAssignmentToIndexedXMLNotAllowed: {
code: number;
message: string;
};
XMLMarkupMustBeWellFormed: {
code: number;
message: string;
};
XMLAssigmentOneItemLists: {
code: number;
message: string;
};
XMLMalformedElement: {
code: number;
message: string;
};
XMLUnterminatedCData: {
code: number;
message: string;
};
XMLUnterminatedXMLDecl: {
code: number;
message: string;
};
XMLUnterminatedDocTypeDecl: {
code: number;
message: string;
};
XMLUnterminatedComment: {
code: number;
message: string;
};
XMLUnterminatedElement: {
code: number;
message: string;
};
XMLNamespaceWithPrefixAndNoURI: {
code: number;
message: string;
};
RegExpFlagsArgumentError: {
code: number;
message: string;
};
InvalidBaseClassError: {
code: number;
message: string;
};
XMLInvalidName: {
code: number;
message: string;
};
XMLIllegalCyclicalLoop: {
code: number;
message: string;
};
FilterError: {
code: number;
message: string;
};
OutOfRangeError: {
code: number;
message: string;
};
VectorFixedError: {
code: number;
message: string;
};
TypeAppOfNonParamType: {
code: number;
message: string;
};
WrongTypeArgCountError: {
code: number;
message: string;
};
JSONCyclicStructure: {
code: number;
message: string;
};
JSONInvalidReplacer: {
code: number;
message: string;
};
JSONInvalidParseInput: {
code: number;
message: string;
};
InvalidRangeError: {
code: number;
message: string;
};
NullArgumentError: {
code: number;
message: string;
};
InvalidArgumentError: {
code: number;
message: string;
};
ArrayFilterNonNullObjectError: {
code: number;
message: string;
};
InvalidParamError: {
code: number;
message: string;
};
ParamRangeError: {
code: number;
message: string;
};
NullPointerError: {
code: number;
message: string;
};
InvalidEnumError: {
code: number;
message: string;
};
CantInstantiateError: {
code: number;
message: string;
};
InvalidBitmapData: {
code: number;
message: string;
};
EOFError: {
code: number;
message: string;
fqn: string;
};
CompressedDataError: {
code: number;
message: string;
fqn: string;
};
EmptyStringError: {
code: number;
message: string;
};
ProxyGetPropertyError: {
code: number;
message: string;
};
ProxySetPropertyError: {
code: number;
message: string;
};
ProxyCallPropertyError: {
code: number;
message: string;
};
ProxyHasPropertyError: {
code: number;
message: string;
};
ProxyDeletePropertyError: {
code: number;
message: string;
};
ProxyGetDescendantsError: {
code: number;
message: string;
};
ProxyNextNameIndexError: {
code: number;
message: string;
};
ProxyNextNameError: {
code: number;
message: string;
};
ProxyNextValueError: {
code: number;
message: string;
};
/**
* Player Error Codes
*/
TooFewArgumentsError: {
code: number;
message: string;
};
ParamTypeError: {
code: number;
message: string;
};
SocketConnectError: {
code: number;
message: string;
};
CantAddSelfError: {
code: number;
message: string;
};
NotAChildError: {
code: number;
message: string;
};
UnhandledError: {
code: number;
message: string;
};
AllowDomainArgumentError: {
code: number;
message: string;
};
DelayRangeError: {
code: number;
message: string;
};
ExternalInterfaceNotAvailableError: {
code: number;
message: string;
};
InvalidLoaderMethodError: {
code: number;
message: string;
};
InvalidStageMethodError: {
code: number;
message: string;
};
TimelineObjectNameSealedError: {
code: number;
message: string;
};
AlreadyConnectedError: {
code: number;
message: string;
};
CloseNotConnectedError: {
code: number;
message: string;
};
ArgumentSizeError: {
code: number;
message: string;
};
AsyncError: {
code: number;
message: string;
};
LoadingObjectNotSWFError: {
code: number;
message: string;
};
LoadingObjectNotInitializedError: {
code: number;
message: string;
};
DecodeParamError: {
code: number;
message: string;
};
SceneNotFoundError: {
code: number;
message: string;
};
FrameLabelNotFoundError: {
code: number;
message: string;
};
InvalidLoaderInfoMethodError: {
code: number;
message: string;
};
SecuritySwfNotAllowedError: {
code: number;
message: string;
};
UnknownFileTypeError: {
code: number;
message: string;
};
CantAddParentError: {
code: number;
message: string;
};
Matrix3DRefCannontBeShared: {
code: number;
message: string;
};
ObjectWithStringsParamError: {
code: number;
message: string;
};
AllowCodeImportError: {
code: number;
message: string;
};
PermissionDenied: {
code: number;
message: string;
};
InternalErrorIV: {
code: number;
message: string;
};
};
//# sourceMappingURL=utilities.d.ts.map