Merge pull request #1 from SVG-Edit/master

UP
This commit is contained in:
NeiroNx
2018-12-28 16:16:02 +04:00
committed by GitHub
22 changed files with 321 additions and 224 deletions

View File

@@ -140,12 +140,8 @@ module.exports = {
rules: { rules: {
// Override these `ash-nazg/sauron` rules which are difficult for us // Override these `ash-nazg/sauron` rules which are difficult for us
// to apply at this time // to apply at this time
"capitalized-comments": ["off"],
complexity: ["off"],
"default-case": ["off"], "default-case": ["off"],
"require-unicode-regexp": ["off"], "require-unicode-regexp": ["off"],
"no-magic-numbers": ["off"],
"no-warning-comments": ["off"],
"max-len": ["off", { "max-len": ["off", {
ignoreUrls: true, ignoreUrls: true,
ignoreRegExpLiterals: true ignoreRegExpLiterals: true

View File

@@ -1,10 +1,17 @@
# SVG-Edit CHANGES # SVG-Edit CHANGES
# ? ## ?
- Optimization fix: Properly run code conditionally on browser check;
fixes #312 (@ianli-sc)
## 4.2.0
- Fix: Problem with retaining lines with grid mode (@NeiroNx) - Fix: Problem with retaining lines with grid mode (@NeiroNx)
- l10n: Add Chinese (simplified) extension locales (@enlove) - l10n: Add Chinese (simplified) extension locales (@enlove)
- l10n: Add Russian translation to some strings (@NeiroNx)
- Refactoring: Avoid Firefox console errors with hidden iframe - Refactoring: Avoid Firefox console errors with hidden iframe
- npm: Update devDeps
## 4.1.0 ## 4.1.0

View File

@@ -115,7 +115,8 @@ incorporating SVGEdit.
## Recent news ## Recent news
- 2018-11-29 Published 4.0.2 (Fix for hyphenated locales, svgcanvas distributions) - 2018-12-13 Published 4.2.0 (Chinese (simplified) and Russian locale updates; retaining lines with grid mode)
- 2018-11-29 Published 4.1.0 (Fix for hyphenated locales, svgcanvas distributions)
- 2018-11-16 Published 4.0.0/4.0.1 (Move to Promise-based APIs) - 2018-11-16 Published 4.0.0/4.0.1 (Move to Promise-based APIs)
- 2018-11-01 Published 3.2.0 (Update qunit to resolve security vulnerability of a dependency) - 2018-11-01 Published 3.2.0 (Update qunit to resolve security vulnerability of a dependency)
- 2018-10-25 Published 3.1.1 (Fix for saving SVG on Firefox) - 2018-10-25 Published 3.1.1 (Fix for saving SVG on Firefox)

27
dist/canvg.js vendored
View File

@@ -551,6 +551,25 @@ var canvg = (function (exports) {
return xml; return xml;
}; };
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/** /**
* StackBlur - a fast almost Gaussian Blur For Canvas * StackBlur - a fast almost Gaussian Blur For Canvas
* *
@@ -590,6 +609,8 @@ var canvg = (function (exports) {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259]; var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]; var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/** /**
@@ -608,7 +629,7 @@ var canvg = (function (exports) {
canvas = document.getElementById(canvas); canvas = document.getElementById(canvas);
} }
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) { if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!'); throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
} }
@@ -655,7 +676,7 @@ var canvg = (function (exports) {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) { function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data; var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs; var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2; var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1; var widthMinus1 = width - 1;
var heightMinus1 = height - 1; var heightMinus1 = height - 1;
@@ -853,7 +874,7 @@ var canvg = (function (exports) {
var BlurStack = function BlurStack() { var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack); _classCallCheck$1(this, BlurStack);
this.r = 0; this.r = 0;
this.g = 0; this.g = 0;

View File

@@ -551,6 +551,25 @@ var svgEditorExtension_server_moinsave = (function () {
return xml; return xml;
}; };
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/** /**
* StackBlur - a fast almost Gaussian Blur For Canvas * StackBlur - a fast almost Gaussian Blur For Canvas
* *
@@ -590,6 +609,8 @@ var svgEditorExtension_server_moinsave = (function () {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259]; var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]; var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/** /**
@@ -608,7 +629,7 @@ var svgEditorExtension_server_moinsave = (function () {
canvas = document.getElementById(canvas); canvas = document.getElementById(canvas);
} }
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) { if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!'); throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
} }
@@ -655,7 +676,7 @@ var svgEditorExtension_server_moinsave = (function () {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) { function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data; var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs; var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2; var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1; var widthMinus1 = width - 1;
var heightMinus1 = height - 1; var heightMinus1 = height - 1;
@@ -853,7 +874,7 @@ var svgEditorExtension_server_moinsave = (function () {
var BlurStack = function BlurStack() { var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack); _classCallCheck$1(this, BlurStack);
this.r = 0; this.r = 0;
this.g = 0; this.g = 0;

View File

@@ -551,6 +551,25 @@ var svgEditorExtension_server_opensave = (function () {
return xml; return xml;
}; };
function _typeof$1(obj) {
if (typeof Symbol === "function" && _typeof(Symbol.iterator) === "symbol") {
_typeof$1 = function _typeof$$1(obj) {
return _typeof(obj);
};
} else {
_typeof$1 = function _typeof$$1(obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : _typeof(obj);
};
}
return _typeof$1(obj);
}
function _classCallCheck$1(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/** /**
* StackBlur - a fast almost Gaussian Blur For Canvas * StackBlur - a fast almost Gaussian Blur For Canvas
* *
@@ -590,6 +609,8 @@ var svgEditorExtension_server_opensave = (function () {
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259]; var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]; var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/** /**
@@ -608,7 +629,7 @@ var svgEditorExtension_server_opensave = (function () {
canvas = document.getElementById(canvas); canvas = document.getElementById(canvas);
} }
if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) { if (!canvas || _typeof$1(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!'); throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
} }
@@ -655,7 +676,7 @@ var svgEditorExtension_server_opensave = (function () {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) { function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
var pixels = imageData.data; var pixels = imageData.data;
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs; var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
var div = radius + radius + 1; // const w4 = width << 2; var div = 2 * radius + 1; // const w4 = width << 2;
var widthMinus1 = width - 1; var widthMinus1 = width - 1;
var heightMinus1 = height - 1; var heightMinus1 = height - 1;
@@ -853,7 +874,7 @@ var svgEditorExtension_server_opensave = (function () {
var BlurStack = function BlurStack() { var BlurStack = function BlurStack() {
_classCallCheck(this, BlurStack); _classCallCheck$1(this, BlurStack);
this.r = 0; this.r = 0;
this.g = 0; this.g = 0;

2
dist/index-es.js vendored
View File

@@ -14761,7 +14761,7 @@ function SvgCanvas(container, config) {
var resultList = null; var resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

2
dist/index-umd.js vendored
View File

@@ -14767,7 +14767,7 @@
var resultList = null; var resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

100
dist/locale/lang.ru.js vendored
View File

@@ -11,7 +11,7 @@ var svgEditorLang_ru = (function () {
key_del: 'Delete', key_del: 'Delete',
key_down: 'Вниз', key_down: 'Вниз',
key_up: 'Вверх', key_up: 'Вверх',
more_opts: 'More Options', more_opts: 'Доп. Настройки',
url: 'URL', url: 'URL',
width: 'Width', width: 'Width',
height: 'Height' height: 'Height'
@@ -20,18 +20,18 @@ var svgEditorLang_ru = (function () {
powered_by: 'Powered by' powered_by: 'Powered by'
}, },
ui: { ui: {
toggle_stroke_tools: 'Show/hide more stroke tools', toggle_stroke_tools: 'Показать/скрыть инструменты обводки',
palette_info: 'Нажмите для изменения цвета заливки, Shift-Click изменить цвета обводки', palette_info: 'Нажмите для изменения цвета заливки, Shift-Click изменить цвета обводки',
zoom_level: 'Изменить масштаб', zoom_level: 'Изменить масштаб',
panel_drag: 'Drag left/right to resize side panel', panel_drag: 'Drag left/right to resize side panel',
quality: 'Quality:', quality: 'Качество:',
pathNodeTooltip: 'Drag node to move it. Double-click node to change segment type', pathNodeTooltip: 'Drag node to move it. Double-click node to change segment type',
pathCtrlPtTooltip: 'Drag control point to adjust curve properties', pathCtrlPtTooltip: 'Drag control point to adjust curve properties',
pick_stroke_paint_opacity: 'Pick a Stroke Paint and Opacity', pick_stroke_paint_opacity: 'Pick a Stroke Paint and Opacity',
pick_fill_paint_opacity: 'Pick a Fill Paint and Opacity' pick_fill_paint_opacity: 'Pick a Fill Paint and Opacity'
}, },
properties: { properties: {
id: 'Identify the element', id: 'Идентификатор элемента',
fill_color: 'Изменить цвет заливки', fill_color: 'Изменить цвет заливки',
stroke_color: 'Изменить цвет обводки', stroke_color: 'Изменить цвет обводки',
stroke_style: 'Изменить стиль обводки', stroke_style: 'Изменить стиль обводки',
@@ -45,7 +45,7 @@ var svgEditorLang_ru = (function () {
linejoin_miter: 'Linejoin: Miter', linejoin_miter: 'Linejoin: Miter',
linejoin_round: 'Linejoin: Round', linejoin_round: 'Linejoin: Round',
angle: 'Изменить угол поворота', angle: 'Изменить угол поворота',
blur: 'Change gaussian blur value', blur: 'Изменяет значение размытия',
opacity: 'Изменить непрозрачность элемента', opacity: 'Изменить непрозрачность элемента',
circle_cx: 'Изменить горизонтальный координат (CX) окружности', circle_cx: 'Изменить горизонтальный координат (CX) окружности',
circle_cy: 'Изменить вертикальный координат (CY) окружности', circle_cy: 'Изменить вертикальный координат (CY) окружности',
@@ -76,9 +76,9 @@ var svgEditorLang_ru = (function () {
italic: 'Курсив' italic: 'Курсив'
}, },
tools: { tools: {
main_menu: 'Main Menu', main_menu: 'Главное меню',
bkgnd_color_opac: 'Изменить цвет фона или прозрачность', bkgnd_color_opac: 'Изменить цвет фона или прозрачность',
connector_no_arrow: 'No arrow', connector_no_arrow: 'Нет стрелки',
fitToContent: 'Под размер содержимого', fitToContent: 'Под размер содержимого',
fit_to_all: 'Под размер всех слоев', fit_to_all: 'Под размер всех слоев',
fit_to_canvas: 'Под размер холста', fit_to_canvas: 'Под размер холста',
@@ -92,9 +92,9 @@ var svgEditorLang_ru = (function () {
smallest_object: 'Самый маленький объект', smallest_object: 'Самый маленький объект',
new_doc: 'Создать изображение', new_doc: 'Создать изображение',
open_doc: 'Открыть изображение', open_doc: 'Открыть изображение',
export_img: 'Export', export_img: 'Экспорт',
save_doc: 'Сохранить изображение', save_doc: 'Сохранить изображение',
import_doc: 'Import Image', import_doc: 'Импорт изображения',
align_to_page: 'Align Element to Page', align_to_page: 'Align Element to Page',
align_bottom: 'Выровнять по нижнему краю', align_bottom: 'Выровнять по нижнему краю',
align_center: 'Центрировать по вертикальной оси', align_center: 'Центрировать по вертикальной оси',
@@ -105,8 +105,8 @@ var svgEditorLang_ru = (function () {
mode_select: 'Выделить', mode_select: 'Выделить',
mode_fhpath: 'Карандаш', mode_fhpath: 'Карандаш',
mode_line: 'Линия', mode_line: 'Линия',
mode_rect: 'Rectangle Tool', mode_rect: 'Прямоугольник',
mode_square: 'Square Tool', mode_square: 'Квадрат',
mode_fhrect: 'Прямоугольник от руки', mode_fhrect: 'Прямоугольник от руки',
mode_ellipse: 'Эллипс', mode_ellipse: 'Эллипс',
mode_circle: 'Окружность', mode_circle: 'Окружность',
@@ -120,11 +120,11 @@ var svgEditorLang_ru = (function () {
redo: 'Вернуть', redo: 'Вернуть',
tool_source: 'Редактировать исходный код', tool_source: 'Редактировать исходный код',
wireframe_mode: 'Каркас', wireframe_mode: 'Каркас',
clone: 'Clone Element(s)', clone: 'Клонировать элемент(ы)',
del: 'Delete Element(s)', del: 'Удалить элемент(ы)',
group_elements: 'Создать группу элементов', group_elements: 'Создать группу элементов',
make_link: 'Make (hyper)link', make_link: 'Сделать ссылкой',
set_link_url: 'Set link URL (leave empty to remove)', set_link_url: 'Ссылка(оставьте пустым для удаления)',
to_path: 'В контур', to_path: 'В контур',
reorient_path: 'Изменить ориентацию контура', reorient_path: 'Изменить ориентацию контура',
ungroup: 'Разгруппировать элементы', ungroup: 'Разгруппировать элементы',
@@ -134,31 +134,31 @@ var svgEditorLang_ru = (function () {
node_clone: 'Создать копию узла', node_clone: 'Создать копию узла',
node_delete: 'Удалить узел', node_delete: 'Удалить узел',
node_link: 'Связать узлы', node_link: 'Связать узлы',
add_subpath: 'Add sub-path', add_subpath: 'Добавить линию',
openclose_path: 'Open/close sub-path', openclose_path: 'Разомкнуть/Замкнуть линию',
source_save: 'Сохранить', source_save: 'Сохранить',
cut: 'Cut', cut: 'Вырезать',
copy: 'Copy', copy: 'Копировать',
paste: 'Paste', paste: 'Вставить',
paste_in_place: 'Paste in Place', paste_in_place: 'Вставить сюда',
Delete: 'Delete', Delete: 'Удалить',
group: 'Group', group: 'Группировка',
move_front: 'Bring to Front', move_front: 'На передний план',
move_up: 'Bring Forward', move_up: 'Передвинуть вперед',
move_down: 'Send Backward', move_down: 'Передвинуть назад',
move_back: 'Send to Back' move_back: 'На задний план'
}, },
layers: { layers: {
layer: 'Слой', layer: 'Слой',
layers: 'Layers', layers: 'Слои',
del: 'Удалить слой', del: 'Удалить слой',
move_down: 'Опустить слой', move_down: 'Опустить слой',
new: 'Создать слой', new: 'Создать слой',
rename: 'Переименовать Слой', rename: 'Переименовать Слой',
move_up: 'Поднять слой', move_up: 'Поднять слой',
dupe: 'Duplicate Layer', dupe: 'Копировать слой',
merge_down: 'Merge Down', merge_down: 'Объединить с нижним',
merge_all: 'Merge All', merge_all: 'Объединить все',
move_elems_to: 'Переместить выделенные элементы:', move_elems_to: 'Переместить выделенные элементы:',
move_selected: 'Переместить выделенные элементы на другой слой' move_selected: 'Переместить выделенные элементы на другой слой'
}, },
@@ -173,20 +173,20 @@ var svgEditorLang_ru = (function () {
icon_size: 'Размер значков', icon_size: 'Размер значков',
language: 'Язык', language: 'Язык',
background: 'Фон', background: 'Фон',
editor_img_url: 'Image URL', editor_img_url: 'Изображение URL',
editor_bg_note: '(Фон не сохранится вместе с изображением.)', editor_bg_note: '(Фон не сохранится вместе с изображением.)',
icon_large: 'Большие', icon_large: 'Большие',
icon_medium: 'Средние', icon_medium: 'Средние',
icon_small: 'Малые', icon_small: 'Малые',
icon_xlarge: 'Огромные', icon_xlarge: 'Огромные',
select_predefined: 'Выбирать предопределенный размер', select_predefined: 'Выбирать предопределенный размер',
units_and_rulers: 'Units & Rulers', units_and_rulers: 'Единицы & Линейки',
show_rulers: 'Show rulers', show_rulers: 'Показывать линейки',
base_unit: 'Base Unit:', base_unit: 'Единицы:',
grid: 'Grid', grid: 'Сетка',
snapping_onoff: 'Snapping on/off', snapping_onoff: 'Привязка вкл/выкл',
snapping_stepsize: 'Snapping Step-Size:', snapping_stepsize: 'Шаг привязки:',
grid_color: 'Grid color' grid_color: 'Цвет сетки'
}, },
notification: { notification: {
invalidAttrValGiven: 'Некорректное значение аргумента', invalidAttrValGiven: 'Некорректное значение аргумента',
@@ -197,25 +197,25 @@ var svgEditorLang_ru = (function () {
layerHasThatName: 'Слой уже называется этим именем.', layerHasThatName: 'Слой уже называется этим именем.',
QmoveElemsToLayer: "Переместить выделенные элементы на слой '%s'?", QmoveElemsToLayer: "Переместить выделенные элементы на слой '%s'?",
QwantToClear: 'Вы хотите очистить?\nИстория действий будет забыта!', QwantToClear: 'Вы хотите очистить?\nИстория действий будет забыта!',
QwantToOpen: 'Do you want to open a new file?\nThis will also erase your undo history!', QwantToOpen: 'Открыть новый файл?\nИстория действий будет забыта!',
QerrorsRevertToSource: 'Была проблема при парсинге вашего SVG исходного кода.\nЗаменить его предыдущим SVG кодом?', QerrorsRevertToSource: 'Была проблема при парсинге вашего SVG исходного кода.\nЗаменить его предыдущим SVG кодом?',
QignoreSourceChanges: 'Забыть без сохранения?', QignoreSourceChanges: 'Забыть без сохранения?',
featNotSupported: 'Возможность не реализована', featNotSupported: 'Возможность не реализована',
enterNewImgURL: 'Введите новый URL изображения', enterNewImgURL: 'Введите новый URL изображения',
defsFailOnSave: 'NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.', defsFailOnSave: 'NOTE: Due to a bug in your browser, this image may appear wrong (missing gradients or elements). It will however appear correct once actually saved.',
loadingImage: 'Loading image, please wait...', loadingImage: 'Загрузка изоражения, придется подождать...',
saveFromBrowser: "Select 'Save As...' in your browser (possibly via file menu or right-click context-menu) to save this image as a %s file.", saveFromBrowser: "Выберите 'Сохранить как...' в вашем браузере (возможно через меню файл или в контекстном меню) чтобы сохранить как файл %s.",
noteTheseIssues: 'Also note the following issues: ', noteTheseIssues: 'Also note the following issues: ',
unsavedChanges: 'There are unsaved changes.', unsavedChanges: 'Есть несохраненные изменения.',
enterNewLinkURL: 'Enter the new hyperlink URL', enterNewLinkURL: 'Введите новую ссылку URL',
errorLoadingSVG: 'Error: Unable to load SVG data', errorLoadingSVG: 'Ошибка: Не удалось загрузить SVG данные',
URLLoadFail: 'Unable to load from URL', URLLoadFail: 'Не удалось загрузить по ссылке URL',
retrieving: 'Retrieving \'%s\' ...', retrieving: 'Получение \'%s\' ...',
popupWindowBlocked: 'Popup window may be blocked by browser', popupWindowBlocked: 'Всплывающее окно могло заблокироваться браузером',
exportNoBlur: 'Blurred elements will appear as un-blurred', exportNoBlur: 'Размытые элементы отображены как неразмытые',
exportNoforeignObject: 'foreignObject elements will not appear', exportNoforeignObject: 'foreignObject elements will not appear',
exportNoDashArray: 'Strokes will appear filled', exportNoDashArray: 'Strokes will appear filled',
exportNoText: 'Text may not appear as expected' exportNoText: 'Текст может показываться не так как должен'
} }
}; };

View File

@@ -14539,7 +14539,7 @@ var SvgCanvas = (function () {
var resultList = null; var resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,23 @@
function _typeof(obj) {
if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") {
_typeof = function (obj) {
return typeof obj;
};
} else {
_typeof = function (obj) {
return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj;
};
}
return _typeof(obj);
}
function _classCallCheck(instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
}
/** /**
* StackBlur - a fast almost Gaussian Blur For Canvas * StackBlur - a fast almost Gaussian Blur For Canvas
* *
@@ -37,8 +57,8 @@
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE. * OTHER DEALINGS IN THE SOFTWARE.
*/ */
const mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259]; var mulTable = [512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512, 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512, 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456, 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512, 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328, 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456, 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335, 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512, 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405, 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328, 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271, 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456, 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388, 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335, 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292, 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
const shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24]; var shgTable = [9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17, 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
/** /**
* @param {string|HTMLImageElement} img * @param {string|HTMLImageElement} img
* @param {string|HTMLCanvasElement} canvas * @param {string|HTMLCanvasElement} canvas
@@ -56,8 +76,8 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
return; return;
} }
const w = img.naturalWidth; var w = img.naturalWidth;
const h = img.naturalHeight; var h = img.naturalHeight;
if (typeof canvas === 'string') { if (typeof canvas === 'string') {
canvas = document.getElementById(canvas); canvas = document.getElementById(canvas);
@@ -71,7 +91,7 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
canvas.style.height = h + 'px'; canvas.style.height = h + 'px';
canvas.width = w; canvas.width = w;
canvas.height = h; canvas.height = h;
const context = canvas.getContext('2d'); var context = canvas.getContext('2d');
context.clearRect(0, 0, w, h); context.clearRect(0, 0, w, h);
context.drawImage(img, 0, 0); context.drawImage(img, 0, 0);
@@ -101,11 +121,11 @@ function getImageDataFromCanvas(canvas, topX, topY, width, height) {
canvas = document.getElementById(canvas); canvas = document.getElementById(canvas);
} }
if (!canvas || typeof canvas !== 'object' || !('getContext' in canvas)) { if (!canvas || _typeof(canvas) !== 'object' || !('getContext' in canvas)) {
throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!'); throw new TypeError('Expecting canvas with `getContext` method in processCanvasRGB(A) calls!');
} }
const context = canvas.getContext('2d'); var context = canvas.getContext('2d');
try { try {
return context.getImageData(topX, topY, width, height); return context.getImageData(topX, topY, width, height);
@@ -130,7 +150,7 @@ function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
} }
radius |= 0; radius |= 0;
let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height); var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius); imageData = processImageDataRGBA(imageData, topX, topY, width, height, radius);
canvas.getContext('2d').putImageData(imageData, topX, topY); canvas.getContext('2d').putImageData(imageData, topX, topY);
} }
@@ -146,17 +166,17 @@ function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
function processImageDataRGBA(imageData, topX, topY, width, height, radius) { function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
const pixels = imageData.data; var pixels = imageData.data;
let x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs; var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, aSum, rOutSum, gOutSum, bOutSum, aOutSum, rInSum, gInSum, bInSum, aInSum, pr, pg, pb, pa, rbs;
const div = radius + radius + 1; // const w4 = width << 2; var div = 2 * radius + 1; // const w4 = width << 2;
const widthMinus1 = width - 1; var widthMinus1 = width - 1;
const heightMinus1 = height - 1; var heightMinus1 = height - 1;
const radiusPlus1 = radius + 1; var radiusPlus1 = radius + 1;
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2; var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
const stackStart = new BlurStack(); var stackStart = new BlurStack();
let stack = stackStart; var stack = stackStart;
let stackEnd; var stackEnd;
for (i = 1; i < div; i++) { for (i = 1; i < div; i++) {
stack = stack.next = new BlurStack(); stack = stack.next = new BlurStack();
@@ -167,11 +187,11 @@ function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
} }
stack.next = stackStart; stack.next = stackStart;
let stackIn = null; var stackIn = null;
let stackOut = null; var stackOut = null;
yw = yi = 0; yw = yi = 0;
const mulSum = mulTable[radius]; var mulSum = mulTable[radius];
const shgSum = shgTable[radius]; var shgSum = shgTable[radius];
for (y = 0; y < height; y++) { for (y = 0; y < height; y++) {
rInSum = gInSum = bInSum = aInSum = rSum = gSum = bSum = aSum = 0; rInSum = gInSum = bInSum = aInSum = rSum = gSum = bSum = aSum = 0;
@@ -357,7 +377,7 @@ function processCanvasRGB(canvas, topX, topY, width, height, radius) {
} }
radius |= 0; radius |= 0;
let imageData = getImageDataFromCanvas(canvas, topX, topY, width, height); var imageData = getImageDataFromCanvas(canvas, topX, topY, width, height);
imageData = processImageDataRGB(imageData, topX, topY, width, height, radius); imageData = processImageDataRGB(imageData, topX, topY, width, height, radius);
canvas.getContext('2d').putImageData(imageData, topX, topY); canvas.getContext('2d').putImageData(imageData, topX, topY);
} }
@@ -373,17 +393,17 @@ function processCanvasRGB(canvas, topX, topY, width, height, radius) {
function processImageDataRGB(imageData, topX, topY, width, height, radius) { function processImageDataRGB(imageData, topX, topY, width, height, radius) {
const pixels = imageData.data; var pixels = imageData.data;
let x, y, i, p, yp, yi, yw, rSum, gSum, bSum, rOutSum, gOutSum, bOutSum, rInSum, gInSum, bInSum, pr, pg, pb, rbs; var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, rOutSum, gOutSum, bOutSum, rInSum, gInSum, bInSum, pr, pg, pb, rbs;
const div = radius + radius + 1; // const w4 = width << 2; var div = 2 * radius + 1; // const w4 = width << 2;
const widthMinus1 = width - 1; var widthMinus1 = width - 1;
const heightMinus1 = height - 1; var heightMinus1 = height - 1;
const radiusPlus1 = radius + 1; var radiusPlus1 = radius + 1;
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2; var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
const stackStart = new BlurStack(); var stackStart = new BlurStack();
let stack = stackStart; var stack = stackStart;
let stackEnd; var stackEnd;
for (i = 1; i < div; i++) { for (i = 1; i < div; i++) {
stack = stack.next = new BlurStack(); stack = stack.next = new BlurStack();
@@ -394,11 +414,11 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
} }
stack.next = stackStart; stack.next = stackStart;
let stackIn = null; var stackIn = null;
let stackOut = null; var stackOut = null;
yw = yi = 0; yw = yi = 0;
const mulSum = mulTable[radius]; var mulSum = mulTable[radius];
const shgSum = shgTable[radius]; var shgSum = shgTable[radius];
for (y = 0; y < height; y++) { for (y = 0; y < height; y++) {
rInSum = gInSum = bInSum = rSum = gSum = bSum = 0; rInSum = gInSum = bInSum = rSum = gSum = bSum = 0;
@@ -535,15 +555,14 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
*/ */
class BlurStack { var BlurStack = function BlurStack() {
constructor() { _classCallCheck(this, BlurStack);
this.r = 0;
this.g = 0;
this.b = 0;
this.a = 0;
this.next = null;
}
} this.r = 0;
this.g = 0;
this.b = 0;
this.a = 0;
this.next = null;
};
export { BlurStack, processImage as image, processCanvasRGBA as canvasRGBA, processCanvasRGB as canvasRGB, processImageDataRGBA as imageDataRGBA, processImageDataRGB as imageDataRGB }; export { BlurStack, processImage as image, processCanvasRGBA as canvasRGBA, processCanvasRGB as canvasRGB, processImageDataRGBA as imageDataRGBA, processImageDataRGB as imageDataRGB };

View File

@@ -1226,7 +1226,7 @@ const getIntersectionList = this.getIntersectionList = function (rect) {
} }
let resultList = null; let resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

View File

@@ -14764,7 +14764,7 @@
var resultList = null; var resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));

197
package-lock.json generated
View File

@@ -1,6 +1,6 @@
{ {
"name": "svgedit", "name": "svgedit",
"version": "4.1.0", "version": "4.2.0",
"lockfileVersion": 1, "lockfileVersion": 1,
"requires": true, "requires": true,
"dependencies": { "dependencies": {
@@ -949,30 +949,24 @@
} }
}, },
"@sinonjs/formatio": { "@sinonjs/formatio": {
"version": "3.0.0", "version": "3.1.0",
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz", "resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.1.0.tgz",
"integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==", "integrity": "sha512-ZAR2bPHOl4Xg6eklUGpsdiIJ4+J1SNag1DHHrG/73Uz/nVwXqjgUtRPLoS+aVyieN9cSbc0E4LsU984tWcDyNg==",
"dev": true, "dev": true,
"requires": { "requires": {
"@sinonjs/samsam": "2.1.0" "@sinonjs/samsam": "^2 || ^3"
},
"dependencies": {
"@sinonjs/samsam": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.0.tgz",
"integrity": "sha512-5x2kFgJYupaF1ns/RmharQ90lQkd2ELS8A9X0ymkAAdemYHGtI2KiUHG8nX2WU0T1qgnOU5YMqnBM2V7NUanNw==",
"dev": true,
"requires": {
"array-from": "^2.1.1"
}
}
} }
}, },
"@sinonjs/samsam": { "@sinonjs/samsam": {
"version": "2.1.2", "version": "3.0.2",
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz", "resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.0.2.tgz",
"integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==", "integrity": "sha512-m08g4CS3J6lwRQk1pj1EO+KEVWbrbXsmi9Pw0ySmrIbcVxVaedoFgLvFsV8wHLwh01EpROVz3KvVcD1Jmks9FQ==",
"dev": true "dev": true,
"requires": {
"@sinonjs/commons": "^1.0.2",
"array-from": "^2.1.1",
"lodash.get": "^4.4.2"
}
}, },
"@types/error-stack-parser": { "@types/error-stack-parser": {
"version": "1.3.18", "version": "1.3.18",
@@ -1089,9 +1083,9 @@
} }
}, },
"acorn-jsx": { "acorn-jsx": {
"version": "5.0.0", "version": "5.0.1",
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz", "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
"integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==", "integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
"dev": true "dev": true
}, },
"acorn-walk": { "acorn-walk": {
@@ -1101,9 +1095,9 @@
"dev": true "dev": true
}, },
"ajv": { "ajv": {
"version": "6.5.5", "version": "6.6.1",
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz", "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
"integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==", "integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
"dev": true, "dev": true,
"requires": { "requires": {
"fast-deep-equal": "^2.0.1", "fast-deep-equal": "^2.0.1",
@@ -1295,6 +1289,12 @@
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
"dev": true "dev": true
}, },
"astral-regex": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz",
"integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==",
"dev": true
},
"async": { "async": {
"version": "0.2.6", "version": "0.2.6",
"resolved": "http://registry.npmjs.org/async/-/async-0.2.6.tgz", "resolved": "http://registry.npmjs.org/async/-/async-0.2.6.tgz",
@@ -3708,9 +3708,9 @@
} }
}, },
"eslint": { "eslint": {
"version": "5.9.0", "version": "5.10.0",
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz", "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
"integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==", "integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/code-frame": "^7.0.0", "@babel/code-frame": "^7.0.0",
@@ -3722,7 +3722,7 @@
"eslint-scope": "^4.0.0", "eslint-scope": "^4.0.0",
"eslint-utils": "^1.3.1", "eslint-utils": "^1.3.1",
"eslint-visitor-keys": "^1.0.0", "eslint-visitor-keys": "^1.0.0",
"espree": "^4.0.0", "espree": "^5.0.0",
"esquery": "^1.0.1", "esquery": "^1.0.1",
"esutils": "^2.0.2", "esutils": "^2.0.2",
"file-entry-cache": "^2.0.0", "file-entry-cache": "^2.0.0",
@@ -3732,7 +3732,6 @@
"ignore": "^4.0.6", "ignore": "^4.0.6",
"imurmurhash": "^0.1.4", "imurmurhash": "^0.1.4",
"inquirer": "^6.1.0", "inquirer": "^6.1.0",
"is-resolvable": "^1.1.0",
"js-yaml": "^3.12.0", "js-yaml": "^3.12.0",
"json-stable-stringify-without-jsonify": "^1.0.1", "json-stable-stringify-without-jsonify": "^1.0.1",
"levn": "^0.3.0", "levn": "^0.3.0",
@@ -3786,9 +3785,9 @@
} }
}, },
"eslint-config-ash-nazg": { "eslint-config-ash-nazg": {
"version": "0.2.0", "version": "0.3.0",
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.2.0.tgz", "resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.3.0.tgz",
"integrity": "sha512-KEqkn2uxjyfY6RRtVcceL9XG/Ds3iWS1uwQ9Ltldi+u+I/h76arGrETwu7mSOQroB8AvLuy/bAhLf6FM8tUnbg==", "integrity": "sha512-K1YvZUw9msvvKBJKBdUn60/PlpDP1mRfXhTvpEP2ld5D7S2XjDhTR96knQ9Dd++8Zj5pROnkVTllebLW1sFm0Q==",
"dev": true "dev": true
}, },
"eslint-config-standard": { "eslint-config-standard": {
@@ -3919,8 +3918,9 @@
} }
}, },
"eslint-plugin-jsdoc": { "eslint-plugin-jsdoc": {
"version": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#76e117e130b7d823d8ad187cf70b783f1d5fed40", "version": "3.14.0",
"from": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#Deploy", "resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.14.0.tgz",
"integrity": "sha512-5QBhxmf7XeJpUsha3cEUe0j8JVcd7XMnDUkqhKdtbrUb0oz4Ea0/b1kfE8FN0/iu2mvVSb1HArMPQT9SxQY2/g==",
"dev": true, "dev": true,
"requires": { "requires": {
"comment-parser": "^0.5.0", "comment-parser": "^0.5.0",
@@ -4099,9 +4099,9 @@
"dev": true "dev": true
}, },
"espree": { "espree": {
"version": "4.1.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz",
"integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", "integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==",
"dev": true, "dev": true,
"requires": { "requires": {
"acorn": "^6.0.2", "acorn": "^6.0.2",
@@ -4595,14 +4595,14 @@
} }
}, },
"flat-cache": { "flat-cache": {
"version": "1.3.2", "version": "1.3.4",
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz", "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
"integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==", "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
"dev": true, "dev": true,
"requires": { "requires": {
"circular-json": "^0.3.1", "circular-json": "^0.3.1",
"del": "^3.0.0",
"graceful-fs": "^4.1.2", "graceful-fs": "^4.1.2",
"rimraf": "~2.6.2",
"write": "^0.2.1" "write": "^0.2.1"
} }
}, },
@@ -5824,9 +5824,9 @@
"dev": true "dev": true
}, },
"inquirer": { "inquirer": {
"version": "6.2.0", "version": "6.2.1",
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz", "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
"integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==", "integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-escapes": "^3.0.0", "ansi-escapes": "^3.0.0",
@@ -5840,8 +5840,25 @@
"run-async": "^2.2.0", "run-async": "^2.2.0",
"rxjs": "^6.1.0", "rxjs": "^6.1.0",
"string-width": "^2.1.0", "string-width": "^2.1.0",
"strip-ansi": "^4.0.0", "strip-ansi": "^5.0.0",
"through": "^2.3.6" "through": "^2.3.6"
},
"dependencies": {
"ansi-regex": {
"version": "4.0.0",
"resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.0.0.tgz",
"integrity": "sha512-iB5Dda8t/UqpPI/IjsejXu5jOGDrzn41wJyljwPH65VCIbk6+1BzFIMJGFwTNrYXT1CrD+B4l19U7awiQ8rk7w==",
"dev": true
},
"strip-ansi": {
"version": "5.0.0",
"resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.0.0.tgz",
"integrity": "sha512-Uu7gQyZI7J7gn5qLn1Np3G9vcYGTVqB+lFTytnDJv83dd8T22aGH451P3jueT2/QemInJDfxHB5Tde5OzgG1Ow==",
"dev": true,
"requires": {
"ansi-regex": "^4.0.0"
}
}
} }
}, },
"invariant": { "invariant": {
@@ -6215,12 +6232,6 @@
"has": "^1.0.1" "has": "^1.0.1"
} }
}, },
"is-resolvable": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz",
"integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==",
"dev": true
},
"is-stream": { "is-stream": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
@@ -7393,12 +7404,12 @@
"dev": true "dev": true
}, },
"nise": { "nise": {
"version": "1.4.6", "version": "1.4.7",
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz", "resolved": "https://registry.npmjs.org/nise/-/nise-1.4.7.tgz",
"integrity": "sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==", "integrity": "sha512-5cxvo/pEAEHBX5s0zl+zd96BvHHuua/zttIHeQuTWSDjGrWsEHamty8xbZNfocC+fx7NMrle7XHvvxtFxobIZQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"@sinonjs/formatio": "3.0.0", "@sinonjs/formatio": "^3.1.0",
"just-extend": "^3.0.0", "just-extend": "^3.0.0",
"lolex": "^2.3.2", "lolex": "^2.3.2",
"path-to-regexp": "^1.7.0", "path-to-regexp": "^1.7.0",
@@ -8062,9 +8073,9 @@
"dev": true "dev": true
}, },
"progress": { "progress": {
"version": "2.0.1", "version": "2.0.3",
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz", "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==", "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
"dev": true "dev": true
}, },
"promise-fs": { "promise-fs": {
@@ -8436,7 +8447,7 @@
"dependencies": { "dependencies": {
"jsesc": { "jsesc": {
"version": "0.5.0", "version": "0.5.0",
"resolved": "http://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz",
"integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=",
"dev": true "dev": true
} }
@@ -8729,9 +8740,9 @@
} }
}, },
"rollup-plugin-babel": { "rollup-plugin-babel": {
"version": "4.0.3", "version": "4.1.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.0.3.tgz", "resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.1.0.tgz",
"integrity": "sha512-/PP0MgbPQyRywI4zRIJim6ySjTcOLo4kQbEbROqp9kOR3kHC3FeU++QpBDZhS2BcHtJTVZMVbBV46flbBN5zxQ==", "integrity": "sha512-4IYv/yTNyH4P/Cma1mWdqy42gc051i1mTe/6oe8F055WzJGSb2qs1mSDwZTo93wA6kMBgHBIR/OcBk7JMnL59Q==",
"dev": true, "dev": true,
"requires": { "requires": {
"@babel/helper-module-imports": "^7.0.0", "@babel/helper-module-imports": "^7.0.0",
@@ -8772,20 +8783,20 @@
} }
}, },
"rollup-plugin-node-resolve": { "rollup-plugin-node-resolve": {
"version": "3.4.0", "version": "4.0.0",
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz", "resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.0.tgz",
"integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==", "integrity": "sha512-7Ni+/M5RPSUBfUaP9alwYQiIKnKeXCOHiqBpKUl9kwp3jX5ZJtgXAait1cne6pGEVUUztPD6skIKH9Kq9sNtfw==",
"dev": true, "dev": true,
"requires": { "requires": {
"builtin-modules": "^2.0.0", "builtin-modules": "^3.0.0",
"is-module": "^1.0.0", "is-module": "^1.0.0",
"resolve": "^1.1.6" "resolve": "^1.8.1"
}, },
"dependencies": { "dependencies": {
"builtin-modules": { "builtin-modules": {
"version": "2.0.0", "version": "3.0.0",
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz", "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz",
"integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==", "integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==",
"dev": true "dev": true
} }
} }
@@ -9109,20 +9120,18 @@
"dev": true "dev": true
}, },
"sinon": { "sinon": {
"version": "7.1.1", "version": "7.2.2",
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.1.1.tgz", "resolved": "https://registry.npmjs.org/sinon/-/sinon-7.2.2.tgz",
"integrity": "sha512-iYagtjLVt1vN3zZY7D8oH7dkjNJEjLjyuzy8daX5+3bbQl8gaohrheB9VfH1O3L6LKuue5WTJvFluHiuZ9y3nQ==", "integrity": "sha512-WLagdMHiEsrRmee3jr6IIDntOF4kbI6N2pfbi8wkv50qaUQcBglkzkjtoOEbeJ2vf1EsrHhLI+5Ny8//WHdMoA==",
"dev": true, "dev": true,
"requires": { "requires": {
"@sinonjs/commons": "^1.2.0", "@sinonjs/commons": "^1.2.0",
"@sinonjs/formatio": "^3.0.0", "@sinonjs/formatio": "^3.1.0",
"@sinonjs/samsam": "^2.1.2", "@sinonjs/samsam": "^3.0.2",
"diff": "^3.5.0", "diff": "^3.5.0",
"lodash.get": "^4.4.2",
"lolex": "^3.0.0", "lolex": "^3.0.0",
"nise": "^1.4.6", "nise": "^1.4.7",
"supports-color": "^5.5.0", "supports-color": "^5.5.0"
"type-detect": "^4.0.8"
} }
}, },
"sinon-test": { "sinon-test": {
@@ -9138,11 +9147,13 @@
"dev": true "dev": true
}, },
"slice-ansi": { "slice-ansi": {
"version": "1.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", "integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==",
"dev": true, "dev": true,
"requires": { "requires": {
"ansi-styles": "^3.2.0",
"astral-regex": "^1.0.0",
"is-fullwidth-code-point": "^2.0.0" "is-fullwidth-code-point": "^2.0.0"
} }
}, },
@@ -9394,9 +9405,9 @@
} }
}, },
"stackblur-canvas": { "stackblur-canvas": {
"version": "2.1.0", "version": "2.2.0",
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.1.0.tgz", "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz",
"integrity": "sha512-RwIUB2RMahW1gf0n98b/CpMnGtzepwD5Nn1RRXdg51FU5Sp5VWAbUEsGPQx7qbw7Ljkwwtzci/APw6G+y10k1w==", "integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ==",
"dev": true "dev": true
}, },
"stackframe": { "stackframe": {
@@ -9524,14 +9535,14 @@
"dev": true "dev": true
}, },
"table": { "table": {
"version": "5.1.0", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz", "resolved": "https://registry.npmjs.org/table/-/table-5.1.1.tgz",
"integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==", "integrity": "sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==",
"dev": true, "dev": true,
"requires": { "requires": {
"ajv": "^6.5.3", "ajv": "^6.6.1",
"lodash": "^4.17.10", "lodash": "^4.17.11",
"slice-ansi": "1.0.0", "slice-ansi": "2.0.0",
"string-width": "^2.1.1" "string-width": "^2.1.1"
} }
}, },

