public override Brush GetBrush(double opacity, SVG svg, SVGRender svgRender, Rect bounds) { var db = new DrawingBrush() { Drawing = svgRender.LoadGroup(m_elements, null, false) }; db.TileMode = TileMode.Tile; db.Transform = PatternTransform; db.Viewport = new Rect(X, Y, Width / bounds.Width, Height / bounds.Height); db.ViewportUnits = BrushMappingMode.RelativeToBoundingBox; return(db); }
public override Brush GetBrush(double opacity, SVG svg, SVGRender svgRender, Rect bounds) { if (Brush != null) { return(Brush); } foreach (var server in m_pattternPaintServers) { svgRender.SVG.PaintServers.AddServer(server.Key, server.Value); } var db = new DrawingBrush() { Drawing = svgRender.LoadGroup(m_elements, null, false) }; db.TileMode = TileMode.Tile; db.Transform = PatternTransform; db.Viewport = new Rect(X, Y, Width / bounds.Width, Height / bounds.Height); db.ViewportUnits = BrushMappingMode.RelativeToBoundingBox; Brush = db; return(db); }