public override void Dispose() { if (geometry != null) { geometry.Dispose(); } geometry = null; if (mesh != null) { mesh.Dispose(); } mesh = null; base.Dispose(); }
public LayerShape(RenderTarget initialRenderTarget, Random random, D2DFactory d2DFactory, D2DBitmap bitmap, int count) : base(initialRenderTarget, random, d2DFactory, bitmap) { Parameters = new LayerParameters(); parameters.ContentBounds = CoinFlip ? RandomRect(CanvasWidth, CanvasHeight) : new RectF(0, 0, CanvasWidth, CanvasHeight); if (CoinFlip) { GeometricMaskShape = new GeometryShape(initialRenderTarget, random, d2DFactory, Bitmap); parameters.GeometricMask = GeometricMaskShape.Geometry; } parameters.MaskAntialiasMode = CoinFlip ? AntialiasMode.Aliased : AntialiasMode.PerPrimitive; parameters.MaskTransform = RandomMatrix3x2(); parameters.Opacity = RandomOpacity(); if (CoinFlip) parameters.OpacityBrush = RandomOpacityBrush(); parameters.Options = CoinFlip ? LayerOptions.InitializeForClearType : LayerOptions.None; for(int i = 0; i < count; i++) { shapes.Add(RandomShape()); } }
private Mesh MeshFromRandomGeometry() { if (geometry != null) { geometry.Dispose(); } geometry = new GeometryShape(RenderTarget, Random, d2DFactory, Bitmap); Mesh m = RenderTarget.CreateMesh(); TessellationSink sink = m.Open(); if (geometry.worldTransform.HasValue) { geometry.Geometry.Tessellate(sink, FlatteningTolerance, geometry.worldTransform.Value); } else { geometry.Geometry.Tessellate(sink, FlatteningTolerance); } sink.Close(); sink.Dispose(); return(m); }
public LayerShape(RenderTarget initialRenderTarget, Random random, D2DFactory d2DFactory, D2DBitmap bitmap, int count) : base(initialRenderTarget, random, d2DFactory, bitmap) { Parameters = new LayerParameters(); parameters.ContentBounds = CoinFlip ? RandomRect(CanvasWidth, CanvasHeight) : new RectF(0, 0, CanvasWidth, CanvasHeight); if (CoinFlip) { GeometricMaskShape = new GeometryShape(initialRenderTarget, random, d2DFactory, Bitmap); parameters.GeometricMask = GeometricMaskShape.Geometry; } parameters.MaskAntiAliasMode = CoinFlip ? AntiAliasMode.Aliased : AntiAliasMode.PerPrimitive; parameters.MaskTransform = RandomMatrix3x2(); parameters.Opacity = RandomOpacity(); if (CoinFlip) { parameters.OpacityBrush = RandomOpacityBrush(); } parameters.Options = CoinFlip ? LayerOptions.InitializeForClearType : LayerOptions.None; for (int i = 0; i < count; i++) { shapes.Add(RandomShape()); } }
public override void Dispose() { foreach (var shape in ChildShapes) { shape.Dispose(); } ChildShapes.Clear(); if (parameters.OpacityBrush != null) { parameters.OpacityBrush.Dispose(); } if (GeometricMaskShape != null) { GeometricMaskShape.Dispose(); } GeometricMaskShape = null; parameters.OpacityBrush = null; if (Layer != null) { Layer.Dispose(); } Layer = null; base.Dispose(); }
private Mesh MeshFromRandomGeometry() { if (geometry != null) geometry.Dispose(); geometry = new GeometryShape(RenderTarget, Random, d2DFactory, Bitmap); Mesh m = RenderTarget.CreateMesh(); TessellationSink sink = m.Open(); if (geometry.worldTransform.HasValue) geometry.Geometry.Tessellate(sink, FlatteningTolerance, geometry.worldTransform.Value); else geometry.Geometry.Tessellate(sink, FlatteningTolerance); sink.Close(); sink.Dispose(); return m; }
public override void Dispose() { if (geometry != null) geometry.Dispose(); geometry = null; if (mesh != null) mesh.Dispose(); mesh = null; base.Dispose(); }
public override void Dispose() { foreach (var shape in ChildShapes) { shape.Dispose(); } ChildShapes.Clear(); if (parameters.OpacityBrush != null) DisposeBrush(parameters.OpacityBrush); if (GeometricMaskShape != null) GeometricMaskShape.Dispose(); GeometricMaskShape = null; parameters.OpacityBrush = null; if (Layer != null) Layer.Dispose(); Layer = null; base.Dispose(); }