private static List<AbsoluteBlock> ConvertToAbsoluteCoordinates(this RawShapeBlocksGroup elem)
        {
            var offsetX = 0;

            var absoluteBlockCollection = new Collection<AbsoluteBlock>();

            RawShapeBlock previousRawShapeBlock = null;

            foreach (var block in elem.Collection)
            {
                if (previousRawShapeBlock != null)
                {
                    offsetX += previousRawShapeBlock.Length;
                }

                offsetX += block.Offsetx;

                previousRawShapeBlock = block;

                var absoluteBlock = new AbsoluteBlock(offsetX, block.Length, elem.RowIndex);

                absoluteBlockCollection.Add(absoluteBlock);
            }

            return absoluteBlockCollection.ToList();
        }
 public AbsoluteBlockContainer(AbsoluteBlock block)
 {
     Block = block;
     _counterBlockContainers = new List<RawColorBlockContainer>();
     FreeSpaceLeft = Block.Length;
 }
 public AbsoluteBlockContainer(AbsoluteBlock block)
 {
     Block = block;
     _counterBlockContainers = new List <RawColorBlockContainer>();
     FreeSpaceLeft           = Block.Length;
 }