import type { Quaternion, Vector2, Vector3 } from "three/src/Three"; import { Component } from "../../hierarchy_object/Component"; import type { ReadonlyQuaternion } from "../../math/ReadonlyQuaternion"; import type { ReadonlyVector2 } from "../../math/ReadonlyVector2"; import type { ReadonlyVector3 } from "../../math/ReadonlyVector3"; import type { IUnknownSizeCssRenderOption } from "../render/CssRenderer"; import type { ICssImageRenderOption } from "../render/CssSpriteRenderer"; import { ImageRenderingMode } from "../render/CssSpriteRenderer"; import { CssFilter } from "../render/filter/CssFilter"; /** * represents a sprite atlas instance * * this class is used from the SpriteAtlasStaticInstancer */ export declare class SpriteAtlasInstance { private readonly _width; private readonly _height; private readonly _atlasIndex; private readonly _position; private readonly _rotation; private readonly _scale; private readonly _centerOffset; constructor(width: number, height: number, atlasIndex: number, position: Vector3, rotation?: Quaternion, scale?: Vector3, centerOffset?: Vector2); /** * sprite atlas instance width */ get width(): number; /** * sprite atlas instance height */ get height(): number; /** * sprite atlas instance atlas index */ get atlasIndex(): number; /** * sprite atlas instance position */ get position(): ReadonlyVector3; /** * sprite atlas instance rotation */ get rotation(): ReadonlyQuaternion | undefined; /** * sprite atlas instance scale */ get scale(): ReadonlyVector3 | undefined; /** * sprite atlas instance center offset */ get centerOffset(): ReadonlyVector2 | undefined; } /** * this component draws multiple sprite atlas instances * * drawcall optimization is not yet available */ export declare class SpriteAtlasStaticInstancer extends Component implements IUnknownSizeCssRenderOption, ICssImageRenderOption { private _imageSource; private _useZaxisSorter; private _zaxisSortOffset; private _columnCount; private _rowCount; private _pointerEvents; private _viewScale; private _imageRenderingMode; private readonly _filter; private _initializeFunction; private _started; start(): void; /** * set instances to be drawn * @param instances instances to be drawn * @returns */ setInstances(instances: SpriteAtlasInstance[]): void; /** * set the number of rows and columns of the sprite atlas * * Even if you change this value after the instance is created. Objects that have already been created will not be changed * @param columnCount number of columns * @param rowCount number of rows */ setSliceCount(columnCount: number, rowCount: number): void; /** * image source of the sprite atlas (default: `GlobalConfig.defaultSpriteSrc`) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get imageSource(): string; /** * image source of the sprite atlas (default: `GlobalConfig.defaultSpriteSrc`) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ set imageSource(value: string); /** * column count of the sprite atlas (default: 1) */ get columnCount(): number; /** * row count of the sprite atlas (default: 1) */ get rowCount(): number; /** * if this is true, the zaxis sorter will be attached to the sprite atlas instances * otherwise the zaxis initializer will be attached (default: false) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get useZindexSorter(): boolean; /** * if this is true, the zaxis sorter will be attached to the sprite atlas instances * otherwise the zaxis initializer will be attached (default: false) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ set useZindexSorter(value: boolean); /** * offset of the zaxis sorter (default: 0) * * this is only used if useZindexSorter is true * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get zindexSortOffset(): number; /** * offset of the zaxis sorter (default: 0) * * this is only used if useZindexSorter is true * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ set zindexSortOffset(value: number); /** * if this is true, the sprite atlas instances can be clicked (default: true) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get pointerEvents(): boolean; /** * if this is true, the sprite atlas instances can be clicked (default: true) * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ set pointerEvents(value: boolean); /** * element viewScale * * value to scaling html element. the smaller value, the higher resolution of element. * * note: if the viewScale is greater than 1, render will have different behaviour depending on the browser. In the case of firefox, normal operation is guaranteed. * * Even if you change this value after the instance is created. Objects that have already been created will not be changed * @param value */ get viewScale(): number; /** * element viewScale * * value to scaling html element. the smaller value, the higher resolution of element. * * note: if the viewScale is greater than 1, render will have different behaviour depending on the browser. In the case of firefox, normal operation is guaranteed. * * Even if you change this value after the instance is created. Objects that have already been created will not be changed * @param value */ set viewScale(value: number); /** * css filter * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get filter(): CssFilter; /** * image rendering mode (default: ImageRenderingMode.Pixelated) * * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ get imageRenderingMode(): ImageRenderingMode; /** * image rendering mode (default: ImageRenderingMode.Pixelated) * * @see https://developer.mozilla.org/en-US/docs/Web/CSS/image-rendering * * Even if you change this value after the instance is created. Objects that have already been created will not be changed */ set imageRenderingMode(value: ImageRenderingMode); }