{"version":3,"sources":["jsdelivr-header.js","/npm/@pencil.js/linear-gradient@1.18.0/linear-gradient.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,OCNO,aAAc,qCAMN,MAAM,eAQjB,WAAA,CAAa,EAAc,EAAY,GACnC,KAAK,KAAO,SAAS,KAAK,GAC1B,KAAK,GAAK,SAAS,KAAK,GACxB,KAAK,WAAa,CACtB,CAOA,QAAA,CAAU,GACN,MAAM,EAAO,SAAS,KAAK,KAAK,MAC1B,EAAK,SAAS,KAAK,KAAK,IACxB,EAAW,EAAI,qBAAqB,EAAK,EAAG,EAAK,EAAG,EAAG,EAAG,EAAG,GAEnE,OADA,OAAO,KAAK,KAAK,YAAY,SAAQ,GAAO,EAAS,aAAa,EAAK,KAAK,WAAW,GAAK,cACrF,CACX","file":"/npm/@pencil.js/linear-gradient@1.18.0/linear-gradient.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/@pencil.js/linear-gradient@1.18.0/linear-gradient.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import Position from \"@pencil.js/position\";\n\n/**\n * Linear-gradient class\n * @class\n */\nexport default class LinearGradient {\n    /**\n     * Linear-gradient constructor\n     * @param {PositionDefinition} fromPosition - Starting position of the gradient\n     * @param {PositionDefinition} toPosition - Ending position of the gradient\n     * @param {Object} colorStops - Set of colors to go through (key is position [from 0 to 1], value is the color)\n     * @example new LinearGradient(from, to, { 0: \"red\", 1: \"green\" });\n     */\n    constructor (fromPosition, toPosition, colorStops) {\n        this.from = Position.from(fromPosition);\n        this.to = Position.from(toPosition);\n        this.colorStops = colorStops;\n    }\n\n    /**\n     * Return a drawing context compatible gradient\n     * @param {CanvasRenderingContext2D} ctx - Drawing context\n     * @return {CanvasGradient}\n     */\n    toString (ctx) {\n        const from = Position.from(this.from);\n        const to = Position.from(this.to);\n        const gradient = ctx.createLinearGradient(from.x, from.y, to.x, to.y);\n        Object.keys(this.colorStops).forEach(key => gradient.addColorStop(key, this.colorStops[key].toString()));\n        return gradient;\n    }\n}\n"]}