@pixi/core
Version:
Core PixiJS
51 lines (50 loc) • 1.89 kB
TypeScript
import { Resource } from './Resource';
import type { Renderer } from '../../Renderer';
import type { BaseTexture, ImageSource } from '../BaseTexture';
import type { GLTexture } from '../GLTexture';
/**
* Base for all the image/canvas resources.
* @memberof PIXI
*/
export declare class BaseImageResource extends Resource {
/**
* The source element.
* @member {HTMLImageElement|HTMLVideoElement|ImageBitmap|PIXI.ICanvas}
* @readonly
*/
source: ImageSource;
/**
* If set to `true`, will force `texImage2D` over `texSubImage2D` for uploading.
* Certain types of media (e.g. video) using `texImage2D` is more performant.
* @default false
* @private
*/
noSubImage: boolean;
/**
* @param {HTMLImageElement|HTMLVideoElement|ImageBitmap|PIXI.ICanvas} source
*/
constructor(source: ImageSource);
/**
* Set cross origin based detecting the url and the crossorigin
* @param element - Element to apply crossOrigin
* @param url - URL to check
* @param crossorigin - Cross origin value to use
*/
static crossOrigin(element: HTMLImageElement | HTMLVideoElement, url: string, crossorigin?: boolean | string): void;
/**
* Upload the texture to the GPU.
* @param renderer - Upload to the renderer
* @param baseTexture - Reference to parent texture
* @param glTexture
* @param {HTMLImageElement|HTMLVideoElement|ImageBitmap|PIXI.ICanvas} [source] - (optional)
* @returns - true is success
*/
upload(renderer: Renderer, baseTexture: BaseTexture, glTexture: GLTexture, source?: ImageSource): boolean;
/**
* Checks if source width/height was changed, resize can cause extra baseTexture update.
* Triggers one update in any case.
*/
update(): void;
/** Destroy this {@link PIXI.BaseImageResource} */
dispose(): void;
}