fabric.js/test/visual/generic_rendering.js
Andrea Bogazzi 053e419dbb
Refinements to strokeUniform property (#5527)
* new Object property strokeUniform allows the stroke width to always stay the same width as object scales

* fix for height

* Update src/shapes/object.class.js

Co-Authored-By: stefanhayden <alt255@gmail.com>

* trying the other function

* different transformed function

* added a visual test

* fixed title

* test svg

* import value from svg

* add svg import test

* more tests
2019-02-17 23:08:39 +01:00

68 lines
1.9 KiB
JavaScript

(function() {
if (fabric.isLikelyNode) {
if (process.env.launcher === 'Firefox') {
fabric.browserShadowBlurConstant = 0.9;
}
if (process.env.launcher === 'Node') {
fabric.browserShadowBlurConstant = 1;
}
if (process.env.launcher === 'Chrome') {
fabric.browserShadowBlurConstant = 1.5;
}
if (process.env.launcher === 'Edge') {
fabric.browserShadowBlurConstant = 1.75;
}
}
else {
if (navigator.userAgent.indexOf('Firefox') !== -1) {
fabric.browserShadowBlurConstant = 0.9;
}
if (navigator.userAgent.indexOf('Chrome') !== -1) {
fabric.browserShadowBlurConstant = 1.5;
}
if (navigator.userAgent.indexOf('Edge') !== -1) {
fabric.browserShadowBlurConstant = 1.75;
}
}
fabric.enableGLFiltering = false;
fabric.isWebglSupported = false;
fabric.Object.prototype.objectCaching = true;
var visualTestLoop;
if (fabric.isLikelyNode) {
visualTestLoop = global.visualTestLoop;
}
else {
visualTestLoop = window.visualTestLoop;
}
var fabricCanvas = this.canvas = new fabric.Canvas(null, {
enableRetinaScaling: false, renderOnAddRemove: false, width: 200, height: 200,
});
var tests = [];
function generic1(canvas, callback) {
canvas.setDimensions({ width: 150, height: 60 });
var rect = new fabric.Rect({
width: 20, height: 40, strokeWidth: 2, scaleX: 6, scaleY: 0.5, strokeUniform: true,
fill: '', stroke: 'red'
});
var rect2 = new fabric.Rect({
width: 60, height: 60, top: 4, left: 4, strokeWidth: 2, scaleX: 2,
scaleY: 0.5, strokeUniform: false, fill: '', stroke: 'blue',
});
canvas.add(rect);
canvas.add(rect2);
canvas.renderAll();
callback(canvas.lowerCanvasEl);
}
tests.push({
test: 'Rect with strokeUniform: true',
code: generic1,
golden: 'generic1.png',
newModule: 'Generic rendering',
percentage: 0.09,
});
tests.forEach(visualTestLoop(fabricCanvas, QUnit));
})();