tav-media
Version:
Cross platform media editing framework
148 lines (147 loc) • 4.76 kB
TypeScript
import { PAGComposition } from './pag-composition';
import { Matrix } from './core/matrix';
import type { LayerType, Marker, Rect } from './types';
export declare class PAGLayer {
wasmIns: any;
isDestroyed: any;
constructor(wasmIns: any);
/**
* Returns a globally unique id for this object.
*/
uniqueID(): number;
/**
* Returns the type of layer.
*/
layerType(): LayerType;
/**
* Returns the name of the layer.
*/
layerName(): string;
/**
* A matrix object containing values that alter the scaling, rotation, and translation of the
* layer. Altering it does not change the animation matrix, and it will be concatenated to current
* animation matrix for displaying.
*/
matrix(): Matrix;
setMatrix(matrix: Matrix): void;
/**
* Resets the matrix to its default value.
*/
resetMatrix(): void;
/**
* The final matrix for displaying, it is the combination of the matrix property and current
* matrix from animation.
*/
getTotalMatrix(): Matrix;
/**
* Returns the current alpha of the layer if previously set.
*/
alpha(): number;
/**
* Set the alpha of the layer, which will be concatenated to the current animation opacity for
* displaying.
*/
setAlpha(opacity: Number): void;
/**
* Whether or not the layer is visible.
*/
visible(): boolean;
/**
* Set the visible of the layer.
*/
setVisible(visible: boolean): void;
/**
* Ranges from 0 to PAGFile.numTexts - 1 if the layer type is text, or from 0 to PAGFile.numImages
* -1 if the layer type is image, otherwise returns -1.
*/
editableIndex(): number;
/**
* Returns the parent PAGComposition of current PAGLayer.
*/
parent(): PAGComposition;
/**
* Returns the markers of this layer.
*/
markers(): import("./types").Vector<Marker>;
/**
* Converts the time from the PAGLayer's (local) timeline to the PAGSurface (global) timeline. The
* time is in microseconds.
*/
localTimeToGlobal(localTime: number): number;
/**
* Converts the time from the PAGSurface (global) to the PAGLayer's (local) timeline timeline. The
* time is in microseconds.
*/
globalToLocalTime(globalTime: number): number;
/**
* The duration of the layer in microseconds, indicates the length of the visible range.
*/
duration(): number;
/**
* Returns the frame rate of this layer.
*/
frameRate(): number;
/**
* The start time of the layer in microseconds, indicates the start position of the visible range
* in parent composition. It could be negative value.
*/
startTime(): number;
/**
* Set the start time of the layer, in microseconds.
*/
setStartTime(time: number): void;
/**
* The current time of the layer in microseconds, the layer is invisible if currentTime is not in
* the visible range (startTime <= currentTime < startTime + duration).
*/
currentTime(): number;
/**
* Set the current time of the layer, in microseconds.
*/
setCurrentTime(time: number): void;
/**
* Returns the current progress of play position, the value ranges from 0.0 to 1.0.
*/
getProgress(): number;
/**
* Set the progress of play position, the value ranges from 0.0 to 1.0. A value of 0.0 represents
* the frame at startTime. A value of 1.0 represents the frame at the end of duration.
*/
setProgress(percent: number): void;
/**
* Set the progress of play position to the previous frame.
*/
preFrame(): void;
/**
* Set the progress of play position to the next frame.
*/
nextFrame(): void;
/**
* Returns a rectangle that defines the original area of the layer, which is not transformed by
* the matrix.
*/
getBounds(): Rect;
/**
* Returns trackMatte layer of this layer.
*/
trackMatteLayer(): PAGLayer;
/**
* Indicate whether this layer is excluded from parent's timeline. If set to true, this layer's
* current time will not change when parent's current time changes.
*/
excludedFromTimeline(): boolean;
/**
* Set the excludedFromTimeline flag of this layer.
*/
setExcludedFromTimeline(value: boolean): void;
/**
* Returns true if this layer is a PAGFile.
*/
isPAGFile(): boolean;
/**
* Returns this layer as a type layer.
*/
asTypeLayer(): import("./pag-image-layer").PAGImageLayer | PAGLayer | import("./pag-solid-layer").PAGSolidLayer | import("./pag-text-layer").PAGTextLayer;
isDelete(): boolean;
destroy(): void;
}