public void Arrange(ICanvasResourceCreator resourceCreator)
        {
            if (!needsArrange)
            {
                return;
            }

            geometry.Arrange(this, resourceCreator);

            needsArrange = false;
        }
示例#2
0
        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);
        }