1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2026-01-01 18:23:32 +00:00

Fixed editor freezing on layer updates

This commit is contained in:
SpoinkyNL 2019-12-20 23:33:36 +01:00
parent 62a9c19ae1
commit ac0655565e

View File

@ -52,7 +52,9 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization
return; return;
} }
var layerGeometry = Geometry.Empty; var group = new GeometryGroup();
group.FillRule = FillRule.Nonzero;
foreach (var led in Layer.Leds) foreach (var led in Layer.Leds)
{ {
Geometry geometry; Geometry geometry;
@ -74,9 +76,11 @@ namespace Artemis.UI.Screens.Module.ProfileEditor.Visualization
throw new ArgumentOutOfRangeException(); throw new ArgumentOutOfRangeException();
} }
layerGeometry = Geometry.Combine(layerGeometry, geometry, GeometryCombineMode.Union, null, 5, ToleranceType.Absolute); group.Children.Add(geometry);
} }
var layerGeometry = group.GetOutlinedPathGeometry();
var opacityGeometry = Geometry.Combine(Geometry.Empty, layerGeometry, GeometryCombineMode.Exclude, new TranslateTransform()); var opacityGeometry = Geometry.Combine(Geometry.Empty, layerGeometry, GeometryCombineMode.Exclude, new TranslateTransform());
layerGeometry.Freeze(); layerGeometry.Freeze();
opacityGeometry.Freeze(); opacityGeometry.Freeze();