public GridRange(Range rows, Range columns) { Rows = rows; Columns = columns; }
public bool Intersect(Range other) { return (this._end > other._start) && (this._start < other._end); }
public double GetWidth(Range range) { return Size(range, _xPositions); }
private double Size(Range range, double[] positions) { return positions[range.Start + range.Count] - positions[range.Start]; }
public double GetHeight(Range range) { return Size(range, _yPositions); }