public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize) { double desiredWidth = 0.0; UIElement eAdorner = this._relativeTo as UIElement; desiredWidth = eAdorner == null ? adorner.DesiredSize.Width : eAdorner.DesiredSize.Width; Vector adornerSizeScale = ScaledSpace.GetAdornerSizeScale(adorner); double width = (this._factor * desiredWidth + this._offset) * adornerSizeScale.X; yield return(new AdornerPlacementValue(AdornerPlacementDimension.Width, width)); }
public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize) { UIElement element = this._relativeTo as UIElement; if (element != null) { computedAdornerSize = element.DesiredSize; } Vector adornerSizeScale = ScaledSpace.GetAdornerPositionScale(adorner, zoom); double top = this._factor * computedAdornerSize.Height * adornerSizeScale.Y + this._offset; yield return(new AdornerPlacementValue(AdornerPlacementDimension.Top, top)); }
public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize) { double width = 0.0; ViewItem element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement; if (element != (ViewItem)null) { width = space.GetBoundingBox(element).Width; } Vector targetPositionScale = ScaledSpace.GetTargetPositionScale(adorner); double left = (this._factor * width + this._offset) * targetPositionScale.X; yield return(new AdornerPlacementValue(AdornerPlacementDimension.Left, left)); }
public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize) { double height = 0.0; ViewItem element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement; if (element != (ViewItem)null) { height = space.GetBoundingBox(element).Height; } Vector targetPositionScale = ScaledSpace.GetTargetPositionScale(adorner); double top = (this._factor * height + this._offset) * targetPositionScale.Y; yield return(new AdornerPlacementValue(AdornerPlacementDimension.Top, top)); }
public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize) { double height = 0.0; ViewItem element = (ViewItem)null; element = !(this._relativeTo == (ViewItem)null) ? this._relativeTo : adornedElement; if (element != (ViewItem)null) { height = space.GetBoundingBox(element).Height; } Vector targetSizeScale = ScaledSpace.GetTargetSizeScale(adorner, zoom); height = (this._factor * height + this._offset) * targetSizeScale.Y; yield return(new AdornerPlacementValue(AdornerPlacementDimension.Height, height)); }
private void SetAdornerBounds(UIElement childAdorner, ViewItem adornedElement, Point location, Vector scale) { AdornerCoordinateSpace @default = AdornerCoordinateSpaces.Default; Rect finalRect; if (adornedElement != (ViewItem)null) { finalRect = @default.GetBoundingBox(adornedElement); } else { Size desiredSize = childAdorner.DesiredSize; finalRect = new Rect(); finalRect.Width = desiredSize.Width; finalRect.Height = desiredSize.Height; } finalRect.X = location.X; finalRect.Y = location.Y; finalRect.Width *= Math.Abs(scale.X); finalRect.Height *= Math.Abs(scale.Y); childAdorner.Arrange(finalRect); }
public IEnumerable <AdornerPlacementValue> GetSizeTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size adornedElementFinalSize) { yield break; }
public IEnumerable <AdornerPlacementValue> GetPositionTerms(AdornerCoordinateSpace space, UIElement adorner, ViewItem adornedElement, Vector zoom, Size computedAdornerSize) { yield break; }