Skip to content

Commit d0e1af2

Browse files
committed
Related to jacomyal#706 - starting to optimize sigma.utils.floatColor
1 parent 889eec6 commit d0e1af2

File tree

1 file changed

+23
-23
lines changed

1 file changed

+23
-23
lines changed

src/utils/sigma.utils.js

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -123,36 +123,36 @@
123123
* @return {number} The number value.
124124
*/
125125
sigma.utils.floatColor = function(val) {
126-
var result = [0, 0, 0];
127-
128-
if (val.match(/^#/)) {
129-
val = (val || '').replace(/^#/, '');
130-
result = (val.length === 3) ?
131-
[
132-
parseInt(val.charAt(0) + val.charAt(0), 16),
133-
parseInt(val.charAt(1) + val.charAt(1), 16),
134-
parseInt(val.charAt(2) + val.charAt(2), 16)
135-
] :
136-
[
137-
parseInt(val.charAt(0) + val.charAt(1), 16),
138-
parseInt(val.charAt(2) + val.charAt(3), 16),
139-
parseInt(val.charAt(4) + val.charAt(5), 16)
140-
];
126+
var r = 0,
127+
g = 0,
128+
b = 0;
129+
130+
if (val[0] === '#') {
131+
val = val.slice(1);
132+
133+
if (val.length === 3) {
134+
r = parseInt(val.charAt(0) + val.charAt(0), 16);
135+
g = parseInt(val.charAt(1) + val.charAt(1), 16);
136+
b = parseInt(val.charAt(2) + val.charAt(2), 16);
137+
}
138+
else {
139+
r = parseInt(val.charAt(0) + val.charAt(1), 16);
140+
g = parseInt(val.charAt(2) + val.charAt(3), 16);
141+
b = parseInt(val.charAt(4) + val.charAt(5), 16);
142+
}
141143
} else if (val.match(/^ *rgba? *\(/)) {
142144
val = val.match(
143145
/^ *rgba? *\( *([0-9]*) *, *([0-9]*) *, *([0-9]*) *(,.*)?\) *$/
144146
);
145-
result = [
146-
+val[1],
147-
+val[2],
148-
+val[3]
149-
];
147+
r = +val[1];
148+
g = +val[2];
149+
b = +val[3];
150150
}
151151

152152
return (
153-
result[0] * 256 * 256 +
154-
result[1] * 256 +
155-
result[2]
153+
r * 256 * 256 +
154+
g * 256 +
155+
b
156156
);
157157
};
158158

0 commit comments

Comments
 (0)