Skip to content

Commit 223ad0c

Browse files
committed
Merge pull request mozilla#2418 from yurydelendik/refactor-cs
Initial refactoring to reduce amount of getRgb calls and objects creation
2 parents 225a612 + 0029b34 commit 223ad0c

File tree

5 files changed

+278
-193
lines changed

5 files changed

+278
-193
lines changed

src/canvas.js

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -963,8 +963,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
963963
},
964964
setStrokeColor: function CanvasGraphics_setStrokeColor(/*...*/) {
965965
var cs = this.current.strokeColorSpace;
966-
var rgbColor = cs.getRgb(arguments);
967-
var color = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
966+
var rgbColor = cs.getRgb(arguments, 0);
967+
var color = Util.makeCssRgb(rgbColor);
968968
this.ctx.strokeStyle = color;
969969
this.current.strokeColor = color;
970970
},
@@ -976,11 +976,7 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
976976
if (base) {
977977
var baseComps = base.numComps;
978978

979-
color = [];
980-
for (var i = 0; i < baseComps; ++i)
981-
color.push(args[i]);
982-
983-
color = base.getRgb(color);
979+
color = base.getRgb(args, 0);
984980
}
985981
var pattern = new TilingPattern(IR, color, this.ctx, this.objs);
986982
} else if (IR[0] == 'RadialAxial' || IR[0] == 'Dummy') {
@@ -1001,8 +997,8 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
1001997
},
1002998
setFillColor: function CanvasGraphics_setFillColor(/*...*/) {
1003999
var cs = this.current.fillColorSpace;
1004-
var rgbColor = cs.getRgb(arguments);
1005-
var color = Util.makeCssRgb(rgbColor[0], rgbColor[1], rgbColor[2]);
1000+
var rgbColor = cs.getRgb(arguments, 0);
1001+
var color = Util.makeCssRgb(rgbColor);
10061002
this.ctx.fillStyle = color;
10071003
this.current.fillColor = color;
10081004
},
@@ -1019,47 +1015,51 @@ var CanvasGraphics = (function CanvasGraphicsClosure() {
10191015
if (!(this.current.strokeColorSpace instanceof DeviceGrayCS))
10201016
this.current.strokeColorSpace = new DeviceGrayCS();
10211017

1022-
var color = Util.makeCssRgb(gray, gray, gray);
1018+
var rgbColor = this.current.strokeColorSpace.getRgb(arguments, 0);
1019+
var color = Util.makeCssRgb(rgbColor);
10231020
this.ctx.strokeStyle = color;
10241021
this.current.strokeColor = color;
10251022
},
10261023
setFillGray: function CanvasGraphics_setFillGray(gray) {
10271024
if (!(this.current.fillColorSpace instanceof DeviceGrayCS))
10281025
this.current.fillColorSpace = new DeviceGrayCS();
10291026

1030-
var color = Util.makeCssRgb(gray, gray, gray);
1027+
var rgbColor = this.current.fillColorSpace.getRgb(arguments, 0);
1028+
var color = Util.makeCssRgb(rgbColor);
10311029
this.ctx.fillStyle = color;
10321030
this.current.fillColor = color;
10331031
},
10341032
setStrokeRGBColor: function CanvasGraphics_setStrokeRGBColor(r, g, b) {
10351033
if (!(this.current.strokeColorSpace instanceof DeviceRgbCS))
10361034
this.current.strokeColorSpace = new DeviceRgbCS();
10371035

1038-
var color = Util.makeCssRgb(r, g, b);
1036+
var rgbColor = this.current.strokeColorSpace.getRgb(arguments, 0);
1037+
var color = Util.makeCssRgb(rgbColor);
10391038
this.ctx.strokeStyle = color;
10401039
this.current.strokeColor = color;
10411040
},
10421041
setFillRGBColor: function CanvasGraphics_setFillRGBColor(r, g, b) {
10431042
if (!(this.current.fillColorSpace instanceof DeviceRgbCS))
10441043
this.current.fillColorSpace = new DeviceRgbCS();
10451044

1046-
var color = Util.makeCssRgb(r, g, b);
1045+
var rgbColor = this.current.fillColorSpace.getRgb(arguments, 0);
1046+
var color = Util.makeCssRgb(rgbColor);
10471047
this.ctx.fillStyle = color;
10481048
this.current.fillColor = color;
10491049
},
10501050
setStrokeCMYKColor: function CanvasGraphics_setStrokeCMYKColor(c, m, y, k) {
10511051
if (!(this.current.strokeColorSpace instanceof DeviceCmykCS))
10521052
this.current.strokeColorSpace = new DeviceCmykCS();
10531053

1054-
var color = Util.makeCssCmyk(c, m, y, k);
1054+
var color = Util.makeCssCmyk(arguments);
10551055
this.ctx.strokeStyle = color;
10561056
this.current.strokeColor = color;
10571057
},
10581058
setFillCMYKColor: function CanvasGraphics_setFillCMYKColor(c, m, y, k) {
10591059
if (!(this.current.fillColorSpace instanceof DeviceCmykCS))
10601060
this.current.fillColorSpace = new DeviceCmykCS();
10611061

1062-
var color = Util.makeCssCmyk(c, m, y, k);
1062+
var color = Util.makeCssCmyk(arguments);
10631063
this.ctx.fillStyle = color;
10641064
this.current.fillColor = color;
10651065
},

0 commit comments

Comments
 (0)