From d257c99bc1bddb8f5c590201e9807bcb0674ecc5 Mon Sep 17 00:00:00 2001 From: ShaMan123 Date: Tue, 10 May 2022 13:59:51 +0300 Subject: [PATCH] refactor(): remove `drawBordersInGroup` --- src/mixins/object_interactivity.mixin.js | 31 +++++++++--------------- src/shapes/object.class.js | 7 +----- 2 files changed, 12 insertions(+), 26 deletions(-) diff --git a/src/mixins/object_interactivity.mixin.js b/src/mixins/object_interactivity.mixin.js index 9ac65531eec..ae19f2db060 100644 --- a/src/mixins/object_interactivity.mixin.js +++ b/src/mixins/object_interactivity.mixin.js @@ -146,33 +146,24 @@ * Requires public properties: width, height * Requires public options: padding, borderColor * @param {CanvasRenderingContext2D} ctx Context to draw on - * @param {Object} styleOverride object to override the object style - * @return {fabric.Object} thisArg - * @chainable - */ - drawBorders: function (ctx, styleOverride) { - var size = this._calculateCurrentDimensions().scalarAddEquals(this.borderScaleFactor); - this._drawBorders(ctx, size, styleOverride); - return this; - }, - - /** - * Draws borders of an object's bounding box when it is inside a group. - * Requires public properties: width, height - * Requires public options: padding, borderColor - * @param {CanvasRenderingContext2D} ctx Context to draw on * @param {object} options object representing current object parameters - * @param {Object} styleOverride object to override the object style + * @param {Object} [styleOverride] object to override the object style * @return {fabric.Object} thisArg * @chainable */ - drawBordersInGroup: function (ctx, options, styleOverride) { - var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options), + drawBorders: function (ctx, options, styleOverride) { + var size; + if ((styleOverride && styleOverride.forActiveSelection) || this.group) { + var bbox = fabric.util.sizeAfterTransform(this.width, this.height, options), strokeFactor = this.strokeUniform ? new fabric.Point(0, 0).scalarAddEquals(this.canvas.getZoom()) : new fabric.Point(options.scaleX, options.scaleY), - stroke = strokeFactor.scalarMultiplyEquals(this.strokeWidth), - size = bbox.addEquals(stroke).scalarAddEquals(this.borderScaleFactor); + stroke = strokeFactor.scalarMultiplyEquals(this.strokeWidth); + size = bbox.addEquals(stroke).scalarAddEquals(this.borderScaleFactor); + } + else { + size = this._calculateCurrentDimensions().scalarAddEquals(this.borderScaleFactor); + } this._drawBorders(ctx, size, styleOverride); return this; }, diff --git a/src/shapes/object.class.js b/src/shapes/object.class.js index b43e3be7ca3..1e225cabfa4 100644 --- a/src/shapes/object.class.js +++ b/src/shapes/object.class.js @@ -1402,12 +1402,7 @@ options.angle -= 180; } ctx.rotate(degreesToRadians(this.group ? options.angle : this.angle)); - if (drawBorders && (styleOverride.forActiveSelection || this.group)) { - this.drawBordersInGroup(ctx, options, styleOverride); - } - else if (drawBorders) { - this.drawBorders(ctx, styleOverride); - } + drawBorders && this.drawBorders(ctx, options, styleOverride); drawControls && this.drawControls(ctx, styleOverride); ctx.restore(); },