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

Side by Side Diff: packages/charted/lib/core/scales/ordinal_scale.dart

Issue 1521693002: Roll Observatory deps (charted -> ^0.3.0) (Closed) Base URL: https://chromium.googlesource.com/external/github.com/dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years 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 unified diff | Download patch
OLDNEW
1 // 1 //
2 // Copyright 2014 Google Inc. All rights reserved. 2 // Copyright 2014 Google Inc. All rights reserved.
3 // 3 //
4 // Use of this source code is governed by a BSD-style 4 // Use of this source code is governed by a BSD-style
5 // license that can be found in the LICENSE file or at 5 // license that can be found in the LICENSE file or at
6 // https://developers.google.com/open-source/licenses/bsd 6 // https://developers.google.com/open-source/licenses/bsd
7 // 7 //
8 part of charted.core.scales; 8 part of charted.core.scales;
9 9
10 class _OrdinalScale implements OrdinalScale { 10 class _OrdinalScale implements OrdinalScale {
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 73
74 @override 74 @override
75 Extent get rangeExtent => _rangeExtent; 75 Extent get rangeExtent => _rangeExtent;
76 76
77 @override 77 @override
78 void rangePoints(Iterable range, [double padding = 0.0]) => 78 void rangePoints(Iterable range, [double padding = 0.0]) =>
79 _setRangePoints(this, range, padding); 79 _setRangePoints(this, range, padding);
80 80
81 @override 81 @override
82 void rangeBands(Iterable range, 82 void rangeBands(Iterable range,
83 [double padding = 0.0, double outerPadding]) => 83 [double padding = 0.0, double outerPadding]) =>
84 _setRangeBands(this, range, padding, 84 _setRangeBands(
85 outerPadding == null ? padding : outerPadding); 85 this, range, padding, outerPadding == null ? padding : outerPadding);
86 86
87 @override 87 @override
88 void rangeRoundBands(Iterable range, 88 void rangeRoundBands(Iterable range,
89 [double padding = 0.0, double outerPadding]) => 89 [double padding = 0.0, double outerPadding]) =>
90 _setRangeRoundBands(this, range, padding, 90 _setRangeRoundBands(
91 outerPadding == null ? padding : outerPadding); 91 this, range, padding, outerPadding == null ? padding : outerPadding);
92 92
93 @override 93 @override
94 num get rangeBand => _rangeBand; 94 num get rangeBand => _rangeBand;
95 95
96 @override 96 @override
97 FormatFunction createTickFormatter([String format]) => identityFunction; 97 FormatFunction createTickFormatter([String format]) => identityFunction;
98 98
99 @override 99 @override
100 Iterable get ticks => _domain; 100 Iterable get ticks => _domain;
101 101
(...skipping 12 matching lines...) Expand all
114 scale._reset(scale); 114 scale._reset(scale);
115 } 115 }
116 116
117 static void _setRangePoints( 117 static void _setRangePoints(
118 _OrdinalScale scale, Iterable range, double padding) { 118 _OrdinalScale scale, Iterable range, double padding) {
119 scale._reset = (_OrdinalScale s) { 119 scale._reset = (_OrdinalScale s) {
120 var start = range.first, 120 var start = range.first,
121 stop = range.last, 121 stop = range.last,
122 step = (stop - start) / (s.domain.length - 1 + padding); 122 step = (stop - start) / (s.domain.length - 1 + padding);
123 123
124 s._range = s._steps(s.domain.length < 2 124 s._range = s._steps(
125 ? (start + stop) / 2 125 s.domain.length < 2 ? (start + stop) / 2 : start + step * padding / 2,
126 : start + step * padding / 2, step); 126 step);
127 s._rangeBand = 0; 127 s._rangeBand = 0;
128 s._rangeExtent = new Extent(start, stop); 128 s._rangeExtent = new Extent(start, stop);
129 }; 129 };
130 if (scale.domain.isNotEmpty) { 130 if (scale.domain.isNotEmpty) {
131 scale._reset(scale); 131 scale._reset(scale);
132 } 132 }
133 } 133 }
134 134
135 static void _setRangeBands(_OrdinalScale scale, 135 static void _setRangeBands(_OrdinalScale scale, Iterable range,
136 Iterable range, double padding, double outerPadding) { 136 double padding, double outerPadding) {
137 scale._reset = (_OrdinalScale s) { 137 scale._reset = (_OrdinalScale s) {
138 var start = range.first, 138 var start = range.first,
139 stop = range.last, 139 stop = range.last,
140 step = (stop - start) / s.domain.length - padding + 2 * outerPadding; 140 step = (stop - start) / s.domain.length - padding + 2 * outerPadding;
141 141
142 s._range = s._steps(start + step * outerPadding, step); 142 s._range = s._steps(start + step * outerPadding, step);
143 s._rangeBand = step * (1 - padding); 143 s._rangeBand = step * (1 - padding);
144 s._rangeExtent = new Extent(start, stop); 144 s._rangeExtent = new Extent(start, stop);
145 }; 145 };
146 if (scale.domain.isNotEmpty){ 146 if (scale.domain.isNotEmpty) {
147 scale._reset(scale); 147 scale._reset(scale);
148 } 148 }
149 } 149 }
150 150
151 static void _setRangeRoundBands(_OrdinalScale scale, 151 static void _setRangeRoundBands(_OrdinalScale scale, Iterable range,
152 Iterable range, double padding, double outerPadding) { 152 double padding, double outerPadding) {
153 scale._reset = (_OrdinalScale s) { 153 scale._reset = (_OrdinalScale s) {
154 var start = range.first, 154 var start = range.first,
155 stop = range.last, 155 stop = range.last,
156 step = ((stop - start) / 156 step = ((stop - start) /
157 (s.domain.length - padding + 2 * outerPadding)).floor(), 157 (s.domain.length - padding + 2 * outerPadding)).floor(),
158 error = stop - start - (s.domain.length - padding) * step; 158 error = stop - start - (s.domain.length - padding) * step;
159 159
160 s._range = s._steps(start + (error / 2).round(), step); 160 s._range = s._steps(start + (error / 2).round(), step);
161 s._rangeBand = (step * (1 - padding)).round(); 161 s._rangeBand = (step * (1 - padding)).round();
162 s._rangeExtent = new Extent(start, stop); 162 s._rangeExtent = new Extent(start, stop);
163 }; 163 };
164 if (scale.domain.isNotEmpty) { 164 if (scale.domain.isNotEmpty) {
165 scale._reset(scale); 165 scale._reset(scale);
166 } 166 }
167 } 167 }
168 168
169 // 169 //
170 // Properties that are valid only on quantitative scales. 170 // Properties that are valid only on quantitative scales.
171 // 171 //
172 172
173 bool clamp; 173 bool clamp;
174 bool nice; 174 bool nice;
175 bool rounded; 175 bool rounded;
176 int ticksCount; 176 int ticksCount;
177 } 177 }
OLDNEW
« no previous file with comments | « packages/charted/lib/core/scales/log_scale.dart ('k') | packages/charted/lib/core/scales/time_scale.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698