dmpixi
Version:
多卖pixi 淘宝小程序 支持骨骼动画,整屏滚动等
605 lines • 21.8 kB
TypeScript
/// <reference types="pixi.js" />
declare namespace PIXI {
interface TransformBase {
proj: PIXI.projection.AbstractProjection;
}
interface ObservablePoint {
_x: number;
_y: number;
}
interface TransformStatic {
proj: PIXI.projection.AbstractProjection;
}
}
declare module PIXI.projection {
class AbstractProjection {
constructor(legacy: PIXI.TransformBase, enable?: boolean);
legacy: PIXI.TransformStatic;
_enabled: boolean;
enabled: boolean;
clear(): void;
}
enum TRANSFORM_STEP {
NONE = 0,
BEFORE_PROJ = 4,
PROJ = 5,
ALL = 9,
}
}
declare module PIXI.projection {
class LinearProjection<T> extends AbstractProjection {
updateLocalTransform(lt: PIXI.Matrix): void;
_projID: number;
_currentProjID: number;
_affine: AFFINE;
affine: AFFINE;
local: T;
world: T;
enabled: boolean;
clear(): void;
}
}
declare module PIXI.projection.webgl {
class BatchBuffer {
vertices: ArrayBuffer;
float32View: Float32Array;
uint32View: Uint32Array;
constructor(size: number);
destroy(): void;
}
}
declare module PIXI.projection.webgl {
function generateMultiTextureShader(vertexSrc: string, fragmentSrc: string, gl: WebGLRenderingContext, maxTextures: number): PIXI.Shader;
}
declare module PIXI {
interface ObjectRenderer {
renderer: WebGLRenderer;
}
interface BaseTexture {
_virtalBoundId: number;
}
}
declare module PIXI.projection.webgl {
import BaseTexture = PIXI.BaseTexture;
import ObjectRenderer = PIXI.ObjectRenderer;
import GLBuffer = PIXI.glCore.GLBuffer;
import VertexArrayObject = PIXI.glCore.VertexArrayObject;
import WebGLRenderer = PIXI.WebGLRenderer;
import Sprite = PIXI.Sprite;
class BatchGroup {
textures: Array<BaseTexture>;
textureCount: number;
ids: Array<Number>;
size: number;
start: number;
blend: number;
uniforms: any;
}
abstract class MultiTextureSpriteRenderer extends ObjectRenderer {
shaderVert: string;
shaderFrag: string;
MAX_TEXTURES_LOCAL: number;
abstract createVao(vertexBuffer: GLBuffer): PIXI.glCore.VertexArrayObject;
abstract fillVertices(float32View: Float32Array, uint32View: Uint32Array, index: number, sprite: any, argb: number, textureId: number): void;
getUniforms(spr: PIXI.Sprite): any;
syncUniforms(obj: any): void;
vertSize: number;
vertByteSize: number;
size: number;
buffers: Array<BatchBuffer>;
indices: Uint16Array;
shader: PIXI.Shader;
currentIndex: number;
groups: Array<BatchGroup>;
sprites: Array<Sprite>;
indexBuffer: GLBuffer;
vertexBuffers: Array<GLBuffer>;
vaos: Array<VertexArrayObject>;
vao: VertexArrayObject;
vaoMax: number;
vertexCount: number;
MAX_TEXTURES: number;
constructor(renderer: WebGLRenderer);
onContextChange(): void;
onPrerender(): void;
render(sprite: Sprite): void;
flush(): void;
start(): void;
stop(): void;
destroy(): void;
}
}
declare module PIXI.projection {
import PointLike = PIXI.PointLike;
abstract class Surface implements IWorldTransform {
surfaceID: string;
_updateID: number;
vertexSrc: string;
fragmentSrc: string;
fillUniforms(uniforms: any): void;
clear(): void;
boundsQuad(v: ArrayLike<number>, out: any, after?: PIXI.Matrix): void;
abstract apply(pos: PointLike, newPos: PointLike): PointLike;
abstract applyInverse(pos: PointLike, newPos: PointLike): PointLike;
}
}
declare module PIXI.projection {
import PointLike = PIXI.PointLike;
class BilinearSurface extends Surface {
distortion: PIXI.Point;
constructor();
clear(): void;
apply(pos: PointLike, newPos?: PointLike): PointLike;
applyInverse(pos: PointLike, newPos: PointLike): PointLike;
mapSprite(sprite: PIXI.Sprite, quad: Array<PointLike>, outTransform?: PIXI.TransformStatic): this;
mapQuad(rect: PIXI.Rectangle, quad: Array<PointLike>, outTransform: PIXI.TransformStatic): this;
fillUniforms(uniforms: any): void;
}
}
declare module PIXI.projection {
class Container2s extends PIXI.Container {
constructor();
proj: ProjectionSurface;
readonly worldTransform: any;
}
}
declare namespace PIXI {
interface Matrix extends PIXI.projection.IWorldTransform {
apply(pos: PointLike, newPos?: PointLike): PointLike;
applyInverse(pos: PointLike, newPos?: PointLike): PointLike;
}
}
declare module PIXI.projection {
import PointLike = PIXI.PointLike;
interface IWorldTransform {
apply(pos: PointLike, newPos: PointLike): PointLike;
applyInverse(pos: PointLike, newPos: PointLike): PointLike;
}
class ProjectionSurface extends AbstractProjection {
constructor(legacy: PIXI.TransformBase, enable?: boolean);
_surface: Surface;
_activeProjection: ProjectionSurface;
enabled: boolean;
surface: Surface;
applyPartial(pos: PointLike, newPos?: PointLike): PointLike;
apply(pos: PointLike, newPos?: PointLike): PointLike;
applyInverse(pos: PointLike, newPos: PointLike): PointLike;
mapBilinearSprite(sprite: PIXI.Sprite, quad: Array<PointLike>): void;
_currentSurfaceID: number;
_currentLegacyID: number;
_lastUniforms: any;
clear(): void;
readonly uniforms: any;
}
}
declare module PIXI.projection {
}
declare module PIXI {
interface Sprite {
convertTo2s(): void;
}
interface Container {
convertTo2s(): void;
convertSubtreeTo2s(): void;
}
}
declare module PIXI.projection {
}
declare module PIXI.projection {
class Sprite2s extends PIXI.Sprite {
constructor(texture: PIXI.Texture);
proj: ProjectionSurface;
aTrans: PIXI.Matrix;
_calculateBounds(): void;
calculateVertices(): void;
calculateTrimmedVertices(): void;
readonly worldTransform: any;
}
}
declare module PIXI.projection {
class Text2s extends PIXI.Text {
constructor(text?: string, style?: PIXI.TextStyle, canvas?: HTMLCanvasElement);
proj: ProjectionSurface;
aTrans: PIXI.Matrix;
readonly worldTransform: any;
}
}
declare module PIXI.projection {
}
declare module PIXI.projection {
import PointLike = PIXI.PointLike;
class StrangeSurface extends Surface {
constructor();
params: number[];
clear(): void;
setAxisX(pos: PointLike, factor: number, outTransform: PIXI.TransformStatic): void;
setAxisY(pos: PointLike, factor: number, outTransform: PIXI.TransformStatic): void;
_calc01(): void;
apply(pos: PointLike, newPos?: PointLike): PointLike;
applyInverse(pos: PointLike, newPos: PointLike): PointLike;
mapSprite(sprite: PIXI.Sprite, quad: Array<PointLike>, outTransform?: PIXI.TransformStatic): this;
mapQuad(rect: PIXI.Rectangle, quad: Array<PointLike>, outTransform: PIXI.TransformStatic): this;
fillUniforms(uniforms: any): void;
}
}
declare module PIXI.projection {
function container2dWorldTransform(): any;
class Container2d extends PIXI.Container {
constructor();
proj: Projection2d;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
readonly worldTransform: any;
}
let container2dToLocal: <T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP) => T;
}
declare module PIXI.projection {
import IPoint = PIXI.PointLike;
enum AFFINE {
NONE = 0,
FREE = 1,
AXIS_X = 2,
AXIS_Y = 3,
POINT = 4,
}
class Matrix2d {
static readonly IDENTITY: Matrix2d;
static readonly TEMP_MATRIX: Matrix2d;
mat3: Float64Array;
floatArray: Float32Array;
constructor(backingArray?: ArrayLike<number>);
a: number;
b: number;
c: number;
d: number;
tx: number;
ty: number;
set(a: number, b: number, c: number, d: number, tx: number, ty: number): this;
toArray(transpose?: boolean, out?: Float32Array): Float32Array;
apply(pos: IPoint, newPos: IPoint): IPoint;
translate(tx: number, ty: number): this;
scale(x: number, y: number): this;
scaleAndTranslate(scaleX: number, scaleY: number, tx: number, ty: number): void;
applyInverse(pos: IPoint, newPos: IPoint): IPoint;
invert(): Matrix2d;
identity(): Matrix2d;
clone(): Matrix2d;
copyTo(matrix: Matrix2d): Matrix2d;
copy(matrix: PIXI.Matrix, affine?: AFFINE): void;
copyFrom(matrix: PIXI.Matrix): this;
setToMultLegacy(pt: PIXI.Matrix, lt: Matrix2d): this;
setToMultLegacy2(pt: Matrix2d, lt: PIXI.Matrix): this;
setToMult(pt: Matrix2d, lt: Matrix2d): this;
prepend(lt: any): void;
}
}
declare module PIXI.projection {
class Mesh2d extends PIXI.mesh.Mesh {
constructor(texture: PIXI.Texture, vertices?: Float32Array, uvs?: Float32Array, indices?: Uint16Array, drawMode?: number);
proj: Projection2d;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
readonly worldTransform: any;
}
}
declare module PIXI.projection {
class Mesh2dRenderer extends PIXI.mesh.MeshRenderer {
onContextChange(): void;
}
}
declare module PIXI.projection {
import PointLike = PIXI.PointLike;
class Projection2d extends LinearProjection<Matrix2d> {
constructor(legacy: PIXI.TransformBase, enable?: boolean);
matrix: Matrix2d;
pivot: PIXI.ObservablePoint;
reverseLocalOrder: boolean;
onChange(): void;
setAxisX(p: PointLike, factor?: number): void;
setAxisY(p: PointLike, factor?: number): void;
mapSprite(sprite: PIXI.Sprite, quad: Array<PointLike>): void;
mapQuad(rect: PIXI.Rectangle, p: Array<PointLike>): void;
updateLocalTransform(lt: PIXI.Matrix): void;
clear(): void;
}
}
declare module PIXI {
interface Sprite {
convertTo2d(): void;
}
interface Container {
convertTo2d(): void;
convertSubtreeTo2d(): void;
}
namespace mesh {
interface Mesh {
convertTo2d(): void;
}
}
}
declare module PIXI.projection {
}
declare module PIXI.projection {
class Sprite2d extends PIXI.Sprite {
constructor(texture: PIXI.Texture);
proj: Projection2d;
_calculateBounds(): void;
calculateVertices(): void;
calculateTrimmedVertices(): void;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
readonly worldTransform: any;
}
}
declare module PIXI.projection {
}
declare module PIXI.projection {
class Text2d extends PIXI.Text {
constructor(text?: string, style?: PIXI.TextStyle, canvas?: HTMLCanvasElement);
proj: Projection2d;
readonly worldTransform: any;
}
}
declare module PIXI.projection {
class TilingSprite2d extends PIXI.extras.TilingSprite {
constructor(texture: PIXI.Texture, width: number, height: number);
tileProj: Projection2d;
proj: Projection2d;
readonly worldTransform: any;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
_renderWebGL(renderer: PIXI.WebGLRenderer): void;
}
}
declare module PIXI.projection {
class TilingSprite2dRenderer extends PIXI.extras.TilingSpriteRenderer {
shader: PIXI.Shader;
simpleShader: PIXI.Shader;
quad: PIXI.Quad;
onContextChange(): void;
render(ts: any): void;
}
}
declare module PIXI.projection {
class ProjectionsManager {
renderer: PIXI.WebGLRenderer;
gl: WebGLRenderingContext;
constructor(renderer: PIXI.WebGLRenderer);
onContextChange: (gl: WebGLRenderingContext) => void;
destroy(): void;
}
}
declare module PIXI.projection {
interface SpriteMaskFilter2dUniforms {
mask: PIXI.Texture;
otherMatrix: PIXI.Matrix | Matrix2d;
alpha: number;
}
class SpriteMaskFilter2d extends PIXI.Filter<SpriteMaskFilter2dUniforms> {
constructor(sprite: PIXI.Sprite);
maskSprite: PIXI.Sprite;
maskMatrix: Matrix2d;
apply(filterManager: PIXI.FilterManager, input: PIXI.RenderTarget, output: PIXI.RenderTarget, clear?: boolean, currentState?: any): void;
static calculateSpriteMatrix(currentState: any, mappedMatrix: Matrix2d, sprite: PIXI.Sprite): Matrix2d;
}
}
declare module PIXI.projection {
class Camera3d extends Container3d {
constructor();
_far: number;
_near: number;
_focus: number;
_orthographic: boolean;
readonly far: number;
readonly near: number;
readonly focus: number;
readonly ortographic: boolean;
setPlanes(focus: number, near?: number, far?: number, orthographic?: boolean): void;
}
}
declare module PIXI.projection {
function container3dWorldTransform(): any;
class Container3d extends PIXI.Container {
constructor();
proj: Projection3d;
isFrontFace(forceUpdate?: boolean): boolean;
getDepth(forceUpdate?: boolean): number;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
readonly worldTransform: any;
position3d: PIXI.PointLike;
scale3d: PIXI.PointLike;
euler: Euler;
pivot3d: PIXI.PointLike;
}
let container3dToLocal: <T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP) => T;
let container3dGetDepth: (forceUpdate?: boolean) => number;
let container3dIsFrontFace: (forceUpdate?: boolean) => boolean;
}
declare module PIXI.projection {
class Euler implements PIXI.PointLike {
constructor(x?: number, y?: number, z?: number);
_quatUpdateId: number;
_quatDirtyId: number;
quaternion: Float64Array;
_x: number;
_y: number;
_z: number;
_sign: number;
x: number;
y: number;
z: number;
pitch: number;
yaw: number;
roll: number;
set(x?: number, y?: number, z?: number): void;
copy(euler: PIXI.PointLike): void;
clone(): Euler;
update(): boolean;
}
}
declare module PIXI.projection {
import IPoint = PIXI.PointLike;
class Matrix3d {
static readonly IDENTITY: Matrix3d;
static readonly TEMP_MATRIX: Matrix3d;
mat4: Float64Array;
floatArray: Float32Array;
_dirtyId: number;
_updateId: number;
_mat4inv: Float64Array;
cacheInverse: boolean;
constructor(backingArray?: ArrayLike<number>);
a: number;
b: number;
c: number;
d: number;
tx: number;
ty: number;
set(a: number, b: number, c: number, d: number, tx: number, ty: number): this;
toArray(transpose?: boolean, out?: Float32Array): Float32Array;
setToTranslation(tx: number, ty: number, tz: number): void;
setToRotationTranslationScale(quat: Float64Array, tx: number, ty: number, tz: number, sx: number, sy: number, sz: number): Float64Array;
apply(pos: IPoint, newPos: IPoint): IPoint;
translate(tx: number, ty: number, tz: number): this;
scale(x: number, y: number, z?: number): this;
scaleAndTranslate(scaleX: number, scaleY: number, scaleZ: number, tx: number, ty: number, tz: number): void;
applyInverse(pos: IPoint, newPos: IPoint): IPoint;
invert(): Matrix3d;
invertCopyTo(matrix: Matrix3d): void;
identity(): Matrix3d;
clone(): Matrix3d;
copyTo(matrix: Matrix3d): Matrix3d;
copy(matrix: PIXI.Matrix, affine?: AFFINE): void;
copyFrom(matrix: PIXI.Matrix): this;
setToMultLegacy(pt: PIXI.Matrix, lt: Matrix3d): this;
setToMultLegacy2(pt: Matrix3d, lt: PIXI.Matrix): this;
setToMult(pt: Matrix3d, lt: Matrix3d): this;
prepend(lt: any): void;
static glMatrixMat4Invert(out: Float64Array, a: Float64Array): Float64Array;
static glMatrixMat4Multiply(out: Float64Array, a: Float64Array, b: Float64Array): Float64Array;
}
}
declare module PIXI.projection {
class Mesh3d extends PIXI.mesh.Mesh {
constructor(texture: PIXI.Texture, vertices?: Float32Array, uvs?: Float32Array, indices?: Uint16Array, drawMode?: number);
proj: Projection3d;
readonly worldTransform: any;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
isFrontFace(forceUpdate?: boolean): any;
getDepth(forceUpdate?: boolean): any;
position3d: PIXI.PointLike;
scale3d: PIXI.PointLike;
euler: Euler;
pivot3d: PIXI.PointLike;
}
}
declare module PIXI.projection {
class ObservableEuler implements PIXI.PointLike, Euler {
cb: any;
scope: any;
constructor(cb: any, scope: any, x?: number, y?: number, z?: number);
_quatUpdateId: number;
_quatDirtyId: number;
quaternion: Float64Array;
_x: number;
_y: number;
_z: number;
_sign: number;
x: number;
y: number;
z: number;
pitch: number;
yaw: number;
roll: number;
set(x?: number, y?: number, z?: number): void;
copy(euler: PIXI.PointLike): void;
clone(): Euler;
update(): boolean;
}
}
declare namespace PIXI {
interface PointLike {
z: number;
set(x?: number, y?: number, z?: number): void;
}
interface Point {
z: number;
set(x?: number, y?: number, z?: number): void;
}
interface ObservablePoint {
_z: number;
z: number;
set(x?: number, y?: number, z?: number): void;
}
}
declare module PIXI.projection {
class Point3d extends PIXI.Point {
constructor(x?: number, y?: number, z?: number);
}
}
declare module PIXI.projection {
class Projection3d extends LinearProjection<Matrix3d> {
constructor(legacy: PIXI.TransformBase, enable?: boolean);
cameraMatrix: Matrix3d;
_cameraMode: boolean;
cameraMode: boolean;
position: PIXI.ObservablePoint;
scale: PIXI.ObservablePoint;
euler: ObservableEuler;
pivot: PIXI.ObservablePoint;
onChange(): void;
clear(): void;
updateLocalTransform(lt: PIXI.Matrix): void;
}
}
declare module PIXI {
interface Container {
convertTo3d(): void;
convertSubtreeTo3d(): void;
}
}
declare module PIXI.projection {
}
declare module PIXI.projection {
class Sprite3d extends PIXI.Sprite {
constructor(texture: PIXI.Texture);
proj: Projection3d;
culledByFrustrum: boolean;
trimmedCulledByFrustrum: boolean;
_calculateBounds(): void;
calculateVertices(): void;
calculateTrimmedVertices(): void;
_renderWebGL(renderer: PIXI.WebGLRenderer): void;
containsPoint(point: PIXI.PointLike): boolean;
readonly worldTransform: any;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
isFrontFace(forceUpdate?: boolean): any;
getDepth(forceUpdate?: boolean): any;
position3d: PIXI.PointLike;
scale3d: PIXI.PointLike;
euler: Euler;
pivot3d: PIXI.PointLike;
}
}
declare module PIXI.projection {
class Text3d extends PIXI.Text {
constructor(text?: string, style?: PIXI.TextStyle, canvas?: HTMLCanvasElement);
proj: Projection3d;
readonly worldTransform: any;
toLocal<T extends PIXI.PointLike>(position: PIXI.PointLike, from?: PIXI.DisplayObject, point?: T, skipUpdate?: boolean, step?: TRANSFORM_STEP): T;
isFrontFace(forceUpdate?: boolean): any;
getDepth(forceUpdate?: boolean): any;
position3d: PIXI.PointLike;
scale3d: PIXI.PointLike;
euler: Euler;
pivot3d: PIXI.PointLike;
}
}
declare module PIXI.projection.utils {
function createIndicesForQuads(size: number): Uint16Array;
function isPow2(v: number): boolean;
function nextPow2(v: number): number;
function log2(v: number): number;
import PointLike = PIXI.PointLike;
function getIntersectionFactor(p1: PointLike, p2: PointLike, p3: PointLike, p4: PointLike, out: PointLike): number;
function getPositionFromQuad(p: Array<PointLike>, anchor: PointLike, out: PointLike): PointLike;
}
declare module "Projection" {
export = PIXI.projection;
}