import {Object2D} from "../../Object2D.js";
/**
* A mask can be used to set the drawing region.
*
* Masks are treated as objects their shape is used to filter other objects shape.
*
* Multiple mask objects can be active simultaneously, they have to be attached to the object mask list to filter the render region.
*
* A mask objects is draw using the context.clip() method.
*
* @class
* @extends {Object2D}
*/
function Mask()
{
Object2D.call(this);
}
Mask.prototype = Object.create(Object2D.prototype);
Mask.prototype.constructor = Mask;
Mask.prototype.type = "Mask";
Object2D.register(Mask, "Mask");
Mask.prototype.isMask = true;
/**
* Clip the canvas context. Define a clipping path and set the clip using the context.clip() method.
*
* Ensures that next objects being drawn are clipped to the path stored here.
*
* More information about canvas clipping https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/clip.
*
* @param {CanvasRenderingContext2D} context Canvas 2d drawing context.
* @param {Viewport} viewport Viewport applied to the canvas.
* @param {DOM} canvas DOM canvas element where the content is being drawn.
*/
Mask.prototype.clip = function(context, viewport, canvas){};
export {Mask};