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

Unified Diff: pkg/immi_samples/lib/sliding_window.dart

Issue 2035023003: Remove service-compiler related code. (Closed) Base URL: git@github.com:dartino/sdk.git@master
Patch Set: Created 4 years, 6 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
« no previous file with comments | « pkg/immi_samples/lib/sequenced_presenter.dart ('k') | pkg/immi_samples/lib/sliding_window.immi » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: pkg/immi_samples/lib/sliding_window.dart
diff --git a/pkg/immi_samples/lib/sliding_window.dart b/pkg/immi_samples/lib/sliding_window.dart
deleted file mode 100644
index 075a75c92ae3b1c37314c9c91611ddfbda183ee1..0000000000000000000000000000000000000000
--- a/pkg/immi_samples/lib/sliding_window.dart
+++ /dev/null
@@ -1,96 +0,0 @@
-// Copyright (c) 2015, the Dartino project authors. Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE.md file.
-
-library immi_samples.sliding_window;
-
-import 'sequenced_presenter.dart';
-
-import 'package:immi/dart/immi.dart';
-
-// Export generated code for nodes in sliding_window.immi
-import 'package:immi/dart/sliding_window.dart';
-export 'package:immi/dart/sliding_window.dart';
-
-class _Window {
- int startOffset = 0;
- int windowOffset = 0;
- int windowCount = 0;
-
- void update(int start, int end) {
- int shift = start - startOffset;
- int absShift = shift < 0 ? -shift : shift;
- if (absShift > 0) {
- if (absShift < windowCount) {
- windowOffset = (windowOffset + shift) % windowCount;
- if (windowOffset < 0) {
- windowOffset += windowCount;
- }
- } else {
- windowOffset = 0;
- }
- startOffset = start;
- }
- windowCount = end - start;
- }
-}
-
-class SlidingWindow<T extends Node> {
- SequencedPresenter<T> _presenter;
-
- _Window _display = new _Window();
- int _start = 0;
- int _end = 0;
- int _minimumCount = 0;
- int _maximumCount = -1;
-
- SlidingWindow(this._presenter);
-
- SlidingWindowNode present() {
- _display.update(_start, _end);
- List items = _presentWindow();
- return new SlidingWindowNode(
- window: items,
- startOffset: _display.startOffset,
- windowOffset: _display.windowOffset,
- minimumCount: _minimumCount,
- maximumCount: _maximumCount,
- display: _setDisplayRange,
- toggle: _presenter.toggleAt);
- }
-
- void _setDisplayRange(int start, int end) {
- assert(start < end);
- _start = start;
- _end = end;
- }
-
- List<Node> _presentWindow() {
- int length = _display.windowCount;
- List<Node> items = new List(length);
- int startOffset = _display.startOffset;
- int windowOffset = _display.windowOffset;
- int i = 0;
- for (; i < length; ++i) {
- int index = startOffset + i;
- int windowIndex = (windowOffset + i) % length;
- Node item = _presenter.presentAt(index);
- if (item == null) break;
- items[windowIndex] = item;
- }
- if (startOffset + i > _minimumCount) {
- _minimumCount = startOffset + i;
- }
- if (i == length) return items;
- // If we have reached the last item re-adjust the display info.
- _maximumCount = _minimumCount;
- _display.windowOffset = 0;
- _display.windowCount = i;
- List<Node> lastItems = new List(i);
- for (int j = 0; j < i; ++j) {
- int windowIndex = (windowOffset + j) % length;
- lastItems[j] = items[windowIndex];
- }
- return lastItems;
- }
-}
« no previous file with comments | « pkg/immi_samples/lib/sequenced_presenter.dart ('k') | pkg/immi_samples/lib/sliding_window.immi » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698