playable.js
Version:
A lightweight HTML5 game engine.
33 lines (32 loc) • 1.39 kB
TypeScript
import { Layer } from './Layer';
import { Texture } from '../media/Texture';
import { Rectangle } from '../geom/Rectangle';
export declare class Image extends Layer {
static SCALE: FillMode;
static REPEAT: FillMode;
static REPEAT_X: FillMode;
static REPEAT_Y: FillMode;
protected $texture: Texture;
protected $fillMode: FillMode;
protected $clipRect: Rectangle;
protected $scale9Grid: Rectangle;
protected $pattern: CanvasPattern;
protected readonly $boundOnTextureLoad: () => void;
constructor(texture?: Texture);
constructor(texture: Texture, width: number, height: number);
get texture(): Texture;
set texture(texture: Texture);
get fillMode(): FillMode;
set fillMode(fillMode: FillMode);
get clipRect(): Rectangle;
set clipRect(clipRect: Rectangle);
get scale9Grid(): Rectangle;
set scale9Grid(scale9Grid: Rectangle);
protected $onTextureLoad(): void;
protected $updatePattern(): void;
protected $getContentBounds(): Rectangle;
protected $drawPattern(targetX: any, targetY: any, targetW: any, targetH: any): void;
protected $drawTexture(sourceX: number, sourceY: number, sourceW: number, sourceH: number, targetX: number, targetY: number, targetW: number, targetH: number): void;
protected $render(): number;
}
export type FillMode = 'scale' | 'repeat' | 'repeat-x' | 'repeat-y';