UI - Large amount of memory improvements in the VMs

Core - Minor memory improvements
This commit is contained in:
SpoinkyNL committed 2020-06-19 21:48:26 +02:00
1 parent 63cb6d211e
commit 24afb6b0f5
26 files changed
+243 -191

No files matched your search

@@ -1,4 +1,5 @@
using System;
using System.ComponentModel;
using Artemis.Core.Plugins.LayerBrush.Abstract;
using SkiaSharp;
@@ -13,14 +14,19 @@ namespace Artemis.Plugins.LayerBrushes.Color
public override void EnableLayerBrush()
{
Layer.RenderPropertiesUpdated += (sender, args) => CreateShader();
Properties.GradientType.BaseValueChanged += (sender, args) => CreateShader();
Properties.Color.BaseValueChanged += (sender, args) => CreateShader();
Properties.Gradient.BaseValue.PropertyChanged += (sender, args) => CreateShader();
Layer.RenderPropertiesUpdated += HandleShaderChange;
Properties.GradientType.BaseValueChanged += HandleShaderChange;
Properties.Color.BaseValueChanged += HandleShaderChange;
Properties.Gradient.BaseValue.PropertyChanged += BaseValueOnPropertyChanged;
}
public override void DisableLayerBrush()
{
Layer.RenderPropertiesUpdated -= HandleShaderChange;
Properties.GradientType.BaseValueChanged -= HandleShaderChange;
Properties.Color.BaseValueChanged -= HandleShaderChange;
Properties.Gradient.BaseValue.PropertyChanged -= BaseValueOnPropertyChanged;
_paint?.Dispose();
_shader?.Dispose();
_paint = null;
@@ -50,6 +56,16 @@ namespace Artemis.Plugins.LayerBrushes.Color
canvas.DrawPath(path, paint);
}
private void BaseValueOnPropertyChanged(object sender, PropertyChangedEventArgs e)
{
CreateShader();
}
private void HandleShaderChange(object? sender, EventArgs e)
{
CreateShader();
}
private void CreateShader()
{
var center = new SKPoint(_shaderBounds.MidX, _shaderBounds.MidY);