phaser3-rex-plugins
Version:
122 lines (111 loc) • 2.95 kB
TypeScript
import Canvas from '../canvas/Canvas';
export default CircleMaskImage;
declare namespace CircleMaskImage {
/**
* Mask shape types supported by circle mask image.
*/
type MaskType = null | 0 | 1 | 2 | 'circle' | 'ellipse' | 'roundRectangle';
/**
* 2D radius value.
*/
interface IRadiusXY {
/**
* Horizontal radius.
*/
x?: number,
/**
* Vertical radius.
*/
y?: number
}
/**
* Per-corner radius configuration for rounded rectangle mask.
*/
interface ICornerRadiusConfig {
/**
* Top-left corner radius.
*/
tl?: number | IRadiusXY,
/**
* Top-right corner radius.
*/
tr?: number | IRadiusXY,
/**
* Bottom-left corner radius.
*/
bl?: number | IRadiusXY,
/**
* Bottom-right corner radius.
*/
br?: number | IRadiusXY
}
/**
* Radius config value accepted by circle mask image.
*/
type RadiusType = number | IRadiusXY | ICornerRadiusConfig;
/**
* Configuration options for creating a circle-mask image.
*/
interface IConfig {
/**
* Mask shape type.
*/
maskType?: MaskType,
/**
* Radius configuration of mask shape.
*/
radius?: RadiusType,
/**
* Background color filled before masking.
*/
backgroundColor?: string,
/**
* Stroke color of mask outline.
*/
strokeColor?: string,
/**
* Stroke line width of mask outline.
*/
strokeLineWidth?: number,
}
}
/**
* Canvas image object rendered with circle/ellipse/rounded-rectangle mask.
*/
declare class CircleMaskImage extends Canvas {
/**
* Create a circle-mask image object.
*
* @param scene - Scene that owns this game object.
* @param x - Initial x position.
* @param y - Initial y position.
* @param key - Source texture key.
* @param frame - Source frame key.
* @param config - Mask type or mask configuration.
*/
constructor(
scene: Phaser.Scene,
x?: number,
y?: number,
key?: string,
frame?: string,
config?:
CircleMaskImage.MaskType |
CircleMaskImage.IConfig
);
/**
* Set source texture and mask configuration.
*
* @param key - Source texture key.
* @param frame - Source frame key.
* @param config - Mask type or mask configuration.
* @returns This game object.
*/
setTexture(
key?: string,
frame?: string,
config?:
CircleMaskImage.MaskType |
CircleMaskImage.IConfig
): this;
}