public void Arrange(ICanvasResourceCreator resourceCreator) { if (!needsArrange) { return; } geometry.Arrange(this, resourceCreator); needsArrange = false; }
public void ArrangeBody(ICanvasResourceCreator resourceCreator) { if (Parent != null) { double minX = Math.Min(RenderPosition.X, Parent.RenderPosition.X); double minY = Math.Min(RenderPosition.Y, Parent.RenderPosition.Y); double maxX = Math.Max(RenderPosition.X + RenderSize.X, Parent.RenderPosition.X + Parent.RenderSize.X); double maxY = Math.Max(RenderPosition.Y + RenderSize.Y, Parent.RenderPosition.Y + Parent.RenderSize.Y); renderBoundsWithParent = new Rect2((float)minX, (float)minY, (float)(maxX - minX), (float)(maxY - minY)); } else { renderBoundsWithParent = RenderBounds; } bodyGeometry.Arrange(this, resourceCreator); }