public SvgAnimatedPreserveAspectRatio(string attr, SvgElement ownerElement) { _baseVal = new SvgPreserveAspectRatio(attr, ownerElement); _animVal = _baseVal; }
public SvgAnimatedPreserveAspectRatio(string attr, SvgElement ownerElement) { baseVal = new SvgPreserveAspectRatio(attr, ownerElement); animVal = baseVal; }
private Transform GetAspectRatioTransform(SvgPreserveAspectRatio spar, SvgRect sourceBounds, SvgRect elementBounds) { double[] transformArray = spar.FitToViewBox(sourceBounds, elementBounds); double translateX = transformArray[0]; double translateY = transformArray[1]; double scaleX = transformArray[2]; double scaleY = transformArray[3]; Transform translateMatrix = null; Transform scaleMatrix = null; if ((float)translateX >= 0 && (float)translateY >= 0) { translateMatrix = new TranslateTransform(translateX, translateY); } if ((float)scaleX != 1.0f && (float)scaleY != 1.0) { scaleMatrix = new ScaleTransform(scaleX, scaleY); } if (translateMatrix != null && scaleMatrix != null) { // Create a TransformGroup to contain the transforms // and add the transforms to it. TransformGroup transformGroup = new TransformGroup(); transformGroup.Children.Add(scaleMatrix); transformGroup.Children.Add(translateMatrix); return transformGroup; } else if (translateMatrix != null) { return translateMatrix; } else if (scaleMatrix != null) { return scaleMatrix; } return null; }