Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(479)

Unified Diff: polymer_0.5.0/bower_components/chartnewjs/Add-ins/gradientColor.js

Issue 786953007: npm_modules: Fork bower_components into Polymer 0.4.0 and 0.5.0 versions (Closed) Base URL: https://chromium.googlesource.com/infra/third_party/npm_modules.git@master
Patch Set: Created 5 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: polymer_0.5.0/bower_components/chartnewjs/Add-ins/gradientColor.js
diff --git a/polymer_0.5.0/bower_components/chartnewjs/Add-ins/gradientColor.js b/polymer_0.5.0/bower_components/chartnewjs/Add-ins/gradientColor.js
new file mode 100644
index 0000000000000000000000000000000000000000..7d830625fd095d660ed18a1fac48a9217a431531
--- /dev/null
+++ b/polymer_0.5.0/bower_components/chartnewjs/Add-ins/gradientColor.js
@@ -0,0 +1,85 @@
+//
+// See ..\Samples\issue_102.html
+//
+// Module intially written by Ole Kroger
+// Change 1 : Omar Sedki - possibility to specify a percentage
+// Change 2 : Vancoppenolle François - generalized for all graph types
+//
+
+
+function gradientColor(area,ctx,data,statData,posi,posj,othervars) {
+ // v0 = left xAxis of rectangle or xAxis of center
+ // v1 = top yAxis of rectangle or yAxis of center
+ // v2 = right xAxis of rectangle or internal radius (=0 for PolarArea, Pie and Radar)
+ // v3 = bottom yAxis or rectangle or external radius
+ var grd;
+ switch(ctx.tpchart) {
+ case "Radar" :
+ if (area == "COLOR") {
+ var grd = ctx.createRadialGradient(othervars.midPosX, othervars.midPosY, 0, othervars.midPosX, othervars.midPosY , othervars.ext_radius);
+ } else {
+ var grd = ctx.createRadialGradient(othervars.xPosLeft + (othervars.xPosRight - othervars.xPosLeft) / 2, othervars.yPosBottom + (othervars.yPosTop - othervars.yPosBottom) / 2, 0, othervars.xPosLeft + (othervars.xPosRight - othervars.xPosLeft) / 2, othervars.yPosBottom + (othervars.yPosTop - othervars.yPosBottom) / 2, Math.max((othervars.xPosRight - othervars.xPosLeft) / 2, (othervars.yPosTop - othervars.yPosBottom) / 2));
+ }
+ var gradientColors = data.datasets[posi].gradientColors;
+ break;
+ case "PolarArea" :
+ case "Pie" :
+ case "Doughnut" :
+ if (area == "COLOR") {
+ var grd = ctx.createRadialGradient(statData[0].midPosX, statData[0].midPosY, othervars.scaleAnimation*statData[0].int_radius, statData[0].midPosX, statData[0].midPosY , othervars.scaleAnimation* statData[0].radiusOffset);
+ } else {
+ var grd = ctx.createRadialGradient(othervars.xPosLeft + (othervars.xPosRight - othervars.xPosLeft) / 2, othervars.yPosBottom + (othervars.yPosTop - othervars.yPosBottom) / 2, 0, othervars.xPosLeft + (othervars.xPosRight - othervars.xPosLeft) / 2, othervars.yPosBottom + (othervars.yPosTop - othervars.yPosBottom) / 2, Math.max((othervars.xPosRight - othervars.xPosLeft) / 2, (othervars.yPosTop - othervars.yPosBottom) / 2));
+ }
+ var gradientColors = data[posi].gradientColors;
+ break;
+ case "Line" :
+ case "Bar" :
+ case "StackedBar" :
+ grd = ctx.createLinearGradient(othervars.xPosLeft, othervars.yPosBottom, othervars.xPosLeft, othervars.yPosTop);
+ var gradientColors = data.datasets[posi].gradientColors;
+ break;
+ case "HorizontalBar" :
+ case "HorizontalStackedBar" :
+ grd = ctx.createLinearGradient(othervars.xPosLeft, othervars.yPosBottom, othervars.xPosRight, othervars.yPosBottom);
+ var gradientColors = data.datasets[posi].gradientColors;
+ break;
+ default :
+ break;
+
+ }
+
+ var steps = gradientColors.length;
+ var currentStepValue = 0;
+ var stepValues = [];
+ var PERCENT_REGEX = /(\d{1,2}|100)%\s*?$/g
+ for (var iter = 0; iter < steps; iter++) {
+ var userStepValue = gradientColors[iter].match(PERCENT_REGEX);
+ if (!userStepValue) {
+ stepValues[iter] = false;
+ continue;
+ }
+ userStepValue = parseFloat(userStepValue) / 100.0;
+ stepValues[iter] = userStepValue;
+ }
+ for (var iter = 0; iter < steps; iter++) {
+ if (stepValues[iter] === false) {
+ if (iter == 0) {
+ stepValues[iter] = 0;
+ } else if (iter == steps - 1) {
+ stepValues[iter] = 1;
+ } else {
+ // found next stepValue which isn't false
+ var s = iter + 1;
+ while (s < steps - 1 && stepValues[s] === false) {
+ s++;
+ }
+ var lastStep = ((iter == 0) ? 0 : stepValues[iter - 1]);
+ stepValues[iter] = ((s >= steps - 1) ? 1 : stepValues[s + 1]) - lastStep;
+ stepValues[iter] = lastStep + stepValues[iter] / (s - iter + 1);
+ }
+ }
+ GradientcolorsWithoutStep = gradientColors[iter].replace(PERCENT_REGEX, "").trim();
+ grd.addColorStop(stepValues[iter], GradientcolorsWithoutStep);
+ }
+ return grd;
+}

Powered by Google App Engine
This is Rietveld 408576698