Create group of circles in CircleBrush for better performance. Closes #530

This commit is contained in:
kangax 2013-09-14 13:59:10 +02:00
parent 44265e3c97
commit f5f29a3925
5 changed files with 25 additions and 10 deletions

9
dist/all.js vendored
View file

@ -8098,6 +8098,8 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;
this.canvas.renderOnAddRemove = false;
var circles = [ ];
for (var i = 0, len = this.points.length; i < len; i++) {
var point = this.points[i];
var circle = new fabric.Circle({
@ -8109,9 +8111,12 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
this.shadow && circle.setShadow(this.shadow);
this.canvas.add(circle);
this.canvas.fire('path:created', { path: circle });
circles.push(circle);
}
var group = new fabric.Group(circles);
this.canvas.add(group);
this.canvas.fire('path:created', { path: group });
this.canvas.clearContext(this.canvas.contextTop);
this._resetShadow();

8
dist/all.min.js vendored

File diff suppressed because one or more lines are too long

BIN
dist/all.min.js.gz vendored

Binary file not shown.

9
dist/all.require.js vendored
View file

@ -8098,6 +8098,8 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;
this.canvas.renderOnAddRemove = false;
var circles = [ ];
for (var i = 0, len = this.points.length; i < len; i++) {
var point = this.points[i];
var circle = new fabric.Circle({
@ -8109,9 +8111,12 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
this.shadow && circle.setShadow(this.shadow);
this.canvas.add(circle);
this.canvas.fire('path:created', { path: circle });
circles.push(circle);
}
var group = new fabric.Group(circles);
this.canvas.add(group);
this.canvas.fire('path:created', { path: group });
this.canvas.clearContext(this.canvas.contextTop);
this._resetShadow();

View file

@ -60,6 +60,8 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
var originalRenderOnAddRemove = this.canvas.renderOnAddRemove;
this.canvas.renderOnAddRemove = false;
var circles = [ ];
for (var i = 0, len = this.points.length; i < len; i++) {
var point = this.points[i];
var circle = new fabric.Circle({
@ -71,9 +73,12 @@ fabric.CircleBrush = fabric.util.createClass(fabric.BaseBrush, /** @lends fabric
this.shadow && circle.setShadow(this.shadow);
this.canvas.add(circle);
this.canvas.fire('path:created', { path: circle });
circles.push(circle);
}
var group = new fabric.Group(circles);
this.canvas.add(group);
this.canvas.fire('path:created', { path: group });
this.canvas.clearContext(this.canvas.contextTop);
this._resetShadow();