Removed several 'in' operators in canvas.js
This gives up to 6x speed improvement on these methods
This commit is contained in:
parent
cf5ff3d327
commit
455c6b2d35
@ -1067,21 +1067,21 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
||||
}
|
||||
|
||||
if (this.pendingEOFill) {
|
||||
if ('mozFillRule' in this.ctx) {
|
||||
this.ctx.mozFillRule = 'evenodd';
|
||||
this.ctx.fill();
|
||||
this.ctx.mozFillRule = 'nonzero';
|
||||
if (ctx.mozFillRule !== undefined) {
|
||||
ctx.mozFillRule = 'evenodd';
|
||||
ctx.fill();
|
||||
ctx.mozFillRule = 'nonzero';
|
||||
} else {
|
||||
try {
|
||||
this.ctx.fill('evenodd');
|
||||
ctx.fill('evenodd');
|
||||
} catch (ex) {
|
||||
// shouldn't really happen, but browsers might think differently
|
||||
this.ctx.fill();
|
||||
ctx.fill();
|
||||
}
|
||||
}
|
||||
this.pendingEOFill = false;
|
||||
} else {
|
||||
this.ctx.fill();
|
||||
ctx.fill();
|
||||
}
|
||||
|
||||
if (needRestore) {
|
||||
@ -1133,12 +1133,12 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
||||
this.current.y = this.current.lineY = 0;
|
||||
},
|
||||
endText: function CanvasGraphics_endText() {
|
||||
if (!('pendingTextPaths' in this)) {
|
||||
this.ctx.beginPath();
|
||||
return;
|
||||
}
|
||||
var paths = this.pendingTextPaths;
|
||||
var ctx = this.ctx;
|
||||
if (paths === undefined) {
|
||||
ctx.beginPath();
|
||||
return;
|
||||
}
|
||||
|
||||
ctx.save();
|
||||
ctx.beginPath();
|
||||
@ -1802,7 +1802,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
||||
this.ctx = this.groupStack.pop();
|
||||
// Turn off image smoothing to avoid sub pixel interpolation which can
|
||||
// look kind of blurry for some pdfs.
|
||||
if ('imageSmoothingEnabled' in this.ctx) {
|
||||
if (this.ctx.imageSmoothingEnabled !== undefined) {
|
||||
this.ctx.imageSmoothingEnabled = false;
|
||||
} else {
|
||||
this.ctx.mozImageSmoothingEnabled = false;
|
||||
@ -2144,26 +2144,27 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
|
||||
// Helper functions
|
||||
|
||||
consumePath: function CanvasGraphics_consumePath() {
|
||||
var ctx = this.ctx;
|
||||
if (this.pendingClip) {
|
||||
if (this.pendingClip == EO_CLIP) {
|
||||
if ('mozFillRule' in this.ctx) {
|
||||
this.ctx.mozFillRule = 'evenodd';
|
||||
this.ctx.clip();
|
||||
this.ctx.mozFillRule = 'nonzero';
|
||||
if (ctx.mozFillRule !== undefined) {
|
||||
ctx.mozFillRule = 'evenodd';
|
||||
ctx.clip();
|
||||
ctx.mozFillRule = 'nonzero';
|
||||
} else {
|
||||
try {
|
||||
this.ctx.clip('evenodd');
|
||||
ctx.clip('evenodd');
|
||||
} catch (ex) {
|
||||
// shouldn't really happen, but browsers might think differently
|
||||
this.ctx.clip();
|
||||
ctx.clip();
|
||||
}
|
||||
}
|
||||
} else {
|
||||
this.ctx.clip();
|
||||
ctx.clip();
|
||||
}
|
||||
this.pendingClip = null;
|
||||
}
|
||||
this.ctx.beginPath();
|
||||
ctx.beginPath();
|
||||
},
|
||||
getSinglePixelWidth: function CanvasGraphics_getSinglePixelWidth(scale) {
|
||||
var inverse = this.ctx.mozCurrentTransformInverse;
|
||||
|
Loading…
Reference in New Issue
Block a user