public void StartLayout(RectangleF bounds, LayoutDirection layoutDirection, LayoutDirection flowDirection) { _maxSize = 0; _views = new List <IViewLayoutBox>(); _viewBounds = bounds; _layoutToView = LayoutTransform(_viewBounds, layoutDirection, flowDirection); _viewToLayout = _layoutToView.Inverted(); _layoutBounds = _viewToLayout.Transform(bounds); _layoutOrigin = _layoutBounds.Location; }
public LinearLayoutBuilder(LayoutBuilder layoutBuilder, LinearLayoutDirection layoutDirection, LinearLayoutDirection?flowDirection = null, RectangleF?bounds = null) { Assert.Argument(layoutBuilder, nameof(layoutBuilder)).NotNull(); flowDirection = flowDirection ?? DefaultFlowDirection(layoutDirection); _layoutBuilder = layoutBuilder; _maxSize = 0; var layoutBounds = bounds ?? _layoutBuilder.OuterBounds; _layoutBounds = new RectangleF(layoutBounds.Location, SizeF.Empty); _layoutToView = LayoutTransform(layoutBounds, layoutDirection, flowDirection.Value); _viewToLayout = _layoutToView.Inverted(); _layoutSpaceBounds = _viewToLayout.Transform(layoutBounds); _layoutOrigin = _layoutSpaceBounds.Location; }