# Source: objects/mask/Mask.js

    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};