@drincs/pixi-vn
Version:
Pixi'VN is a npm package that provides various features for creating visual novels.
87 lines (84 loc) • 2.8 kB
TypeScript
import { Texture, TextureSourceLike } from 'pixi.js';
import { VideoSpriteOptions } from '../../interface/canvas/canvas-options.js';
import ImageSprite from './ImageSprite.js';
import VideoSpriteMemory from '../../interface/canvas/memory/VideoSpriteMemory.js';
import './AdditionalPositions.js';
import './AnchorExtension.js';
import '../../types/ContainerChild.js';
import './CanvasBaseItem.js';
import '../../interface/canvas/memory/CanvasBaseItemMemory.js';
import './Sprite.js';
import '../../types/CanvasEventNamesType.js';
import '../CanvasEvent.js';
import '../../types/EventIdType.js';
import '../../interface/canvas/memory/SpriteMemory.js';
import '../../interface/canvas/TextureMemory.js';
import '../../interface/canvas/memory/ImageSpriteMemory.js';
/**
* This class is a extension of the {@link ImageSprite} class, it has the same properties and methods,
* but it has some features that make video management easier.
* You need to use {@link VideoSprite.load()} to show the video in the canvas.
* This class is used for functions like {@link addVideo} and {@link showWithDissolve}.
* @example
* ```typescript
* let film = new VideoSprite({
* x: 100,
* y: 100,
* }, 'https://pixijs.com/assets/video.mp4')
* await film.load()
* canvas.add("film", film)
* ```
* @example
* ```typescript
* let film = addVideo("film", 'https://pixijs.com/assets/video.mp4')
* film.currentTime = 2
* await film.load()
* ```
*/
declare class VideoSprite extends ImageSprite<VideoSpriteMemory> {
constructor(options?: VideoSpriteOptions | Texture | undefined, textureAlias?: string);
pixivnId: string;
get memory(): VideoSpriteMemory;
set memory(_value: VideoSpriteMemory);
setMemory(value: VideoSpriteMemory): Promise<void>;
static from(source: Texture | TextureSourceLike, skipCache?: boolean): VideoSprite;
load(): Promise<void>;
private _looop;
/**
* Set to true if you want the video to loop.
*/
get loop(): boolean;
set loop(value: boolean);
private _paused;
/**
* Set to true if you want the video to be paused.
*/
get paused(): boolean;
set paused(value: boolean);
/**
* Pause the video.
*/
pause(): void;
/**
* Play the video.
*/
play(): void;
private _currentTime;
/**
* The current time of the video.
*/
get currentTime(): number;
set currentTime(value: number);
/**
* Restart the video.
*/
restart(): void;
/**
* The duration of the video.
*/
get duration(): number | undefined;
}
declare function setMemoryVideoSprite(element: VideoSprite, memory: VideoSpriteMemory | {}, options?: {
ignoreTexture?: boolean;
}): Promise<void>;
export { VideoSprite as default, setMemoryVideoSprite };