UNPKG

@image/packer

Version:
112 lines (111 loc) 2.93 kB
export interface Size { width: number; height: number; } export interface Dictionary<T> { [key: string]: T; } export interface ImagePart { width: number; height: number; x: number; y: number; filePath: string; } export interface IImageProcessor { getSize(path: string): Promise<Size>; scale(input: string, output: string, scale: { width: number; height: number; }): Promise<void>; trim(input: string, output: string, fuzz?: string): Promise<IRect>; combine(rects: ImagePart[], width: number, height: number, outputFileName: string, exportConfig: SpritesheetExportConfig): Promise<void>; } export interface ILayoutConfig { max_width: number; max_height: number; padding: number; oversized_warning: boolean; } export interface ICache { lookup(type: string, key: string, cacheMissFunction: () => any, version?: any): Promise<any>; getCachePath(basename: string): string; calculateHash(path: string): Promise<string>; createHash(string: string): string; } export interface Logger { assert(value: any, message?: string, ...optionalParams: any[]): void; error(message?: any, ...optionalParams: any[]): void; info(message?: any, ...optionalParams: any[]): void; log(message?: any, ...optionalParams: any[]): void; trace(message?: any, ...optionalParams: any[]): void; warn(message?: any, ...optionalParams: any[]): void; } export interface ConvertOptions { scaleX?: number; scaleY?: number; dontExtent?: boolean; maxWidth?: number; maxHeight?: number; trim?: boolean; } export interface IRect { x: number; y: number; height: number; width: number; } export interface ITrim { width: number; height: number; trim?: IRect; path: string; } export interface LoadingInformation { path: string; position: { x: number; y: number; }; dimension: { w: number; h: number; }; trim: { x: number; y: number; w: number; h: number; } | null; } export interface SpritesheetExportConfig { ext?: 'jpeg' | 'png'; } export interface AtlasInputNotResolved { files: { path: string | string[]; convertOption: ConvertOptions; }[]; layoutConfig: ILayoutConfig; exportConfig: SpritesheetExportConfig; } export interface AtlasInput { files: { path: string; convertOption: ConvertOptions; }[]; layoutConfig: ILayoutConfig; exportConfig: SpritesheetExportConfig; } export interface AtlasOutput { sheets: { sprites: LoadingInformation[]; path: string; hash: string; width: number; height: number; }[]; } export interface IGeneratorOutput { atlases: AtlasOutput[]; }