mirror of
https://github.com/Artemis-RGB/Artemis
synced 2025-12-13 05:48:35 +00:00
Gradient editor - Code style
This commit is contained in:
parent
702fd7a4e1
commit
f1dfb4aad8
@ -30,18 +30,6 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
ColorStopViewModels.CollectionChanged += ColorStopViewModelsOnCollectionChanged;
|
ColorStopViewModels.CollectionChanged += ColorStopViewModelsOnCollectionChanged;
|
||||||
}
|
}
|
||||||
|
|
||||||
#region Overrides of DialogViewModelBase
|
|
||||||
|
|
||||||
/// <inheritdoc />
|
|
||||||
public override void OnDialogClosed(object sender, DialogClosingEventArgs e)
|
|
||||||
{
|
|
||||||
ColorGradient.CollectionChanged -= ColorGradientOnCollectionChanged;
|
|
||||||
ColorStopViewModels.CollectionChanged -= ColorStopViewModelsOnCollectionChanged;
|
|
||||||
base.OnDialogClosed(sender, e);
|
|
||||||
}
|
|
||||||
|
|
||||||
#endregion
|
|
||||||
|
|
||||||
public BindableCollection<ColorStopViewModel> ColorStopViewModels { get; }
|
public BindableCollection<ColorStopViewModel> ColorStopViewModels { get; }
|
||||||
|
|
||||||
public ColorStopViewModel? SelectedColorStopViewModel
|
public ColorStopViewModel? SelectedColorStopViewModel
|
||||||
@ -65,11 +53,20 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
set => SetAndNotify(ref _previewWidth, value);
|
set => SetAndNotify(ref _previewWidth, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
public ColorGradient Stops
|
public ColorGradient Stops => ColorGradient;
|
||||||
|
|
||||||
|
#region Overrides of DialogViewModelBase
|
||||||
|
|
||||||
|
/// <inheritdoc />
|
||||||
|
public override void OnDialogClosed(object sender, DialogClosingEventArgs e)
|
||||||
{
|
{
|
||||||
get => ColorGradient;
|
ColorGradient.CollectionChanged -= ColorGradientOnCollectionChanged;
|
||||||
|
ColorStopViewModels.CollectionChanged -= ColorStopViewModelsOnCollectionChanged;
|
||||||
|
base.OnDialogClosed(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#endregion
|
||||||
|
|
||||||
public void AddColorStop(object sender, MouseEventArgs e)
|
public void AddColorStop(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
Canvas? child = VisualTreeUtilities.FindChild<Canvas>((DependencyObject) sender, null);
|
Canvas? child = VisualTreeUtilities.FindChild<Canvas>((DependencyObject) sender, null);
|
||||||
@ -87,9 +84,6 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
|
|
||||||
public void RemoveColorStop(ColorStopViewModel colorStopViewModel)
|
public void RemoveColorStop(ColorStopViewModel colorStopViewModel)
|
||||||
{
|
{
|
||||||
if (colorStopViewModel == null)
|
|
||||||
return;
|
|
||||||
|
|
||||||
ColorStopViewModels.Remove(colorStopViewModel);
|
ColorStopViewModels.Remove(colorStopViewModel);
|
||||||
ColorGradient.Remove(colorStopViewModel.ColorStop);
|
ColorGradient.Remove(colorStopViewModel.ColorStop);
|
||||||
|
|
||||||
@ -99,18 +93,18 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
|
|
||||||
public void SpreadColorStops()
|
public void SpreadColorStops()
|
||||||
{
|
{
|
||||||
var stops = ColorStopViewModels.OrderBy(x => x.OffsetFloat);
|
List<ColorStopViewModel> stops = ColorStopViewModels.OrderBy(x => x.OffsetFloat).ToList();
|
||||||
int index = 0;
|
int index = 0;
|
||||||
foreach (ColorStopViewModel stop in stops)
|
foreach (ColorStopViewModel stop in stops)
|
||||||
{
|
{
|
||||||
stop.OffsetFloat = index / ((float)stops.Count() - 1);
|
stop.OffsetFloat = index / ((float) stops.Count - 1);
|
||||||
index++;
|
index++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void RotateColorStops()
|
public void RotateColorStops()
|
||||||
{
|
{
|
||||||
var stops = ColorStopViewModels.OrderByDescending(x => x.OffsetFloat);
|
List<ColorStopViewModel> stops = ColorStopViewModels.OrderByDescending(x => x.OffsetFloat).ToList();
|
||||||
float lastStopPosition = stops.Last().OffsetFloat;
|
float lastStopPosition = stops.Last().OffsetFloat;
|
||||||
foreach (ColorStopViewModel stop in stops)
|
foreach (ColorStopViewModel stop in stops)
|
||||||
{
|
{
|
||||||
@ -122,10 +116,7 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
|
|
||||||
public void FlipColorStops()
|
public void FlipColorStops()
|
||||||
{
|
{
|
||||||
foreach (ColorStopViewModel stop in ColorStopViewModels)
|
foreach (ColorStopViewModel stop in ColorStopViewModels) stop.OffsetFloat = 1 - stop.OffsetFloat;
|
||||||
{
|
|
||||||
stop.OffsetFloat = 1 - stop.OffsetFloat;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ToggleSeam()
|
public void ToggleSeam()
|
||||||
@ -133,7 +124,7 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
if (ColorGradient.IsSeamless())
|
if (ColorGradient.IsSeamless())
|
||||||
{
|
{
|
||||||
// Remove the last stop
|
// Remove the last stop
|
||||||
var stop = ColorStopViewModels.OrderBy(x => x.OffsetFloat).Last();
|
ColorStopViewModel? stop = ColorStopViewModels.OrderBy(x => x.OffsetFloat).Last();
|
||||||
|
|
||||||
if (stop == SelectedColorStopViewModel) SelectColorStop(null);
|
if (stop == SelectedColorStopViewModel) SelectColorStop(null);
|
||||||
|
|
||||||
@ -159,6 +150,7 @@ namespace Artemis.UI.Shared.Screens.GradientEditor
|
|||||||
SpreadColorStops();
|
SpreadColorStops();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void ClearGradient()
|
public void ClearGradient()
|
||||||
{
|
{
|
||||||
ColorGradient.Clear();
|
ColorGradient.Clear();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user