public void BeginRender(WpfDrawingDocument drawingDocument) { if (_svgRenderer == null) { _svgRenderer = new WpfRenderingHelper(this); } _drawingDocument = drawingDocument; }
public Transform GetTransform(WpfDrawingDocument document, Drawing hitDrawing) { var displayTransform = (Transform)document.DisplayTransform.Inverse; if (_parent == null) { return(displayTransform); } var splitPaths = this.SplitPath; if (splitPaths == null || splitPaths.Length == 0) { return(displayTransform); } foreach (var splitPath in splitPaths) { System.Diagnostics.Trace.WriteLine(splitPath); } var uniqueId = SvgObject.GetUniqueId(hitDrawing); TransformGroup transforms = new TransformGroup(); transforms.Children.Add(displayTransform); var drawingLayer = document.GetDrawingLayer(); if (drawingLayer != null && drawingLayer.Transform != null) { var transform = drawingLayer.Transform; if (!transform.Value.IsIdentity) { transforms.Children.Add(transform); } } for (int i = 0; i < splitPaths.Length; i++) { var splitPath = splitPaths[i]; if (!string.IsNullOrWhiteSpace(uniqueId) && string.Equals(splitPath, uniqueId, StringComparison.OrdinalIgnoreCase)) { continue; } var drawing = document.GetByUniqueId(splitPath) as DrawingGroup; if (drawing != null && drawing.Transform != null) { if (drawing.Transform != drawingLayer.Transform) { transforms.Children.Add(drawing.Transform); } } } return(transforms); }
public void EndRender() { _svgRenderer = null; _drawingDocument = null; }
public void BeginDrawing(WpfDrawingDocument drawingDocument) { _drawingDocument = drawingDocument; }