primitive.js 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. define("dojox/charting/scaler/primitive", ["dojo/_base/lang"],
  2. function(lang){
  3. var primitive = lang.getObject("dojox.charting.scaler.primitive", true);
  4. return lang.mixin(primitive, {
  5. buildScaler: function(/*Number*/ min, /*Number*/ max, /*Number*/ span, /*Object*/ kwArgs){
  6. if(min == max){
  7. // artificially extend bounds
  8. min -= 0.5;
  9. max += 0.5;
  10. // now the line will be centered
  11. }
  12. return {
  13. bounds: {
  14. lower: min,
  15. upper: max,
  16. from: min,
  17. to: max,
  18. scale: span / (max - min),
  19. span: span
  20. },
  21. scaler: primitive
  22. };
  23. },
  24. buildTicks: function(/*Object*/ scaler, /*Object*/ kwArgs){
  25. return {major: [], minor: [], micro: []}; // Object
  26. },
  27. getTransformerFromModel: function(/*Object*/ scaler){
  28. var offset = scaler.bounds.from, scale = scaler.bounds.scale;
  29. return function(x){ return (x - offset) * scale; }; // Function
  30. },
  31. getTransformerFromPlot: function(/*Object*/ scaler){
  32. var offset = scaler.bounds.from, scale = scaler.bounds.scale;
  33. return function(x){ return x / scale + offset; }; // Function
  34. }
  35. });
  36. });