23 lines
533 B
Dart
23 lines
533 B
Dart
|
import 'dart:core';
|
||
|
|
||
|
import 'package:collection/collection.dart';
|
||
|
|
||
|
class Grid<E> extends DelegatingList<E> {
|
||
|
final List<E> _internal;
|
||
|
final width;
|
||
|
final height;
|
||
|
|
||
|
Grid(int width, int height) : this._(List<E>(width * height), width, height);
|
||
|
|
||
|
Grid.from(Grid<E> l)
|
||
|
: this._(List<E>.from(l.getRange(0, l.length)), l.width, l.height);
|
||
|
|
||
|
Grid.fromList(List<E> l, int width) : this._(l, width, l.length ~/ width);
|
||
|
|
||
|
Grid._(l, int w, int h)
|
||
|
: _internal = l,
|
||
|
width = w,
|
||
|
height = h,
|
||
|
super(l);
|
||
|
}
|