View File

@@ -1,6 +1,6 @@
{ {
"name": "svgedit", "name": "svgedit",
"version": "4.1.0", "version": "4.2.0",
"description": "Powerful SVG-Editor for your browser ", "description": "Powerful SVG-Editor for your browser ",
"main": "dist/index-umd.js", "main": "dist/index-umd.js",
"module": "dist/index-es.js", "module": "dist/index-es.js",
@@ -83,12 +83,12 @@
"@babel/preset-env": "^7.2.0", "@babel/preset-env": "^7.2.0",
"axe-testcafe": "^1.1.0", "axe-testcafe": "^1.1.0",
"babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3", "babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3",
"eslint": "5.9.0", "eslint": "5.10.0",
"eslint-config-ash-nazg": "0.2.0", "eslint-config-ash-nazg": "0.3.0",
"eslint-config-standard": "12.0.0", "eslint-config-standard": "12.0.0",
"eslint-plugin-compat": "2.6.3", "eslint-plugin-compat": "2.6.3",
"eslint-plugin-import": "2.14.0", "eslint-plugin-import": "2.14.0",
"eslint-plugin-jsdoc": "https://github.com/brettz9/eslint-plugin-jsdoc#Deploy", "eslint-plugin-jsdoc": "^3.14.0",
"eslint-plugin-markdown": "^1.0.0-rc.0", "eslint-plugin-markdown": "^1.0.0-rc.0",
"eslint-plugin-no-use-extend-native": "^0.3.12", "eslint-plugin-no-use-extend-native": "^0.3.12",
"eslint-plugin-node": "8.0.0", "eslint-plugin-node": "8.0.0",
@@ -111,16 +111,16 @@
"remark-cli": "^6.0.1", "remark-cli": "^6.0.1",
"remark-lint-ordered-list-marker-value": "^1.0.2", "remark-lint-ordered-list-marker-value": "^1.0.2",
"rollup": "0.67.4", "rollup": "0.67.4",
"rollup-plugin-babel": "^4.0.3", "rollup-plugin-babel": "^4.1.0",
"rollup-plugin-commonjs": "^9.2.0", "rollup-plugin-commonjs": "^9.2.0",
"rollup-plugin-json": "^3.1.0", "rollup-plugin-json": "^3.1.0",
"rollup-plugin-node-builtins": "^2.1.2", "rollup-plugin-node-builtins": "^2.1.2",
"rollup-plugin-node-resolve": "^3.4.0", "rollup-plugin-node-resolve": "^4.0.0",
"rollup-plugin-re": "^1.0.7", "rollup-plugin-re": "^1.0.7",
"rollup-plugin-terser": "^3.0.0", "rollup-plugin-terser": "^3.0.0",
"sinon": "^7.1.1", "sinon": "^7.2.2",
"sinon-test": "^2.4.0", "sinon-test": "^2.4.0",
"stackblur-canvas": "^2.1.0", "stackblur-canvas": "^2.2.0",
"testcafe": "^0.23.2" "testcafe": "^0.23.2"
} }
} }

View File

@@ -14764,7 +14764,7 @@
var resultList = null; var resultList = null;
if (!isIE) { if (!isIE()) {
if (typeof svgroot.getIntersectionList === 'function') { if (typeof svgroot.getIntersectionList === 'function') {
// Offset the bbox of the rubber box by the offset of the svgcontent element. // Offset the bbox of the rubber box by the offset of the svgcontent element.
rubberBBox.x += parseInt(svgcontent.getAttribute('x')); rubberBBox.x += parseInt(svgcontent.getAttribute('x'));