1
0
mirror of https://github.com/Artemis-RGB/Artemis synced 2025-12-13 05:48:35 +00:00

Added preset colors

This commit is contained in:
SpoinkyNL 2016-10-07 21:09:52 +02:00
parent 81a8011338
commit 481f1aab3b
3 changed files with 99 additions and 9 deletions

View File

@ -627,7 +627,7 @@
</DockPanel.Style>
<UniformGrid Rows="5" DockPanel.Dock="Left" Margin="0,0,5,0">
<TextBlock Text="Preset" VerticalAlignment="Center" />
<TextBlock Text="Presets" VerticalAlignment="Center" />
<TextBlock Text="Direction" VerticalAlignment="Center" />
<TextBlock Text="Start Point" VerticalAlignment="Center" />
<TextBlock Text="End Point" VerticalAlignment="Center" />
@ -637,10 +637,31 @@
<UniformGrid Rows="5" DockPanel.Dock="Right">
<!-- Presets -->
<UniformGrid Rows="1">
<nc:DoubleUpDown
Value="{Binding StartX, RelativeSource={RelativeSource TemplatedParent}}" />
<nc:DoubleUpDown
Value="{Binding StartY, RelativeSource={RelativeSource TemplatedParent}}" />
<Button ToolTip="Rainbow"
Command="{x:Static nc:ColorBox.SelectPreset}"
CommandParameter="{x:Static nc:ColorBox.RainbowPreset}"
VerticalAlignment="Top" Width="25"
Background="{x:Static nc:ColorBox.RainbowPreset}" />
<Button ToolTip="Police"
Command="{x:Static nc:ColorBox.SelectPreset}"
CommandParameter="{x:Static nc:ColorBox.PolicePreset}"
VerticalAlignment="Top" Width="25"
Background="{x:Static nc:ColorBox.PolicePreset}" />
<Button ToolTip="Artemis"
Command="{x:Static nc:ColorBox.SelectPreset}"
CommandParameter="{x:Static nc:ColorBox.ArtemisPreset}"
VerticalAlignment="Top" Width="25"
Background="{x:Static nc:ColorBox.ArtemisPreset}" />
<Button ToolTip="Hello Kitty"
Command="{x:Static nc:ColorBox.SelectPreset}"
CommandParameter="{x:Static nc:ColorBox.HelloKittyPreset}"
VerticalAlignment="Top" Width="25"
Background="{x:Static nc:ColorBox.HelloKittyPreset}" />
<Button ToolTip="Green to red"
Command="{x:Static nc:ColorBox.SelectPreset}"
CommandParameter="{x:Static nc:ColorBox.GreenToRedPreset}"
VerticalAlignment="Top" Width="25"
Background="{x:Static nc:ColorBox.GreenToRedPreset}" />
</UniformGrid>
<!-- Directions -->

Binary file not shown.

View File

@ -30,6 +30,7 @@ namespace ColorBox
public static RoutedCommand DirectionVertical = new RoutedCommand();
public static RoutedCommand DirectionTopLeftBottomRight = new RoutedCommand();
public static RoutedCommand DirectionTopRightBottomLeft = new RoutedCommand();
public static RoutedCommand SelectPreset = new RoutedCommand();
internal bool BrushSetInternally;
internal bool BrushTypeSetInternally;
@ -59,6 +60,29 @@ namespace ColorBox
CommandBindings.Add(new CommandBinding(DirectionVertical, DirectionVertical_Executed));
CommandBindings.Add(new CommandBinding(DirectionTopLeftBottomRight, DirectionTopLeftBottomRight_Executed));
CommandBindings.Add(new CommandBinding(DirectionTopRightBottomLeft, DirectionTopRightBottomLeft_Executed));
CommandBindings.Add(new CommandBinding(SelectPreset, SelectPreset_Executed));
}
private void SelectPreset_Executed(object sender, ExecutedRoutedEventArgs e)
{
var presetBrush = (LinearGradientBrush) e.Parameter;
if (presetBrush == null)
return;
UpdateBrush = false;
BrushSetInternally = true;
Gradients.Clear();
foreach (var presetBrushGradientStop in presetBrush.GradientStops)
Gradients.Add(presetBrushGradientStop.CloneCurrentValue());
StartX = presetBrush.StartPoint.X;
StartY = presetBrush.StartPoint.Y;
EndX = presetBrush.EndPoint.X;
EndY = presetBrush.EndPoint.Y;
UpdateBrush = true;
BrushSetInternally = false;
SetBrush();
}
private void CurrentColorTextBox_PreviewKeyDown(object sender, KeyEventArgs e)
@ -96,9 +120,9 @@ namespace ColorBox
UpdateBrush = false;
BrushSetInternally = true;
StartX = 1.0;
StartX = 0.5;
StartY = 0.0;
EndX = 1.0;
EndX = 0.5;
EndY = 1.0;
UpdateBrush = true;
@ -112,9 +136,9 @@ namespace ColorBox
BrushSetInternally = true;
StartX = 0.0;
StartY = 0.0;
StartY = 0.5;
EndX = 1.0;
EndY = 0.0;
EndY = 0.5;
UpdateBrush = true;
BrushSetInternally = false;
@ -876,6 +900,51 @@ namespace ColorBox
set { SetValue(BProperty, value); }
}
public static LinearGradientBrush RainbowPreset => new LinearGradientBrush(
new GradientStopCollection(new[]
{
new GradientStop(Colors.Red, 0),
new GradientStop(Colors.Yellow, 0.2),
new GradientStop(Colors.LawnGreen, 0.4),
new GradientStop(Colors.Blue, 0.6),
new GradientStop(Colors.Purple, 0.8),
new GradientStop(Colors.Red, 1)
}), new Point(0, 0.5), new Point(1, 0.5));
public static LinearGradientBrush PolicePreset => new LinearGradientBrush(
new GradientStopCollection(new[]
{
new GradientStop(Colors.Red, 0),
new GradientStop(Colors.Blue, 0.5),
new GradientStop(Colors.Red, 1)
}), new Point(0, 0.5), new Point(1, 0.5));
public static LinearGradientBrush ArtemisPreset => new LinearGradientBrush(
new GradientStopCollection(new[]
{
new GradientStop(Color.FromArgb(255, 7, 144, 142), 0.1),
new GradientStop(Color.FromArgb(255, 105, 255, 29), 0.3),
new GradientStop(Color.FromArgb(255, 255, 203, 16), 0.5),
new GradientStop(Color.FromArgb(255, 156, 0, 255), 0.7),
new GradientStop(Color.FromArgb(255, 7, 144, 142), 0.9)
}), new Point(0, 0), new Point(1, 1));
public static LinearGradientBrush HelloKittyPreset => new LinearGradientBrush(
new GradientStopCollection(new[]
{
new GradientStop(Color.FromArgb(255, 255, 93, 255), 0),
new GradientStop(Color.FromArgb(255, 255, 220, 255), 0.5),
new GradientStop(Color.FromArgb(255, 255, 93, 255), 1)
}), new Point(0.5, 0), new Point(0.5, 1));
public static LinearGradientBrush GreenToRedPreset => new LinearGradientBrush(
new GradientStopCollection(new[]
{
new GradientStop(Colors.LawnGreen, 0),
new GradientStop(Colors.Orange, 0.5),
new GradientStop(Colors.Red, 1)
}), new Point(0.5, 0), new Point(0.5, 1));
private static readonly DependencyProperty BProperty =
DependencyProperty.Register("B", typeof(int), typeof(ColorBox),
new FrameworkPropertyMetadata(default(int), UpdateColorRgb, RgbCoerce));