/** * @author Yannick Deubel (https://github.com/yandeu) * @copyright Copyright (c) 2021 Yannick Deubel; Project Url: https://github.com/enable3d/enable3d * @license {@link https://github.com/enable3d/enable3d/blob/master/LICENSE|LGPL-3.0} */ import { ActionSprite } from './actionSprite.js'; import { Texture } from 'three'; interface JSONArrayFrame { filename: string; rotated: boolean; trimmed: boolean; sourceSize: { w: number; h: number; }; spriteSourceSize: { x: number; y: number; w: number; h: number; }; frame: { x: number; y: number; w: number; h: number; }; } export type JSONArrayFrames = JSONArrayFrame[]; interface JSONHashFrames { [key: string]: { frame: { x: number; y: number; w: number; h: number; }; rotated: boolean; trimmed: boolean; spriteSourceSize: { x: number; y: number; w: number; h: number; }; sourceSize: { w: number; h: number; }; }; } export interface JSONHash { frames: JSONHashFrames; } export interface Atlas { texture: Texture; json: JSONHash; } export declare class TextureAtlas extends ActionSprite { private JSONHash; private positionOffset; /** * @param texture Atlas Texture (image) * @param json Atlas .json file (string). Needs to be "JSON hash". */ constructor(atlas: Atlas, frame?: string); setScale(x: number, y?: number): void; protected scaleFrame(): void; protected sizeFrame(width: number, height: number): void; protected offsetTexture(x: number, y: number): void; flipX(flip: boolean): void; getFrame(frameName: string): { frame: { x: number; y: number; w: number; h: number; }; rotated: boolean; trimmed: boolean; spriteSourceSize: { x: number; y: number; w: number; h: number; }; sourceSize: { w: number; h: number; }; }; setFrame(frameName: string): void; private update; } export {}; //# sourceMappingURL=textureAtlas.d.ts.map