mirror of
https://github.com/EsotericSoftware/spine-runtimes.git
synced 2026-02-25 11:11:24 +08:00
62 lines
2.0 KiB
TypeScript
62 lines
2.0 KiB
TypeScript
import { AnimationState, Skeleton } from "@esotericsoftware/spine-core";
|
|
interface Rectangle {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
}
|
|
interface GameObject {
|
|
skeleton?: Skeleton;
|
|
state?: AnimationState;
|
|
}
|
|
export interface SpineBoundsProvider {
|
|
/** Returns the bounding box for the skeleton, in skeleton space. */
|
|
calculateBounds(gameObject: GameObject): Rectangle;
|
|
}
|
|
export declare class AABBRectangleBoundsProvider implements SpineBoundsProvider {
|
|
private x;
|
|
private y;
|
|
private width;
|
|
private height;
|
|
constructor(x: number, y: number, width: number, height: number);
|
|
calculateBounds(): {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
}
|
|
export declare class SetupPoseBoundsProvider implements SpineBoundsProvider {
|
|
private clipping;
|
|
/**
|
|
* @param clipping If true, clipping attachments are used to compute the bounds. False, by default.
|
|
*/
|
|
constructor(clipping?: boolean);
|
|
calculateBounds(gameObject: GameObject): {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
}
|
|
export declare class SkinsAndAnimationBoundsProvider implements SpineBoundsProvider {
|
|
private animation?;
|
|
private skins;
|
|
private timeStep;
|
|
private clipping;
|
|
/**
|
|
* @param animation The animation to use for calculating the bounds. If null, the setup pose is used.
|
|
* @param skins The skins to use for calculating the bounds. If empty, the default skin is used.
|
|
* @param timeStep The time step to use for calculating the bounds. A smaller time step means more precision, but slower calculation.
|
|
* @param clipping If true, clipping attachments are used to compute the bounds. False, by default.
|
|
*/
|
|
constructor(animation?: string | undefined, skins?: string[], timeStep?: number, clipping?: boolean);
|
|
calculateBounds(gameObject: GameObject): {
|
|
x: number;
|
|
y: number;
|
|
width: number;
|
|
height: number;
|
|
};
|
|
}
|
|
export {};
|