///////////////////////////////////////////////////////////////////////////////// // // Photoshop PSD FileType Plugin for Paint.NET // http://psdplugin.codeplex.com/ // // This software is provided under the MIT License: // Copyright (c) 2006-2007 Frank Blumenberg // Copyright (c) 2010-2014 Tao Yue // // See LICENSE.txt for complete licensing and attribution information. // ///////////////////////////////////////////////////////////////////////////////// using System; using System.Linq; namespace PhotoshopFile { internal class RleRowLengths { public int[] Values { get; private set; } public long Total { get { return Values.Sum(x => (long)x); } } public int this[int i] { get { return Values[i]; } set { Values[i] = value; } } public RleRowLengths(int rowCount) { Values = new int[rowCount]; } public RleRowLengths(PsdBinaryReader reader, int rowCount, bool isLargeDocument) : this(rowCount) { for (int i = 0; i < rowCount; i++) { Values[i] = isLargeDocument ? reader.ReadInt32() : reader.ReadUInt16(); } } } }