mirror of
https://github.com/Artemis-RGB/Artemis
synced 2026-11-11 19:36:28 +00:00
Profiles - Dispose WIP
This commit is contained in:
1 parent
1f70c65651
commit
c0bdd8cf26
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()
|
||||
{
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user