private static List <Rect> ConvertProcessedThumbsToRects(List <ThumbAttachment> thumbs, double marginBetween, double width) { List <Rect> rectList = new List <Rect>(thumbs.Count); double y = 0.0; double widthOfRow = RectangleLayoutHelper.CalculateWidthOfRow(thumbs, marginBetween); double num = width / 2.0 - widthOfRow / 2.0; double x = num; for (int index = 0; index < thumbs.Count; ++index) { ThumbAttachment thumbAttachment = thumbs[index]; rectList.Add(new Rect(x, y, thumbAttachment.CalcWidth, thumbAttachment.CalcHeight)); if (!thumbAttachment.LastColumn && !thumbAttachment.LastRow) { x += thumbAttachment.CalcWidth + marginBetween; } else if (thumbAttachment.LastRow) { y += thumbAttachment.CalcHeight + marginBetween; } else if (thumbAttachment.LastColumn) { x = num; y += thumbAttachment.CalcHeight + marginBetween; } } return(rectList); }
public static List <Rect> CreateLayout(Size parentRect, List <Size> childrenRects, double marginBetween) { List <ThumbAttachment> thumbAttachments = RectangleLayoutHelper.ConvertSizesToThumbAttachments(childrenRects); ThumbnailLayoutManager.ProcessThumbnails(parentRect.Width, parentRect.Height, thumbAttachments, marginBetween); return(RectangleLayoutHelper.ConvertProcessedThumbsToRects(thumbAttachments, marginBetween, parentRect.Width)); }
public static List <Rect> CreateLayout(Size parentRect, List <Size> childrenRects, double marginBetween) { List <ThumbAttachment> thumbAttachments = RectangleLayoutHelper.ConvertSizesToThumbAttachments(childrenRects); // ISSUE: explicit reference operation // ISSUE: explicit reference operation ThumbnailLayoutManager.ProcessThumbnails(((Size)@parentRect).Width, ((Size)@parentRect).Height, thumbAttachments, marginBetween); // ISSUE: explicit reference operation return(RectangleLayoutHelper.ConvertProcessedThumbsToRects(thumbAttachments, marginBetween, ((Size)@parentRect).Width)); }