import { DisplayObject, Graphics, Texture } from "pixi.js"; import { DApplicationTarget } from "./d-application-like"; import { DBaseStateSet } from "./d-base-state-set"; import { DStateAwareOrValueMightBe } from "./d-state-aware"; import { DImagePieceTint } from "./d-image-piece-tint"; import { DImagePieceMarginImpl } from "./d-image-piece-margin-impl"; import { DImagePieceMargin } from "./d-image-piece-margin"; import { DImagePieceAlign } from "./d-image-piece-align"; import { DImagePieceAlignImpl } from "./d-image-piece-align-impl"; import { DImagePiece, DImagePieceOptions, DThemeImagePiece } from "./d-image-piece"; export interface DImagePieceImplParent extends DApplicationTarget { readonly state: DBaseStateSet; addChild(displayObject: DisplayObject): void; removeChild(displayObject: DisplayObject): void; toDirty(): void; getOverflowMask(): Graphics | null; } export declare class DImagePieceImpl implements DImagePiece { protected _parent: DImagePieceImplParent; protected _theme: DThemeImagePiece; protected _object: DisplayObject | null; protected _computed: Texture | DisplayObject | null; protected _source: DStateAwareOrValueMightBe; protected _align: DImagePieceAlignImpl; protected _margin: DImagePieceMarginImpl; protected _tint: DImagePieceTint; protected _rotation: DStateAwareOrValueMightBe | undefined; protected _onUpdateBound: () => void; constructor(parent: DImagePieceImplParent, theme: DThemeImagePiece, options?: DImagePieceOptions); get object(): DisplayObject | null; get align(): DImagePieceAlign; get margin(): DImagePieceMargin; get tint(): DImagePieceTint; get source(): DStateAwareOrValueMightBe; set source(source: DStateAwareOrValueMightBe); get rotation(): DStateAwareOrValueMightBe; set rotation(rotation: DStateAwareOrValueMightBe); protected computeSource(): Texture | DisplayObject | null; onStateChange(newState: DBaseStateSet, oldState: DBaseStateSet): void; protected isTintAware(target: DisplayObject | null): target is DisplayObject & { tint: number; }; /** * Updates the tint. * * @returns True if the tint is changed. */ updateTint(): boolean; protected toRotation(theme: DThemeImagePiece, state: DBaseStateSet): number | null; updateRotation(): boolean; /** * Updates the computed source. * * @returns True if the computed source is changed */ updateSource(): boolean; isRefitable(target: any): boolean; destroy(): void; onUpdate(): void; }