Profiles - Dispose WIP

This commit is contained in:
SpoinkyNL committed 2020-08-09 22:34:45 +02:00
1 parent c2034c5de7
commit ce353fd84f
26 files changed
+246 -105

No files matched your search

@@ -48,7 +48,7 @@ namespace Artemis.Plugins.LayerBrushes.Color
public override void Render(SKCanvas canvas, SKImageInfo canvasInfo, SKPath path, SKPaint paint)
{
if (Layer.General.FillType.CurrentValue == LayerFillType.Clip)
if (Layer.General.ResizeMode.CurrentValue == LayerResizeMode.Clip)
{
var layerBounds = new SKRect(0, 0, Layer.Bounds.Width, Layer.Bounds.Height);
if (layerBounds != _shaderBounds)
@@ -1,4 +1,5 @@
using System.ComponentModel;
using Artemis.Core.Events;
using Artemis.Core.Models.Profile;
using Artemis.Core.Models.Profile.Colors;
using Artemis.Core.Models.Profile.LayerProperties.Attributes;
@@ -24,9 +25,13 @@ namespace Artemis.Plugins.LayerBrushes.Color
[PropertyDescription(DisableKeyframes = true, Description = "How many times to repeat the colors in the selected gradient", MinInputValue = 0, MaxInputValue = 10)]
public IntLayerProperty GradientRepeat { get; set; }
#region Linear greadient properties
[PropertyDescription(Name = "Rotation", Description = "Change the rotation of the linear gradient without affecting the rotation of the shape", InputAffix = "°")]
public FloatLayerProperty LinearGradientRotation { get; set; }
#endregion
protected override void PopulateDefaults()
{
GradientType.DefaultValue = LayerBrushes.Color.GradientType.Solid;
@@ -35,26 +40,53 @@ namespace Artemis.Plugins.LayerBrushes.Color
GradientRepeat.DefaultValue = 0;
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
GradientType.BaseValueChanged += (sender, args) => UpdateVisibility();
GradientType.BaseValueChanged += OnBaseValueChanged;
if (ProfileElement is Layer layer)
layer.General.FillType.BaseValueChanged += (sender, args) => UpdateVisibility();
layer.General.ResizeMode.BaseValueChanged += OnBaseValueChanged;
UpdateVisibility();
}
protected override void DisableProperties()
{
GradientType.BaseValueChanged -= OnBaseValueChanged;
if (ProfileElement is Layer layer)
layer.General.ResizeMode.BaseValueChanged -= OnBaseValueChanged;
}
private void OnBaseValueChanged(object sender, LayerPropertyEventArgs e)
{
UpdateVisibility();
}
private void UpdateVisibility()
{
var normalRender = false;
if (ProfileElement is Layer layer)
normalRender = layer.General.ResizeMode.CurrentValue == LayerResizeMode.Normal;
Color.IsHidden = GradientType.BaseValue != LayerBrushes.Color.GradientType.Solid;
Gradient.IsHidden = GradientType.BaseValue == LayerBrushes.Color.GradientType.Solid;
GradientRepeat.IsHidden = GradientType.BaseValue == LayerBrushes.Color.GradientType.Solid;
if (ProfileElement is Layer layer)
GradientTileMode.IsHidden = layer.General.FillType.CurrentValue != LayerFillType.Clip;
else
GradientTileMode.IsHidden = true;
RadialGradientCenterOffset.IsHidden = GradientType.BaseValue != LayerBrushes.Color.GradientType.RadialGradient;
RadialGradientResizeMode.IsHidden = GradientType.BaseValue != LayerBrushes.Color.GradientType.RadialGradient;
GradientTileMode.IsHidden = normalRender;
RadialGradientResizeMode.IsHidden = !normalRender || GradientType.BaseValue != LayerBrushes.Color.GradientType.RadialGradient;
}
#region Radial gradient properties
[PropertyDescription(Name = "Center offset", Description = "Change the position of the gradient by offsetting it from the center of the layer", InputAffix = "%")]
public SKPointLayerProperty RadialGradientCenterOffset { get; set; }
[PropertyDescription(Name = "Resize mode", Description = "How to make the gradient adjust to scale changes")]
public EnumLayerProperty<RadialGradientResizeMode> RadialGradientResizeMode { get; set; }
#endregion
}
public enum GradientType
@@ -71,4 +103,13 @@ namespace Artemis.Plugins.LayerBrushes.Color
[Description("Sweep Gradient")]
SweepGradient
}
public enum RadialGradientResizeMode
{
[Description("Stretch or shrink")]
Stretch,
[Description("Maintain a circle")]
MaintainCircle
}
}
@@ -20,7 +20,7 @@ namespace Artemis.Plugins.LayerBrushes.ColorRgbNet
TestProperty.DefaultValue = "I was empty before!";
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}
@@ -43,7 +43,7 @@ namespace Artemis.Plugins.LayerBrushes.Noise
AnimationSpeed.DefaultValue = 25f;
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
ColorType.BaseValueChanged += (sender, args) => UpdateVisibility();
UpdateVisibility();
@@ -14,7 +14,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
{
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
@@ -21,7 +21,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
};
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
ColorMatrix.IsHidden = true;
}
@@ -13,7 +13,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
{
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}
@@ -13,7 +13,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
{
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}
@@ -22,7 +22,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
GlowColor.DefaultValue = new SKColor(255, 255, 255);
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}
@@ -13,7 +13,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
{
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}
@@ -40,7 +40,7 @@ namespace Artemis.Plugins.LayerEffects.Filter
Opacity.DefaultValue = 100f;
}
protected override void OnPropertiesInitialized()
protected override void EnableProperties()
{
}
}