commit
6ae4ea4ce4
|
@ -140,12 +140,8 @@ module.exports = {
|
|||
rules: {
|
||||
// Override these `ash-nazg/sauron` rules which are difficult for us
|
||||
// to apply at this time
|
||||
"capitalized-comments": ["off"],
|
||||
complexity: ["off"],
|
||||
"default-case": ["off"],
|
||||
"require-unicode-regexp": ["off"],
|
||||
"no-magic-numbers": ["off"],
|
||||
"no-warning-comments": ["off"],
|
||||
"max-len": ["off", {
|
||||
ignoreUrls: true,
|
||||
ignoreRegExpLiterals: true
|
||||
|
|
|
@ -1,10 +1,17 @@
|
|||
# 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)
|
||||
- l10n: Add Chinese (simplified) extension locales (@enlove)
|
||||
- l10n: Add Russian translation to some strings (@NeiroNx)
|
||||
- Refactoring: Avoid Firefox console errors with hidden iframe
|
||||
- npm: Update devDeps
|
||||
|
||||
## 4.1.0
|
||||
|
||||
|
|
|
@ -115,7 +115,8 @@ incorporating SVGEdit.
|
|||
|
||||
## 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-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)
|
||||
|
|
|
@ -551,6 +551,25 @@ var canvg = (function (exports) {
|
|||
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
|
||||
*
|
||||
|
@ -590,6 +609,8 @@ var canvg = (function (exports) {
|
|||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* 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 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);
|
||||
}
|
||||
|
||||
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!');
|
||||
}
|
||||
|
||||
|
@ -655,7 +676,7 @@ var canvg = (function (exports) {
|
|||
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
|
||||
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 div = radius + radius + 1; // const w4 = width << 2;
|
||||
var div = 2 * radius + 1; // const w4 = width << 2;
|
||||
|
||||
var widthMinus1 = width - 1;
|
||||
var heightMinus1 = height - 1;
|
||||
|
@ -853,7 +874,7 @@ var canvg = (function (exports) {
|
|||
|
||||
|
||||
var BlurStack = function BlurStack() {
|
||||
_classCallCheck(this, BlurStack);
|
||||
_classCallCheck$1(this, BlurStack);
|
||||
|
||||
this.r = 0;
|
||||
this.g = 0;
|
||||
|
|
|
@ -551,6 +551,25 @@ var svgEditorExtension_server_moinsave = (function () {
|
|||
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
|
||||
*
|
||||
|
@ -590,6 +609,8 @@ var svgEditorExtension_server_moinsave = (function () {
|
|||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* 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 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);
|
||||
}
|
||||
|
||||
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!');
|
||||
}
|
||||
|
||||
|
@ -655,7 +676,7 @@ var svgEditorExtension_server_moinsave = (function () {
|
|||
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
|
||||
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 div = radius + radius + 1; // const w4 = width << 2;
|
||||
var div = 2 * radius + 1; // const w4 = width << 2;
|
||||
|
||||
var widthMinus1 = width - 1;
|
||||
var heightMinus1 = height - 1;
|
||||
|
@ -853,7 +874,7 @@ var svgEditorExtension_server_moinsave = (function () {
|
|||
|
||||
|
||||
var BlurStack = function BlurStack() {
|
||||
_classCallCheck(this, BlurStack);
|
||||
_classCallCheck$1(this, BlurStack);
|
||||
|
||||
this.r = 0;
|
||||
this.g = 0;
|
||||
|
|
|
@ -551,6 +551,25 @@ var svgEditorExtension_server_opensave = (function () {
|
|||
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
|
||||
*
|
||||
|
@ -590,6 +609,8 @@ var svgEditorExtension_server_opensave = (function () {
|
|||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* 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 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);
|
||||
}
|
||||
|
||||
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!');
|
||||
}
|
||||
|
||||
|
@ -655,7 +676,7 @@ var svgEditorExtension_server_opensave = (function () {
|
|||
function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
|
||||
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 div = radius + radius + 1; // const w4 = width << 2;
|
||||
var div = 2 * radius + 1; // const w4 = width << 2;
|
||||
|
||||
var widthMinus1 = width - 1;
|
||||
var heightMinus1 = height - 1;
|
||||
|
@ -853,7 +874,7 @@ var svgEditorExtension_server_opensave = (function () {
|
|||
|
||||
|
||||
var BlurStack = function BlurStack() {
|
||||
_classCallCheck(this, BlurStack);
|
||||
_classCallCheck$1(this, BlurStack);
|
||||
|
||||
this.r = 0;
|
||||
this.g = 0;
|
||||
|
|
|
@ -14761,7 +14761,7 @@ function SvgCanvas(container, config) {
|
|||
|
||||
var resultList = null;
|
||||
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
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
|
@ -14767,7 +14767,7 @@
|
|||
|
||||
var resultList = null;
|
||||
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
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
|
@ -11,7 +11,7 @@ var svgEditorLang_ru = (function () {
|
|||
key_del: 'Delete',
|
||||
key_down: 'Вниз',
|
||||
key_up: 'Вверх',
|
||||
more_opts: 'More Options',
|
||||
more_opts: 'Доп. Настройки',
|
||||
url: 'URL',
|
||||
width: 'Width',
|
||||
height: 'Height'
|
||||
|
@ -20,18 +20,18 @@ var svgEditorLang_ru = (function () {
|
|||
powered_by: 'Powered by'
|
||||
},
|
||||
ui: {
|
||||
toggle_stroke_tools: 'Show/hide more stroke tools',
|
||||
toggle_stroke_tools: 'Показать/скрыть инструменты обводки',
|
||||
palette_info: 'Нажмите для изменения цвета заливки, Shift-Click изменить цвета обводки',
|
||||
zoom_level: 'Изменить масштаб',
|
||||
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',
|
||||
pathCtrlPtTooltip: 'Drag control point to adjust curve properties',
|
||||
pick_stroke_paint_opacity: 'Pick a Stroke Paint and Opacity',
|
||||
pick_fill_paint_opacity: 'Pick a Fill Paint and Opacity'
|
||||
},
|
||||
properties: {
|
||||
id: 'Identify the element',
|
||||
id: 'Идентификатор элемента',
|
||||
fill_color: 'Изменить цвет заливки',
|
||||
stroke_color: 'Изменить цвет обводки',
|
||||
stroke_style: 'Изменить стиль обводки',
|
||||
|
@ -45,7 +45,7 @@ var svgEditorLang_ru = (function () {
|
|||
linejoin_miter: 'Linejoin: Miter',
|
||||
linejoin_round: 'Linejoin: Round',
|
||||
angle: 'Изменить угол поворота',
|
||||
blur: 'Change gaussian blur value',
|
||||
blur: 'Изменяет значение размытия',
|
||||
opacity: 'Изменить непрозрачность элемента',
|
||||
circle_cx: 'Изменить горизонтальный координат (CX) окружности',
|
||||
circle_cy: 'Изменить вертикальный координат (CY) окружности',
|
||||
|
@ -76,9 +76,9 @@ var svgEditorLang_ru = (function () {
|
|||
italic: 'Курсив'
|
||||
},
|
||||
tools: {
|
||||
main_menu: 'Main Menu',
|
||||
main_menu: 'Главное меню',
|
||||
bkgnd_color_opac: 'Изменить цвет фона или прозрачность',
|
||||
connector_no_arrow: 'No arrow',
|
||||
connector_no_arrow: 'Нет стрелки',
|
||||
fitToContent: 'Под размер содержимого',
|
||||
fit_to_all: 'Под размер всех слоев',
|
||||
fit_to_canvas: 'Под размер холста',
|
||||
|
@ -92,9 +92,9 @@ var svgEditorLang_ru = (function () {
|
|||
smallest_object: 'Самый маленький объект',
|
||||
new_doc: 'Создать изображение',
|
||||
open_doc: 'Открыть изображение',
|
||||
export_img: 'Export',
|
||||
export_img: 'Экспорт',
|
||||
save_doc: 'Сохранить изображение',
|
||||
import_doc: 'Import Image',
|
||||
import_doc: 'Импорт изображения',
|
||||
align_to_page: 'Align Element to Page',
|
||||
align_bottom: 'Выровнять по нижнему краю',
|
||||
align_center: 'Центрировать по вертикальной оси',
|
||||
|
@ -105,8 +105,8 @@ var svgEditorLang_ru = (function () {
|
|||
mode_select: 'Выделить',
|
||||
mode_fhpath: 'Карандаш',
|
||||
mode_line: 'Линия',
|
||||
mode_rect: 'Rectangle Tool',
|
||||
mode_square: 'Square Tool',
|
||||
mode_rect: 'Прямоугольник',
|
||||
mode_square: 'Квадрат',
|
||||
mode_fhrect: 'Прямоугольник от руки',
|
||||
mode_ellipse: 'Эллипс',
|
||||
mode_circle: 'Окружность',
|
||||
|
@ -120,11 +120,11 @@ var svgEditorLang_ru = (function () {
|
|||
redo: 'Вернуть',
|
||||
tool_source: 'Редактировать исходный код',
|
||||
wireframe_mode: 'Каркас',
|
||||
clone: 'Clone Element(s)',
|
||||
del: 'Delete Element(s)',
|
||||
clone: 'Клонировать элемент(ы)',
|
||||
del: 'Удалить элемент(ы)',
|
||||
group_elements: 'Создать группу элементов',
|
||||
make_link: 'Make (hyper)link',
|
||||
set_link_url: 'Set link URL (leave empty to remove)',
|
||||
make_link: 'Сделать ссылкой',
|
||||
set_link_url: 'Ссылка(оставьте пустым для удаления)',
|
||||
to_path: 'В контур',
|
||||
reorient_path: 'Изменить ориентацию контура',
|
||||
ungroup: 'Разгруппировать элементы',
|
||||
|
@ -134,31 +134,31 @@ var svgEditorLang_ru = (function () {
|
|||
node_clone: 'Создать копию узла',
|
||||
node_delete: 'Удалить узел',
|
||||
node_link: 'Связать узлы',
|
||||
add_subpath: 'Add sub-path',
|
||||
openclose_path: 'Open/close sub-path',
|
||||
add_subpath: 'Добавить линию',
|
||||
openclose_path: 'Разомкнуть/Замкнуть линию',
|
||||
source_save: 'Сохранить',
|
||||
cut: 'Cut',
|
||||
copy: 'Copy',
|
||||
paste: 'Paste',
|
||||
paste_in_place: 'Paste in Place',
|
||||
Delete: 'Delete',
|
||||
group: 'Group',
|
||||
move_front: 'Bring to Front',
|
||||
move_up: 'Bring Forward',
|
||||
move_down: 'Send Backward',
|
||||
move_back: 'Send to Back'
|
||||
cut: 'Вырезать',
|
||||
copy: 'Копировать',
|
||||
paste: 'Вставить',
|
||||
paste_in_place: 'Вставить сюда',
|
||||
Delete: 'Удалить',
|
||||
group: 'Группировка',
|
||||
move_front: 'На передний план',
|
||||
move_up: 'Передвинуть вперед',
|
||||
move_down: 'Передвинуть назад',
|
||||
move_back: 'На задний план'
|
||||
},
|
||||
layers: {
|
||||
layer: 'Слой',
|
||||
layers: 'Layers',
|
||||
layers: 'Слои',
|
||||
del: 'Удалить слой',
|
||||
move_down: 'Опустить слой',
|
||||
new: 'Создать слой',
|
||||
rename: 'Переименовать Слой',
|
||||
move_up: 'Поднять слой',
|
||||
dupe: 'Duplicate Layer',
|
||||
merge_down: 'Merge Down',
|
||||
merge_all: 'Merge All',
|
||||
dupe: 'Копировать слой',
|
||||
merge_down: 'Объединить с нижним',
|
||||
merge_all: 'Объединить все',
|
||||
move_elems_to: 'Переместить выделенные элементы:',
|
||||
move_selected: 'Переместить выделенные элементы на другой слой'
|
||||
},
|
||||
|
@ -173,20 +173,20 @@ var svgEditorLang_ru = (function () {
|
|||
icon_size: 'Размер значков',
|
||||
language: 'Язык',
|
||||
background: 'Фон',
|
||||
editor_img_url: 'Image URL',
|
||||
editor_img_url: 'Изображение URL',
|
||||
editor_bg_note: '(Фон не сохранится вместе с изображением.)',
|
||||
icon_large: 'Большие',
|
||||
icon_medium: 'Средние',
|
||||
icon_small: 'Малые',
|
||||
icon_xlarge: 'Огромные',
|
||||
select_predefined: 'Выбирать предопределенный размер',
|
||||
units_and_rulers: 'Units & Rulers',
|
||||
show_rulers: 'Show rulers',
|
||||
base_unit: 'Base Unit:',
|
||||
grid: 'Grid',
|
||||
snapping_onoff: 'Snapping on/off',
|
||||
snapping_stepsize: 'Snapping Step-Size:',
|
||||
grid_color: 'Grid color'
|
||||
units_and_rulers: 'Единицы & Линейки',
|
||||
show_rulers: 'Показывать линейки',
|
||||
base_unit: 'Единицы:',
|
||||
grid: 'Сетка',
|
||||
snapping_onoff: 'Привязка вкл/выкл',
|
||||
snapping_stepsize: 'Шаг привязки:',
|
||||
grid_color: 'Цвет сетки'
|
||||
},
|
||||
notification: {
|
||||
invalidAttrValGiven: 'Некорректное значение аргумента',
|
||||
|
@ -197,25 +197,25 @@ var svgEditorLang_ru = (function () {
|
|||
layerHasThatName: 'Слой уже называется этим именем.',
|
||||
QmoveElemsToLayer: "Переместить выделенные элементы на слой '%s'?",
|
||||
QwantToClear: 'Вы хотите очистить?\nИстория действий будет забыта!',
|
||||
QwantToOpen: 'Do you want to open a new file?\nThis will also erase your undo history!',
|
||||
QwantToOpen: 'Открыть новый файл?\nИстория действий будет забыта!',
|
||||
QerrorsRevertToSource: 'Была проблема при парсинге вашего SVG исходного кода.\nЗаменить его предыдущим SVG кодом?',
|
||||
QignoreSourceChanges: 'Забыть без сохранения?',
|
||||
featNotSupported: 'Возможность не реализована',
|
||||
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.',
|
||||
loadingImage: 'Loading image, please wait...',
|
||||
saveFromBrowser: "Select 'Save As...' in your browser (possibly via file menu or right-click context-menu) to save this image as a %s file.",
|
||||
loadingImage: 'Загрузка изоражения, придется подождать...',
|
||||
saveFromBrowser: "Выберите 'Сохранить как...' в вашем браузере (возможно через меню файл или в контекстном меню) чтобы сохранить как файл %s.",
|
||||
noteTheseIssues: 'Also note the following issues: ',
|
||||
unsavedChanges: 'There are unsaved changes.',
|
||||
enterNewLinkURL: 'Enter the new hyperlink URL',
|
||||
errorLoadingSVG: 'Error: Unable to load SVG data',
|
||||
URLLoadFail: 'Unable to load from URL',
|
||||
retrieving: 'Retrieving \'%s\' ...',
|
||||
popupWindowBlocked: 'Popup window may be blocked by browser',
|
||||
exportNoBlur: 'Blurred elements will appear as un-blurred',
|
||||
unsavedChanges: 'Есть несохраненные изменения.',
|
||||
enterNewLinkURL: 'Введите новую ссылку URL',
|
||||
errorLoadingSVG: 'Ошибка: Не удалось загрузить SVG данные',
|
||||
URLLoadFail: 'Не удалось загрузить по ссылке URL',
|
||||
retrieving: 'Получение \'%s\' ...',
|
||||
popupWindowBlocked: 'Всплывающее окно могло заблокироваться браузером',
|
||||
exportNoBlur: 'Размытые элементы отображены как неразмытые',
|
||||
exportNoforeignObject: 'foreignObject elements will not appear',
|
||||
exportNoDashArray: 'Strokes will appear filled',
|
||||
exportNoText: 'Text may not appear as expected'
|
||||
exportNoText: 'Текст может показываться не так как должен'
|
||||
}
|
||||
};
|
||||
|
||||
|
|
|
@ -14539,7 +14539,7 @@ var SvgCanvas = (function () {
|
|||
|
||||
var resultList = null;
|
||||
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
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
|
@ -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
|
||||
*
|
||||
|
@ -37,8 +57,8 @@
|
|||
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
* 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];
|
||||
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 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];
|
||||
/**
|
||||
* @param {string|HTMLImageElement} img
|
||||
* @param {string|HTMLCanvasElement} canvas
|
||||
|
@ -56,8 +76,8 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
|
|||
return;
|
||||
}
|
||||
|
||||
const w = img.naturalWidth;
|
||||
const h = img.naturalHeight;
|
||||
var w = img.naturalWidth;
|
||||
var h = img.naturalHeight;
|
||||
|
||||
if (typeof canvas === 'string') {
|
||||
canvas = document.getElementById(canvas);
|
||||
|
@ -71,7 +91,7 @@ function processImage(img, canvas, radius, blurAlphaChannel) {
|
|||
canvas.style.height = h + 'px';
|
||||
canvas.width = w;
|
||||
canvas.height = h;
|
||||
const context = canvas.getContext('2d');
|
||||
var context = canvas.getContext('2d');
|
||||
context.clearRect(0, 0, w, h);
|
||||
context.drawImage(img, 0, 0);
|
||||
|
||||
|
@ -101,11 +121,11 @@ function getImageDataFromCanvas(canvas, topX, topY, width, height) {
|
|||
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!');
|
||||
}
|
||||
|
||||
const context = canvas.getContext('2d');
|
||||
var context = canvas.getContext('2d');
|
||||
|
||||
try {
|
||||
return context.getImageData(topX, topY, width, height);
|
||||
|
@ -130,7 +150,7 @@ function processCanvasRGBA(canvas, topX, topY, width, height, radius) {
|
|||
}
|
||||
|
||||
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);
|
||||
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) {
|
||||
const 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;
|
||||
const div = radius + radius + 1; // const w4 = width << 2;
|
||||
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 div = 2 * radius + 1; // const w4 = width << 2;
|
||||
|
||||
const widthMinus1 = width - 1;
|
||||
const heightMinus1 = height - 1;
|
||||
const radiusPlus1 = radius + 1;
|
||||
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
|
||||
const stackStart = new BlurStack();
|
||||
let stack = stackStart;
|
||||
let stackEnd;
|
||||
var widthMinus1 = width - 1;
|
||||
var heightMinus1 = height - 1;
|
||||
var radiusPlus1 = radius + 1;
|
||||
var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
|
||||
var stackStart = new BlurStack();
|
||||
var stack = stackStart;
|
||||
var stackEnd;
|
||||
|
||||
for (i = 1; i < div; i++) {
|
||||
stack = stack.next = new BlurStack();
|
||||
|
@ -167,11 +187,11 @@ function processImageDataRGBA(imageData, topX, topY, width, height, radius) {
|
|||
}
|
||||
|
||||
stack.next = stackStart;
|
||||
let stackIn = null;
|
||||
let stackOut = null;
|
||||
var stackIn = null;
|
||||
var stackOut = null;
|
||||
yw = yi = 0;
|
||||
const mulSum = mulTable[radius];
|
||||
const shgSum = shgTable[radius];
|
||||
var mulSum = mulTable[radius];
|
||||
var shgSum = shgTable[radius];
|
||||
|
||||
for (y = 0; y < height; y++) {
|
||||
rInSum = gInSum = bInSum = aInSum = rSum = gSum = bSum = aSum = 0;
|
||||
|
@ -357,7 +377,7 @@ function processCanvasRGB(canvas, topX, topY, width, height, radius) {
|
|||
}
|
||||
|
||||
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);
|
||||
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) {
|
||||
const pixels = imageData.data;
|
||||
let 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 pixels = imageData.data;
|
||||
var x, y, i, p, yp, yi, yw, rSum, gSum, bSum, rOutSum, gOutSum, bOutSum, rInSum, gInSum, bInSum, pr, pg, pb, rbs;
|
||||
var div = 2 * radius + 1; // const w4 = width << 2;
|
||||
|
||||
const widthMinus1 = width - 1;
|
||||
const heightMinus1 = height - 1;
|
||||
const radiusPlus1 = radius + 1;
|
||||
const sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
|
||||
const stackStart = new BlurStack();
|
||||
let stack = stackStart;
|
||||
let stackEnd;
|
||||
var widthMinus1 = width - 1;
|
||||
var heightMinus1 = height - 1;
|
||||
var radiusPlus1 = radius + 1;
|
||||
var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
|
||||
var stackStart = new BlurStack();
|
||||
var stack = stackStart;
|
||||
var stackEnd;
|
||||
|
||||
for (i = 1; i < div; i++) {
|
||||
stack = stack.next = new BlurStack();
|
||||
|
@ -394,11 +414,11 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
|
|||
}
|
||||
|
||||
stack.next = stackStart;
|
||||
let stackIn = null;
|
||||
let stackOut = null;
|
||||
var stackIn = null;
|
||||
var stackOut = null;
|
||||
yw = yi = 0;
|
||||
const mulSum = mulTable[radius];
|
||||
const shgSum = shgTable[radius];
|
||||
var mulSum = mulTable[radius];
|
||||
var shgSum = shgTable[radius];
|
||||
|
||||
for (y = 0; y < height; y++) {
|
||||
rInSum = gInSum = bInSum = rSum = gSum = bSum = 0;
|
||||
|
@ -535,15 +555,14 @@ function processImageDataRGB(imageData, topX, topY, width, height, radius) {
|
|||
*/
|
||||
|
||||
|
||||
class BlurStack {
|
||||
constructor() {
|
||||
var BlurStack = function BlurStack() {
|
||||
_classCallCheck(this, BlurStack);
|
||||
|
||||
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 };
|
||||
|
|
|
@ -1226,7 +1226,7 @@ const getIntersectionList = this.getIntersectionList = function (rect) {
|
|||
}
|
||||
|
||||
let resultList = null;
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));
|
||||
|
|
|
@ -14764,7 +14764,7 @@
|
|||
|
||||
var resultList = null;
|
||||
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "svgedit",
|
||||
"version": "4.1.0",
|
||||
"version": "4.2.0",
|
||||
"lockfileVersion": 1,
|
||||
"requires": true,
|
||||
"dependencies": {
|
||||
|
@ -949,30 +949,24 @@
|
|||
}
|
||||
},
|
||||
"@sinonjs/formatio": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.0.0.tgz",
|
||||
"integrity": "sha512-vdjoYLDptCgvtJs57ULshak3iJe4NW3sJ3g36xVDGff5AE8P30S6A093EIEPjdi2noGhfuNOEkbxt3J3awFW1w==",
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/formatio/-/formatio-3.1.0.tgz",
|
||||
"integrity": "sha512-ZAR2bPHOl4Xg6eklUGpsdiIJ4+J1SNag1DHHrG/73Uz/nVwXqjgUtRPLoS+aVyieN9cSbc0E4LsU984tWcDyNg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@sinonjs/samsam": "2.1.0"
|
||||
},
|
||||
"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": "^2 || ^3"
|
||||
}
|
||||
},
|
||||
"@sinonjs/samsam": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-2.1.2.tgz",
|
||||
"integrity": "sha512-ZwTHAlC9akprWDinwEPD4kOuwaYZlyMwVJIANsKNC3QVp0AHB04m7RnB4eqeWfgmxw8MGTzS9uMaw93Z3QcZbw==",
|
||||
"dev": true
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@sinonjs/samsam/-/samsam-3.0.2.tgz",
|
||||
"integrity": "sha512-m08g4CS3J6lwRQk1pj1EO+KEVWbrbXsmi9Pw0ySmrIbcVxVaedoFgLvFsV8wHLwh01EpROVz3KvVcD1Jmks9FQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@sinonjs/commons": "^1.0.2",
|
||||
"array-from": "^2.1.1",
|
||||
"lodash.get": "^4.4.2"
|
||||
}
|
||||
},
|
||||
"@types/error-stack-parser": {
|
||||
"version": "1.3.18",
|
||||
|
@ -1089,9 +1083,9 @@
|
|||
}
|
||||
},
|
||||
"acorn-jsx": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.0.tgz",
|
||||
"integrity": "sha512-XkB50fn0MURDyww9+UYL3c1yLbOBz0ZFvrdYlGB8l+Ije1oSC75qAqrzSPjYQbdnQUzhlUGNKuesryAv0gxZOg==",
|
||||
"version": "5.0.1",
|
||||
"resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.0.1.tgz",
|
||||
"integrity": "sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==",
|
||||
"dev": true
|
||||
},
|
||||
"acorn-walk": {
|
||||
|
@ -1101,9 +1095,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"ajv": {
|
||||
"version": "6.5.5",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.5.5.tgz",
|
||||
"integrity": "sha512-7q7gtRQDJSyuEHjuVgHoUa2VuemFiCMrfQc9Tc08XTAc4Zj/5U1buQJ0HU6i7fKjXU09SVgSmxa4sLvuvS8Iyg==",
|
||||
"version": "6.6.1",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.6.1.tgz",
|
||||
"integrity": "sha512-ZoJjft5B+EJBjUyu9C9Hc0OZyPZSSlOF+plzouTrg6UlA8f+e/n8NIgBFG/9tppJtpPWfthHakK7juJdNDODww==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"fast-deep-equal": "^2.0.1",
|
||||
|
@ -1295,6 +1289,12 @@
|
|||
"integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=",
|
||||
"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": {
|
||||
"version": "0.2.6",
|
||||
"resolved": "http://registry.npmjs.org/async/-/async-0.2.6.tgz",
|
||||
|
@ -3708,9 +3708,9 @@
|
|||
}
|
||||
},
|
||||
"eslint": {
|
||||
"version": "5.9.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.9.0.tgz",
|
||||
"integrity": "sha512-g4KWpPdqN0nth+goDNICNXGfJF7nNnepthp46CAlJoJtC5K/cLu3NgCM3AHu1CkJ5Hzt9V0Y0PBAO6Ay/gGb+w==",
|
||||
"version": "5.10.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint/-/eslint-5.10.0.tgz",
|
||||
"integrity": "sha512-HpqzC+BHULKlnPwWae9MaVZ5AXJKpkxCVXQHrFaRw3hbDj26V/9ArYM4Rr/SQ8pi6qUPLXSSXC4RBJlyq2Z2OQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/code-frame": "^7.0.0",
|
||||
|
@ -3722,7 +3722,7 @@
|
|||
"eslint-scope": "^4.0.0",
|
||||
"eslint-utils": "^1.3.1",
|
||||
"eslint-visitor-keys": "^1.0.0",
|
||||
"espree": "^4.0.0",
|
||||
"espree": "^5.0.0",
|
||||
"esquery": "^1.0.1",
|
||||
"esutils": "^2.0.2",
|
||||
"file-entry-cache": "^2.0.0",
|
||||
|
@ -3732,7 +3732,6 @@
|
|||
"ignore": "^4.0.6",
|
||||
"imurmurhash": "^0.1.4",
|
||||
"inquirer": "^6.1.0",
|
||||
"is-resolvable": "^1.1.0",
|
||||
"js-yaml": "^3.12.0",
|
||||
"json-stable-stringify-without-jsonify": "^1.0.1",
|
||||
"levn": "^0.3.0",
|
||||
|
@ -3786,9 +3785,9 @@
|
|||
}
|
||||
},
|
||||
"eslint-config-ash-nazg": {
|
||||
"version": "0.2.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.2.0.tgz",
|
||||
"integrity": "sha512-KEqkn2uxjyfY6RRtVcceL9XG/Ds3iWS1uwQ9Ltldi+u+I/h76arGrETwu7mSOQroB8AvLuy/bAhLf6FM8tUnbg==",
|
||||
"version": "0.3.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-config-ash-nazg/-/eslint-config-ash-nazg-0.3.0.tgz",
|
||||
"integrity": "sha512-K1YvZUw9msvvKBJKBdUn60/PlpDP1mRfXhTvpEP2ld5D7S2XjDhTR96knQ9Dd++8Zj5pROnkVTllebLW1sFm0Q==",
|
||||
"dev": true
|
||||
},
|
||||
"eslint-config-standard": {
|
||||
|
@ -3919,8 +3918,9 @@
|
|||
}
|
||||
},
|
||||
"eslint-plugin-jsdoc": {
|
||||
"version": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#76e117e130b7d823d8ad187cf70b783f1d5fed40",
|
||||
"from": "git+https://github.com/brettz9/eslint-plugin-jsdoc.git#Deploy",
|
||||
"version": "3.14.0",
|
||||
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-3.14.0.tgz",
|
||||
"integrity": "sha512-5QBhxmf7XeJpUsha3cEUe0j8JVcd7XMnDUkqhKdtbrUb0oz4Ea0/b1kfE8FN0/iu2mvVSb1HArMPQT9SxQY2/g==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"comment-parser": "^0.5.0",
|
||||
|
@ -4099,9 +4099,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"espree": {
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz",
|
||||
"integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==",
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/espree/-/espree-5.0.0.tgz",
|
||||
"integrity": "sha512-1MpUfwsdS9MMoN7ZXqAr9e9UKdVHDcvrJpyx7mm1WuQlx/ygErEQBzgi5Nh5qBHIoYweprhtMkTCb9GhcAIcsA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"acorn": "^6.0.2",
|
||||
|
@ -4595,14 +4595,14 @@
|
|||
}
|
||||
},
|
||||
"flat-cache": {
|
||||
"version": "1.3.2",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.2.tgz",
|
||||
"integrity": "sha512-KByBY8c98sLUAGpnmjEdWTrtrLZRtZdwds+kAL/ciFXTCb7AZgqKsAnVnYFQj1hxepwO8JKN/8AsRWwLq+RK0A==",
|
||||
"version": "1.3.4",
|
||||
"resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz",
|
||||
"integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"circular-json": "^0.3.1",
|
||||
"del": "^3.0.0",
|
||||
"graceful-fs": "^4.1.2",
|
||||
"rimraf": "~2.6.2",
|
||||
"write": "^0.2.1"
|
||||
}
|
||||
},
|
||||
|
@ -5824,9 +5824,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"inquirer": {
|
||||
"version": "6.2.0",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.0.tgz",
|
||||
"integrity": "sha512-QIEQG4YyQ2UYZGDC4srMZ7BjHOmNk1lR2JQj5UknBapklm6WHA+VVH7N+sUdX3A7NeCfGF8o4X1S3Ao7nAcIeg==",
|
||||
"version": "6.2.1",
|
||||
"resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.2.1.tgz",
|
||||
"integrity": "sha512-088kl3DRT2dLU5riVMKKr1DlImd6X7smDhpXUCkJDCKvTEJeRiXh0G132HG9u5a+6Ylw9plFRY7RuTnwohYSpg==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-escapes": "^3.0.0",
|
||||
|
@ -5840,8 +5840,25 @@
|
|||
"run-async": "^2.2.0",
|
||||
"rxjs": "^6.1.0",
|
||||
"string-width": "^2.1.0",
|
||||
"strip-ansi": "^4.0.0",
|
||||
"strip-ansi": "^5.0.0",
|
||||
"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": {
|
||||
|
@ -6215,12 +6232,6 @@
|
|||
"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": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
|
||||
|
@ -7393,12 +7404,12 @@
|
|||
"dev": true
|
||||
},
|
||||
"nise": {
|
||||
"version": "1.4.6",
|
||||
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.6.tgz",
|
||||
"integrity": "sha512-1GedetLKzmqmgwabuMSqPsT7oumdR77SBpDfNNJhADRIeA3LN/2RVqR4fFqwvzhAqcTef6PPCzQwITE/YQ8S8A==",
|
||||
"version": "1.4.7",
|
||||
"resolved": "https://registry.npmjs.org/nise/-/nise-1.4.7.tgz",
|
||||
"integrity": "sha512-5cxvo/pEAEHBX5s0zl+zd96BvHHuua/zttIHeQuTWSDjGrWsEHamty8xbZNfocC+fx7NMrle7XHvvxtFxobIZQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@sinonjs/formatio": "3.0.0",
|
||||
"@sinonjs/formatio": "^3.1.0",
|
||||
"just-extend": "^3.0.0",
|
||||
"lolex": "^2.3.2",
|
||||
"path-to-regexp": "^1.7.0",
|
||||
|
@ -8062,9 +8073,9 @@
|
|||
"dev": true
|
||||
},
|
||||
"progress": {
|
||||
"version": "2.0.1",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.1.tgz",
|
||||
"integrity": "sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==",
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
"integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
|
||||
"dev": true
|
||||
},
|
||||
"promise-fs": {
|
||||
|
@ -8436,7 +8447,7 @@
|
|||
"dependencies": {
|
||||
"jsesc": {
|
||||
"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=",
|
||||
"dev": true
|
||||
}
|
||||
|
@ -8729,9 +8740,9 @@
|
|||
}
|
||||
},
|
||||
"rollup-plugin-babel": {
|
||||
"version": "4.0.3",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.0.3.tgz",
|
||||
"integrity": "sha512-/PP0MgbPQyRywI4zRIJim6ySjTcOLo4kQbEbROqp9kOR3kHC3FeU++QpBDZhS2BcHtJTVZMVbBV46flbBN5zxQ==",
|
||||
"version": "4.1.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-babel/-/rollup-plugin-babel-4.1.0.tgz",
|
||||
"integrity": "sha512-4IYv/yTNyH4P/Cma1mWdqy42gc051i1mTe/6oe8F055WzJGSb2qs1mSDwZTo93wA6kMBgHBIR/OcBk7JMnL59Q==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@babel/helper-module-imports": "^7.0.0",
|
||||
|
@ -8772,20 +8783,20 @@
|
|||
}
|
||||
},
|
||||
"rollup-plugin-node-resolve": {
|
||||
"version": "3.4.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-3.4.0.tgz",
|
||||
"integrity": "sha512-PJcd85dxfSBWih84ozRtBkB731OjXk0KnzN0oGp7WOWcarAFkVa71cV5hTJg2qpVsV2U8EUwrzHP3tvy9vS3qg==",
|
||||
"version": "4.0.0",
|
||||
"resolved": "https://registry.npmjs.org/rollup-plugin-node-resolve/-/rollup-plugin-node-resolve-4.0.0.tgz",
|
||||
"integrity": "sha512-7Ni+/M5RPSUBfUaP9alwYQiIKnKeXCOHiqBpKUl9kwp3jX5ZJtgXAait1cne6pGEVUUztPD6skIKH9Kq9sNtfw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"builtin-modules": "^2.0.0",
|
||||
"builtin-modules": "^3.0.0",
|
||||
"is-module": "^1.0.0",
|
||||
"resolve": "^1.1.6"
|
||||
"resolve": "^1.8.1"
|
||||
},
|
||||
"dependencies": {
|
||||
"builtin-modules": {
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-2.0.0.tgz",
|
||||
"integrity": "sha512-3U5kUA5VPsRUA3nofm/BXX7GVHKfxz0hOBAPxXrIvHzlDRkQVqEn6yi8QJegxl4LzOHLdvb7XF5dVawa/VVYBg==",
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.0.0.tgz",
|
||||
"integrity": "sha512-hMIeU4K2ilbXV6Uv93ZZ0Avg/M91RaKXucQ+4me2Do1txxBDyDZWCBa5bJSLqoNTRpXTLwEzIk1KmloenDDjhg==",
|
||||
"dev": true
|
||||
}
|
||||
}
|
||||
|
@ -9109,20 +9120,18 @@
|
|||
"dev": true
|
||||
},
|
||||
"sinon": {
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.1.1.tgz",
|
||||
"integrity": "sha512-iYagtjLVt1vN3zZY7D8oH7dkjNJEjLjyuzy8daX5+3bbQl8gaohrheB9VfH1O3L6LKuue5WTJvFluHiuZ9y3nQ==",
|
||||
"version": "7.2.2",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-7.2.2.tgz",
|
||||
"integrity": "sha512-WLagdMHiEsrRmee3jr6IIDntOF4kbI6N2pfbi8wkv50qaUQcBglkzkjtoOEbeJ2vf1EsrHhLI+5Ny8//WHdMoA==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"@sinonjs/commons": "^1.2.0",
|
||||
"@sinonjs/formatio": "^3.0.0",
|
||||
"@sinonjs/samsam": "^2.1.2",
|
||||
"@sinonjs/formatio": "^3.1.0",
|
||||
"@sinonjs/samsam": "^3.0.2",
|
||||
"diff": "^3.5.0",
|
||||
"lodash.get": "^4.4.2",
|
||||
"lolex": "^3.0.0",
|
||||
"nise": "^1.4.6",
|
||||
"supports-color": "^5.5.0",
|
||||
"type-detect": "^4.0.8"
|
||||
"nise": "^1.4.7",
|
||||
"supports-color": "^5.5.0"
|
||||
}
|
||||
},
|
||||
"sinon-test": {
|
||||
|
@ -9138,11 +9147,13 @@
|
|||
"dev": true
|
||||
},
|
||||
"slice-ansi": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz",
|
||||
"integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==",
|
||||
"version": "2.0.0",
|
||||
"resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.0.0.tgz",
|
||||
"integrity": "sha512-4j2WTWjp3GsZ+AOagyzVbzp4vWGtZ0hEZ/gDY/uTvm6MTxUfTUIsnMIFb1bn8o0RuXiqUw15H1bue8f22Vw2oQ==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ansi-styles": "^3.2.0",
|
||||
"astral-regex": "^1.0.0",
|
||||
"is-fullwidth-code-point": "^2.0.0"
|
||||
}
|
||||
},
|
||||
|
@ -9394,9 +9405,9 @@
|
|||
}
|
||||
},
|
||||
"stackblur-canvas": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.1.0.tgz",
|
||||
"integrity": "sha512-RwIUB2RMahW1gf0n98b/CpMnGtzepwD5Nn1RRXdg51FU5Sp5VWAbUEsGPQx7qbw7Ljkwwtzci/APw6G+y10k1w==",
|
||||
"version": "2.2.0",
|
||||
"resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.2.0.tgz",
|
||||
"integrity": "sha512-5Gf8dtlf8k6NbLzuly2NkGrkS/Ahh+I5VUjO7TnFizdJtgpfpLLEdQlLe9umbcnZlitU84kfYjXE67xlSXfhfQ==",
|
||||
"dev": true
|
||||
},
|
||||
"stackframe": {
|
||||
|
@ -9524,14 +9535,14 @@
|
|||
"dev": true
|
||||
},
|
||||
"table": {
|
||||
"version": "5.1.0",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-5.1.0.tgz",
|
||||
"integrity": "sha512-e542in22ZLhD/fOIuXs/8yDZ9W61ltF8daM88rkRNtgTIct+vI2fTnAyu/Db2TCfEcI8i7mjZz6meLq0nW7TYg==",
|
||||
"version": "5.1.1",
|
||||
"resolved": "https://registry.npmjs.org/table/-/table-5.1.1.tgz",
|
||||
"integrity": "sha512-NUjapYb/qd4PeFW03HnAuOJ7OMcBkJlqeClWxeNlQ0lXGSb52oZXGzkO0/I0ARegQ2eUT1g2VDJH0eUxDRcHmw==",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"ajv": "^6.5.3",
|
||||
"lodash": "^4.17.10",
|
||||
"slice-ansi": "1.0.0",
|
||||
"ajv": "^6.6.1",
|
||||
"lodash": "^4.17.11",
|
||||
"slice-ansi": "2.0.0",
|
||||
"string-width": "^2.1.1"
|
||||
}
|
||||
},
|
||||
|
|
16
package.json
16
package.json
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "svgedit",
|
||||
"version": "4.1.0",
|
||||
"version": "4.2.0",
|
||||
"description": "Powerful SVG-Editor for your browser ",
|
||||
"main": "dist/index-umd.js",
|
||||
"module": "dist/index-es.js",
|
||||
|
@ -83,12 +83,12 @@
|
|||
"@babel/preset-env": "^7.2.0",
|
||||
"axe-testcafe": "^1.1.0",
|
||||
"babel-plugin-transform-object-rest-spread": "^7.0.0-beta.3",
|
||||
"eslint": "5.9.0",
|
||||
"eslint-config-ash-nazg": "0.2.0",
|
||||
"eslint": "5.10.0",
|
||||
"eslint-config-ash-nazg": "0.3.0",
|
||||
"eslint-config-standard": "12.0.0",
|
||||
"eslint-plugin-compat": "2.6.3",
|
||||
"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-no-use-extend-native": "^0.3.12",
|
||||
"eslint-plugin-node": "8.0.0",
|
||||
|
@ -111,16 +111,16 @@
|
|||
"remark-cli": "^6.0.1",
|
||||
"remark-lint-ordered-list-marker-value": "^1.0.2",
|
||||
"rollup": "0.67.4",
|
||||
"rollup-plugin-babel": "^4.0.3",
|
||||
"rollup-plugin-babel": "^4.1.0",
|
||||
"rollup-plugin-commonjs": "^9.2.0",
|
||||
"rollup-plugin-json": "^3.1.0",
|
||||
"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-terser": "^3.0.0",
|
||||
"sinon": "^7.1.1",
|
||||
"sinon": "^7.2.2",
|
||||
"sinon-test": "^2.4.0",
|
||||
"stackblur-canvas": "^2.1.0",
|
||||
"stackblur-canvas": "^2.2.0",
|
||||
"testcafe": "^0.23.2"
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14764,7 +14764,7 @@
|
|||
|
||||
var resultList = null;
|
||||
|
||||
if (!isIE) {
|
||||
if (!isIE()) {
|
||||
if (typeof svgroot.getIntersectionList === 'function') {
|
||||
// Offset the bbox of the rubber box by the offset of the svgcontent element.
|
||||
rubberBBox.x += parseInt(svgcontent.getAttribute('x'));
|
||||
|
|
Loading…
Reference in New Issue