Initial Commit
This commit is contained in:
61
Common/Palettes/HsbPalette.cs
Normal file
61
Common/Palettes/HsbPalette.cs
Normal file
@@ -0,0 +1,61 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using Microsoft.Research.DynamicDataDisplay.Common.Auxiliary;
|
||||
using System.ComponentModel;
|
||||
using System.Windows.Media;
|
||||
|
||||
namespace Microsoft.Research.DynamicDataDisplay.Common.Palettes
|
||||
{
|
||||
public sealed class HSBPalette : IPalette
|
||||
{
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="HSBPalette"/> class.
|
||||
/// </summary>
|
||||
public HSBPalette() { }
|
||||
|
||||
private double start = 0;
|
||||
[DefaultValue(0.0)]
|
||||
public double Start
|
||||
{
|
||||
get { return start; }
|
||||
set
|
||||
{
|
||||
if (start != value)
|
||||
{
|
||||
start = value;
|
||||
Changed.Raise(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private double width = 360;
|
||||
[DefaultValue(360.0)]
|
||||
public double Width
|
||||
{
|
||||
get { return width; }
|
||||
set
|
||||
{
|
||||
if (width != value)
|
||||
{
|
||||
width = value;
|
||||
Changed.Raise(this);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#region IPalette Members
|
||||
|
||||
public Color GetColor(double t)
|
||||
{
|
||||
Verify.IsTrue(0 <= t && t <= 1);
|
||||
|
||||
return new HsbColor(start + t * width, 1, 1).ToArgbColor();
|
||||
}
|
||||
|
||||
public event EventHandler Changed;
|
||||
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user