| Index: charted/lib/core/scales/ordinal_scale.dart
|
| diff --git a/charted/lib/core/scales/ordinal_scale.dart b/charted/lib/core/scales/ordinal_scale.dart
|
| deleted file mode 100644
|
| index 6c135a2ffebb1c372e4382e75680b663d0d7bf9b..0000000000000000000000000000000000000000
|
| --- a/charted/lib/core/scales/ordinal_scale.dart
|
| +++ /dev/null
|
| @@ -1,177 +0,0 @@
|
| -//
|
| -// Copyright 2014 Google Inc. All rights reserved.
|
| -//
|
| -// Use of this source code is governed by a BSD-style
|
| -// license that can be found in the LICENSE file or at
|
| -// https://developers.google.com/open-source/licenses/bsd
|
| -//
|
| -part of charted.core.scales;
|
| -
|
| -class _OrdinalScale implements OrdinalScale {
|
| - final _index = new Map<dynamic, int>();
|
| -
|
| - List _domain = [];
|
| - List _range = [];
|
| - num _rangeBand = 0;
|
| - Extent _rangeExtent;
|
| - Function _reset;
|
| -
|
| - _OrdinalScale();
|
| -
|
| - _OrdinalScale._clone(_OrdinalScale source)
|
| - : _domain = source._domain,
|
| - _range = source._range,
|
| - _reset = source._reset,
|
| - _rangeExtent = source._rangeExtent,
|
| - _rangeBand = source._rangeBand {
|
| - _index.addAll(source._index);
|
| - }
|
| -
|
| - @override
|
| - scale(dynamic value) {
|
| - if (!_index.containsKey(value)) {
|
| - _index[value] = domain.length;
|
| - _domain.add(value);
|
| - }
|
| - return _range.isNotEmpty
|
| - ? _range.elementAt(_index[value] % _range.length)
|
| - : 0;
|
| - }
|
| -
|
| - @override
|
| - dynamic invert(num value) {
|
| - int position = _range.indexOf(value);
|
| - return position > -1 && position < _domain.length
|
| - ? _domain[position]
|
| - : null;
|
| - }
|
| -
|
| - @override
|
| - set domain(Iterable values) {
|
| - _domain = [];
|
| - _index.clear();
|
| -
|
| - for (var i = 0; i < values.length; i++) {
|
| - var value = values.elementAt(i);
|
| - if (_index[value] == null) {
|
| - _index[value] = _domain.length;
|
| - _domain.add(value);
|
| - }
|
| - }
|
| -
|
| - if (_reset != null) _reset(this);
|
| - }
|
| -
|
| - @override
|
| - Iterable get domain => _domain;
|
| -
|
| - @override
|
| - set range(Iterable values) => _setRange(this, values);
|
| -
|
| - @override
|
| - Iterable get range => _range;
|
| -
|
| - @override
|
| - Extent get rangeExtent => _rangeExtent;
|
| -
|
| - @override
|
| - void rangePoints(Iterable range, [double padding = 0.0]) =>
|
| - _setRangePoints(this, range, padding);
|
| -
|
| - @override
|
| - void rangeBands(Iterable range,
|
| - [double padding = 0.0, double outerPadding]) =>
|
| - _setRangeBands(this, range, padding,
|
| - outerPadding == null ? padding : outerPadding);
|
| -
|
| - @override
|
| - void rangeRoundBands(Iterable range,
|
| - [double padding = 0.0, double outerPadding]) =>
|
| - _setRangeRoundBands(this, range, padding,
|
| - outerPadding == null ? padding : outerPadding);
|
| -
|
| - @override
|
| - num get rangeBand => _rangeBand;
|
| -
|
| - @override
|
| - FormatFunction createTickFormatter([String format]) => identityFunction;
|
| -
|
| - @override
|
| - Iterable get ticks => _domain;
|
| -
|
| - @override
|
| - OrdinalScale clone() => new _OrdinalScale._clone(this);
|
| -
|
| - List _steps(start, step) =>
|
| - new Range(domain.length).map((num i) => start + step * i).toList();
|
| -
|
| - static void _setRange(_OrdinalScale scale, Iterable values) {
|
| - scale._reset = (_OrdinalScale s) {
|
| - s._range = values;
|
| - s._rangeBand = 0;
|
| - s._rangeExtent = null;
|
| - };
|
| - scale._reset(scale);
|
| - }
|
| -
|
| - static void _setRangePoints(
|
| - _OrdinalScale scale, Iterable range, double padding) {
|
| - scale._reset = (_OrdinalScale s) {
|
| - var start = range.first,
|
| - stop = range.last,
|
| - step = (stop - start) / (s.domain.length - 1 + padding);
|
| -
|
| - s._range = s._steps(s.domain.length < 2
|
| - ? (start + stop) / 2
|
| - : start + step * padding / 2, step);
|
| - s._rangeBand = 0;
|
| - s._rangeExtent = new Extent(start, stop);
|
| - };
|
| - if (scale.domain.isNotEmpty) {
|
| - scale._reset(scale);
|
| - }
|
| - }
|
| -
|
| - static void _setRangeBands(_OrdinalScale scale,
|
| - Iterable range, double padding, double outerPadding) {
|
| - scale._reset = (_OrdinalScale s) {
|
| - var start = range.first,
|
| - stop = range.last,
|
| - step = (stop - start) / s.domain.length - padding + 2 * outerPadding;
|
| -
|
| - s._range = s._steps(start + step * outerPadding, step);
|
| - s._rangeBand = step * (1 - padding);
|
| - s._rangeExtent = new Extent(start, stop);
|
| - };
|
| - if (scale.domain.isNotEmpty){
|
| - scale._reset(scale);
|
| - }
|
| - }
|
| -
|
| - static void _setRangeRoundBands(_OrdinalScale scale,
|
| - Iterable range, double padding, double outerPadding) {
|
| - scale._reset = (_OrdinalScale s) {
|
| - var start = range.first,
|
| - stop = range.last,
|
| - step = ((stop - start) /
|
| - (s.domain.length - padding + 2 * outerPadding)).floor(),
|
| - error = stop - start - (s.domain.length - padding) * step;
|
| -
|
| - s._range = s._steps(start + (error / 2).round(), step);
|
| - s._rangeBand = (step * (1 - padding)).round();
|
| - s._rangeExtent = new Extent(start, stop);
|
| - };
|
| - if (scale.domain.isNotEmpty) {
|
| - scale._reset(scale);
|
| - }
|
| - }
|
| -
|
| - //
|
| - // Properties that are valid only on quantitative scales.
|
| - //
|
| -
|
| - bool clamp;
|
| - bool nice;
|
| - bool rounded;
|
| - int ticksCount;
|
| -}
|
|
|