Last change
on this file was
483,
checked in by hendrikvanantwerpen, 11 years ago
|
Added Dojo 1.9.3 release.
|
-
Property svn:executable set to
*
|
File size:
1.6 KB
|
Rev | Line | |
---|
[483] | 1 | define(function(){ |
---|
| 2 | // module: |
---|
| 3 | // dojox/dgauges/components/_circularUtils |
---|
| 4 | // summary: |
---|
| 5 | // Internal circular utilities. |
---|
| 6 | // tags: |
---|
| 7 | // private |
---|
| 8 | |
---|
| 9 | return { |
---|
| 10 | computeTotalAngle: function(start, end, orientation){ |
---|
| 11 | // summary: |
---|
| 12 | // Internal method. |
---|
| 13 | // tags: |
---|
| 14 | // private |
---|
| 15 | if(start == end){ |
---|
| 16 | return 360; |
---|
| 17 | }else{ |
---|
| 18 | return this.computeAngle(start, end, orientation, 360); |
---|
| 19 | } |
---|
| 20 | }, |
---|
| 21 | |
---|
| 22 | modAngle: function(angle, base){ |
---|
| 23 | // summary: |
---|
| 24 | // Internal method. |
---|
| 25 | // tags: |
---|
| 26 | // private |
---|
| 27 | if(base == undefined){ |
---|
| 28 | base = 6.28318530718; |
---|
| 29 | } |
---|
| 30 | if(angle >= base){ |
---|
| 31 | do { |
---|
| 32 | angle -= base; |
---|
| 33 | } |
---|
| 34 | while (angle >= base); |
---|
| 35 | }else{ |
---|
| 36 | while (angle < 0){ |
---|
| 37 | angle += base; |
---|
| 38 | } |
---|
| 39 | } |
---|
| 40 | return angle; |
---|
| 41 | }, |
---|
| 42 | |
---|
| 43 | computeAngle: function(startAngle, endAngle, orientation, base){ |
---|
| 44 | // summary: |
---|
| 45 | // Internal method. |
---|
| 46 | // tags: |
---|
| 47 | // private |
---|
| 48 | if(base == undefined){ |
---|
| 49 | base = 6.28318530718; |
---|
| 50 | } |
---|
| 51 | |
---|
| 52 | var totalAngle; |
---|
| 53 | |
---|
| 54 | if(endAngle == startAngle){ |
---|
| 55 | return base; |
---|
| 56 | } |
---|
| 57 | |
---|
| 58 | if(orientation == "clockwise"){ |
---|
| 59 | if(endAngle < startAngle){ |
---|
| 60 | totalAngle = base - (startAngle - endAngle); |
---|
| 61 | }else{ |
---|
| 62 | totalAngle = endAngle - startAngle; |
---|
| 63 | } |
---|
| 64 | } |
---|
| 65 | else{ |
---|
| 66 | if(endAngle < startAngle){ |
---|
| 67 | totalAngle = startAngle - endAngle; |
---|
| 68 | }else{ |
---|
| 69 | totalAngle = base - (endAngle - startAngle); |
---|
| 70 | } |
---|
| 71 | } |
---|
| 72 | return this.modAngle(totalAngle, base); |
---|
| 73 | }, |
---|
| 74 | |
---|
| 75 | toRadians: function(deg){ |
---|
| 76 | // summary: |
---|
| 77 | // Internal method. |
---|
| 78 | // tags: |
---|
| 79 | // private |
---|
| 80 | return deg * Math.PI / 180; |
---|
| 81 | }, |
---|
| 82 | |
---|
| 83 | toDegrees: function(rad){ |
---|
| 84 | // summary: |
---|
| 85 | // Internal method. |
---|
| 86 | // tags: |
---|
| 87 | // private |
---|
| 88 | return rad * 180 / Math.PI; |
---|
| 89 | } |
---|
| 90 | } |
---|
| 91 | }); |
---|
Note: See
TracBrowser
for help on using the repository browser.