shaku
Version:
A simple and effective JavaScript game development framework that knows its place!
61 lines • 2.76 kB
TypeScript
export = TextureAsset;
/**
* A loadable texture asset.
* This asset type loads an image from URL or source, and turn it into a texture.
*/
declare class TextureAsset extends TextureAssetBase {
/**
* Set the WebGL context.
* @private
*/
private static _setWebGl;
_image: new (width?: number, height?: number) => HTMLImageElement;
_width: number;
_height: number;
_texture: any;
_ctxForPixelData: CanvasRenderingContext2D;
/**
* Create this texture as an empty render target.
* @param {Number} width Texture width.
* @param {Number} height Texture height.
* @param {Number} channels Texture channels count. Defaults to 4 (RGBA).
*/
createRenderTarget(width: number, height: number, channels: number): void;
/**
* Create texture from loaded image instance.
* @see TextureAsset.load for params.
* @param {Image} image Image to create texture from. Image must be loaded!
* @param {*} params Optional additional params. See load() for details.
*/
fromImage(image: new (width?: number, height?: number) => HTMLImageElement, params: any): void;
/**
* Create the texture from an image.
* @see TextureAsset.load for params.
* @param {Image|String} source Image or Image source URL to create texture from.
* @param {*} params Optional additional params. See load() for details.
* @returns {Promise} Promise to resolve when asset is ready.
*/
create(source: (new (width?: number, height?: number) => HTMLImageElement) | string, params: any): Promise<any>;
/** @inheritdoc */
get _glTexture(): any;
/**
* Get pixel color from image.
* Note: this method is quite slow, if you need to perform multiple queries consider using `getPixelsData()` once to get all pixels data instead.
* @param {Number} x Pixel X value.
* @param {Number} y Pixel Y value.
* @returns {Color} Pixel color.
*/
getPixel(x: number, y: number): Color;
/**
* Get a 2D array with pixel colors.
* @param {Number=} x Offset X in texture to get. Defaults to 0.
* @param {Number=} y Offset Y in texture to get. Defaults to 0.
* @param {Number=} width How many pixels to get on X axis. Defaults to texture width - x.
* @param {Number=} height How many pixels to get on Y axis. Defaults to texture height - y.
* @returns {Array<Array<Color>>} A 2D array with all texture pixel colors.
*/
getPixelsData(x?: number | undefined, y?: number | undefined, width?: number | undefined, height?: number | undefined): Array<Array<Color>>;
}
import TextureAssetBase = require("./texture_asset_base");
import Color = require("../utils/color");
//# sourceMappingURL=texture_asset.d.ts.map