using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace FancyZonesEditor
{
    public class RowColInfo
    {
        public RowColInfo(int percent)
        {
            Percent = percent;
        }

        public RowColInfo(int index, int count)
        {
            Percent = (c_multiplier / count) + ((index == 0) ? (c_multiplier % count) : 0);
        }

        private const int c_multiplier = 10000;

        public double SetExtent(double start, double totalExtent)
        {
            Start = start;
            Extent = totalExtent * Percent / c_multiplier;
            End = Start + Extent;
            return Extent;
        }

        public RowColInfo[] Split(double offset)
        {
            RowColInfo[] info = new RowColInfo[2];

            int newPercent = (int)(Percent * offset / Extent);
            info[0] = new RowColInfo(newPercent);
            info[1] = new RowColInfo(Percent - newPercent);
            return info;
        }

        public int Percent;
        public double Extent;
        public double Start;
        public double End;
    }
}
