public List <IMosaicItem> GetNeighbors() { var nodes = new List <IMosaicItem>(); if (NeighborTop != null) { nodes.Add(NeighborTop); nodes.AddRange(NeighborTop.GetNeighbors()); } if (NeighborRight != null) { nodes.Add(NeighborRight); nodes.AddRange(NeighborRight.GetNeighbors()); } if (NeighborBottom != null) { nodes.Add(NeighborBottom); nodes.AddRange(NeighborBottom.GetNeighbors()); } if (NeighborLeft != null) { nodes.Add(NeighborLeft); nodes.AddRange(NeighborLeft.GetNeighbors()); } return(nodes); }
public Rectangle DimensionTop(bool includeMe) { int width = 0; int height = 0; //Only the top dimension neighbor exists, the value of the caller is considered if (includeMe) { width = Screen.Dimension.Width; height = Screen.Dimension.Height; } if (NeighborTop != null) { var dimensionTop = NeighborTop.DimensionTop(includeMe: true); if (dimensionTop.Width > width) { width = dimensionTop.Width; } height += dimensionTop.Height; } var dimension = new Rectangle(0, 0, width, height); return(dimension); }