public void ShouldLinearlyInterpolateColorsInGradientPattern(float x) { var pattern = new GradientPattern(VColor.White, VColor.Black); AssertActualEqualToExpected( pattern.GetColorAt(CreatePoint(x, 0, 0)), VColor.LinearRGB(1 - x, 1 - x, 1 - x)); }
public void TestPatternGradientCreate() { var pattern = new GradientPattern(Color.White, Color.Black); Assert.AreEqual(pattern.PatternAt(Point.Zero), Color.White); Assert.AreEqual(pattern.PatternAt(new Point(0.25, 0, 0)), new Color(0.75, 0.75, 0.75)); Assert.AreEqual(pattern.PatternAt(new Point(0.5, 0, 0)), new Color(0.5, 0.5, 0.5)); Assert.AreEqual(pattern.PatternAt(new Point(0.75, 0, 0)), new Color(0.25, 0.25, 0.25)); }
public void AGradientLinearlyInterpolatesBetweenTwoColors() { var pattern = new GradientPattern(Color.WHITE, Color.BLACK); Assert.AreEqual(Color.WHITE, pattern.PatternAt(new Point(0, 0, 0))); Assert.AreEqual(new Color(0.75, 0.75, 0.75), pattern.PatternAt(new Point(0.25, 0, 0))); Assert.AreEqual(new Color(0.5, 0.5, 0.5), pattern.PatternAt(new Point(0.5, 0, 0))); Assert.AreEqual(new Color(0.25, 0.25, 0.25), pattern.PatternAt(new Point(0.75, 0, 0))); }
public void GradientLinearlyInterpolatesBetweenColors() { var pattern = new GradientPattern(ColourFactory.White, ColourFactory.Black); Assert.AreEqual(ColourFactory.White, pattern.PatternAt(new Point(0, 0, 0))); Assert.AreEqual(new Colour(0.75,0.75,0.75), pattern.PatternAt(new Point(0.25, 0, 0))); Assert.AreEqual(new Colour(0.5, 0.5, 0.5), pattern.PatternAt(new Point(0.5, 0, 0))); Assert.AreEqual(new Colour(0.25, 0.25, 0.25), pattern.PatternAt(new Point(0.75, 0, 0))); }
public void GradientPattern() { var p = new GradientPattern(Color.White, Color.Black); Assert.That.VectorsAreEqual(p.At(Point(0f, 0f, 0f)), Color.White); Assert.That.VectorsAreEqual(p.At(Point(.25f, 0f, 0f)), new Color(.75f, .75f, .75f)); Assert.That.VectorsAreEqual(p.At(Point(.5f, 0f, 0f)), new Color(.5f, .5f, .5f)); Assert.That.VectorsAreEqual(p.At(Point(.75f, 0f, 0f)), new Color(.25f, .25f, .25f)); }
public void TestGradientPatternTransform() { var pattern = new GradientPattern(_white, _black); Assert.AreEqual(_white, pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.AreEqual(new Color(0.75, 0.75, 0.75), pattern.ColorAt(Tuple.Point(0.25, 0, 0))); Assert.AreEqual(new Color(0.5, 0.5, 0.5), pattern.ColorAt(Tuple.Point(0.5, 0, 0))); Assert.AreEqual(new Color(0.25, 0.25, 0.25), pattern.ColorAt(Tuple.Point(1.75, 0, 0))); }
public void Gradient() { GradientPattern pattern = new GradientPattern(SolidPattern.White, SolidPattern.Black); Assert.True(Color.White == pattern.PatternAt(new Point(0, 0, 0))); Assert.True(new Color(0.75f, 0.75f, 0.75f) == pattern.PatternAt(new Point(0.25f, 0, 0))); Assert.True(new Color(0.5f, 0.5f, 0.5f) == pattern.PatternAt(new Point(0.5f, 0, 0))); Assert.True(new Color(0.25f, 0.25f, 0.25f) == pattern.PatternAt(new Point(0.75f, 0, 0))); }
public void GradientLinearlyInterpolatesBetweenColors() { var pat = new GradientPattern(white, black); Assert.Equal(white, pat.GetColor(Vector4.CreatePosition(0, 0, 0))); Assert.Equal(new Color(0.75, 0.75, 0.75), pat.GetColor(Vector4.CreatePosition(0.25, 0, 0))); Assert.Equal(new Color(0.5, 0.5, 0.5), pat.GetColor(Vector4.CreatePosition(0.5, 0, 0))); Assert.Equal(new Color(0.25, 0.25, 0.25), pat.GetColor(Vector4.CreatePosition(0.75, 0, 0))); }
public void GradientPattern() { GradientPattern pattern = new GradientPattern(white, black); Assert.AreEqual(pattern.PatternAt(Tuple.Point(0, 0, 0)), white); Assert.AreEqual(pattern.PatternAt(Tuple.Point(0.25, 0, 0)), new Color(0.75, 0.75, 0.75)); Assert.AreEqual(pattern.PatternAt(Tuple.Point(0.5, 0, 0)), new Color(0.5, 0.5, 0.5)); Assert.AreEqual(pattern.PatternAt(Tuple.Point(0.75, 0, 0)), new Color(0.25, 0.25, 0.25)); }
public void BasicTest() { var pattern = new GradientPattern(Color.White, Color.Black); Check.That(pattern.GetColor(Helper.CreatePoint(0, 0, 0))).IsEqualTo(new Color(1, 1, 1)); Check.That(pattern.GetColor(Helper.CreatePoint(0.25, 0, 0))).IsEqualTo(new Color(0.75, 0.75, 0.75)); Check.That(pattern.GetColor(Helper.CreatePoint(0.5, 0, 0))).IsEqualTo(new Color(0.5, 0.5, 0.5)); Check.That(pattern.GetColor(Helper.CreatePoint(0.75, 0, 0))).IsEqualTo(new Color(0.25, 0.25, 0.25)); }
public void ColorAt_should_linearly_interpolate_between_colors() { var pattern = new GradientPattern(Colors.White, Colors.Black); pattern.ColorAt(new Point(0, 0, 0)).Should().Be(Colors.White); pattern.ColorAt(new Point(0.25, 0, 0)).Should().Be(new Color(0.75, 0.75, 0.75)); pattern.ColorAt(new Point(0.5, 0, 0)).Should().Be(new Color(0.5, 0.5, 0.5)); pattern.ColorAt(new Point(0.75, 0, 0)).Should().Be(new Color(0.25, 0.25, 0.25)); }
private static void TestCase05() { // A gradient linearly interpolates between colors Pattern pattern = new GradientPattern(white, black); Assert.Equal(white, pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.Equal(Tuple.Color(0.75f, 0.75f, 0.75f), pattern.ColorAt(Tuple.Point(0.25f, 0, 0))); Assert.Equal(Tuple.Color(0.5f, 0.5f, 0.5f), pattern.ColorAt(Tuple.Point(0.5f, 0, 0))); Assert.Equal(Tuple.Color(0.25f, 0.25f, 0.25f), pattern.ColorAt(Tuple.Point(0.75f, 0, 0))); }
public void Linearly_Interpolates_Between_Colors() { var pattern = new GradientPattern(Color.White, Color.Black); var unitSphere = new Sphere(); pattern.ColorAt(new Point(0, 0, 0), unitSphere).ShouldBe(Color.White); pattern.ColorAt(new Point(0.25, 0, 0), unitSphere).ShouldBe(Color.White * .75); pattern.ColorAt(new Point(0.5, 0, 0), unitSphere).ShouldBe(Color.White * .5); pattern.ColorAt(new Point(0.75, 0, 0), unitSphere).ShouldBe(Color.White * .25); }
public void T06_Gradient() { Pattern pattern = new GradientPattern(new SolidColorPattern(Color.white), new SolidColorPattern(Color.black)); Assert.AreEqual(Color.white, pattern.PatternAt(new Point(0, 0, 0))); Assert.AreEqual(new Color(0.75, 0.75, 0.75), pattern.PatternAt(new Point(0.25, 0, 0))); Assert.AreEqual(new Color(0.5, 0.5, 0.5), pattern.PatternAt(new Point(0.5, 0, 0))); Assert.AreEqual(new Color(0.25, 0.25, 0.25), pattern.PatternAt(new Point(0.75, 0, 0))); }
public void ColorAt() { var pattern = new GradientPattern(Color.White, Color.Black); Assert.Equal(Color.White, pattern.ColorAt(Point.Zero)); Assert.Equal(new Color(0.75f, 0.75f, 0.75f), pattern.ColorAt(new Point(0.25f, 0, 0))); Assert.Equal(new Color(0.5f, 0.5f, 0.5f), pattern.ColorAt(new Point(0.5f, 0, 0))); Assert.Equal(new Color(0.25f, 0.25f, 0.25f), pattern.ColorAt(new Point(0.75f, 0, 0))); Assert.Equal(Color.Black, pattern.ColorAt(new Point(1, 0, 0))); }
public void A_gradient_linearly_interpolates_between_colors() { var pattern = new GradientPattern(Color.White, Color.Black); Assert.AreEqual( new Color(1, 1, 1), pattern.ColorAt(Tuple.Point(0, 0, 0))); Assert.AreEqual( new Color(0.75, 0.75, 0.75), pattern.ColorAt(Tuple.Point(0.25, 0, 0))); Assert.AreEqual( new Color(0.5, 0.5, 0.5), pattern.ColorAt(Tuple.Point(0.5, 0, 0))); Assert.AreEqual( new Color(0.25, 0.25, 0.25), pattern.ColorAt(Tuple.Point(0.75, 0, 0))); }
public static Bitmap GenerateDebugImage(int width, int height, string message) { GradientPattern pattern = new GradientPattern(); pattern.bottomLeft = (Color)QColor.generateRandomOpaque(128, 255); pattern.bottomRight = (Color)QColor.generateRandomOpaque(128, 255); pattern.topLeft = Color.Fuchsia; pattern.topRight = Color.Fuchsia; Bitmap bmp = pattern.makeBitmap(width, height); GDIPlusRenderer r = new GDIPlusRenderer(bmp); float fontSize = Math.Min(width, height) / 10.0f; fontSize = Range.clamp(fontSize, 10, 45); using (Font f = new Font("Arial", fontSize, FontStyle.Bold)) { TextFormat tf = new TextFormat(f, Color.Black, true, Color.White, false); tf.render(r, message, 0, height / 2); bmp = r.RenderTargetAsGDIBitmap(); } return(bmp); }
public static IOutputTarget Gradient(string text, System.ConsoleColor[] gradient = null, GradientPattern pattern = GradientPattern.Letter) => _target.Gradient(text, gradient, pattern);
private void cmbPatternType_SelectedIndexChanged(object sender, EventArgs e) { if ((string)cmbPatternType.SelectedItem == "Simple") { if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabSimple) == false) { tabPatternProperties.TabPages.Add(tabSimple); tabPatternProperties.SelectedTab = tabSimple; } } if ((string)cmbPatternType.SelectedItem == "Picture") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabPicture) == false) { tabPatternProperties.TabPages.Add(tabPicture); tabPatternProperties.SelectedTab = tabPicture; } } if ((string)cmbPatternType.SelectedItem == "Gradient") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabGradient) == false) { tabPatternProperties.TabPages.Add(tabGradient); tabPatternProperties.SelectedTab = tabGradient; } } if ((string)cmbPatternType.SelectedItem == "Hatch") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch) == false) { tabPatternProperties.TabPages.Add(tabHatch); tabPatternProperties.SelectedTab = tabHatch; } } if (_ignoreChanges) return; int index = ccPatterns.Patterns.IndexOf(ccPatterns.SelectedPattern); if (index == -1) return; IPattern oldPattern = ccPatterns.SelectedPattern; if ((string)cmbPatternType.SelectedItem == "Simple") { SimplePattern sp = new SimplePattern(); if (oldPattern != null) sp.CopyOutline(oldPattern); ccPatterns.Patterns[index] = sp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = sp; UpdateSimplePatternControls(sp); } if ((string)cmbPatternType.SelectedItem == "Picture") { PicturePattern pp = new PicturePattern(); if (oldPattern != null) pp.CopyOutline(oldPattern); ccPatterns.Patterns[index] = pp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = pp; UpdatePicturePatternControls(pp); } if ((string)cmbPatternType.SelectedItem == "Gradient") { GradientPattern gp = new GradientPattern(); if (oldPattern != null) gp.CopyOutline(oldPattern); ccPatterns.Patterns[index] = gp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = gp; UpdateGradientPatternControls(gp); } if ((string)cmbPatternType.SelectedItem == "Hatch") { HatchPattern hp = new HatchPattern(); if (oldPattern != null) hp.CopyOutline(oldPattern); ccPatterns.Patterns[index] = hp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = hp; } }
public static Tuple <World, Camera> Create(int width, int height) { var world = new World(); var cam = new Camera(width, height, Math.PI / 3); cam.Transform = Transform.View( Vector4.CreatePosition(0, 10, 0), Vector4.CreatePosition(0, 0.25, 0), Vector4.CreateDirection(0, 0, -1)); cam.ProgressMonitorFactory = (_rows, _cols) => new DefaultProgressMonitor(); var l1 = new PointLight(Vector4.CreatePosition(-20, 3.5, -50), Color.White); var l2 = new PointLight(Vector4.CreatePosition(10, 100, 500), new Color(1, 1, 1)); var g1 = new GradientPattern( new Color(0, 1, 0), new Color(0, 0, 1)); g1.Transform = Transform.RotateZ(-0.2) * Transform.RotateY(Math.PI / 5) * Transform.Translate(-1, 0, 0) * Transform.Scale(2, 2, 2); var s0 = new Sphere() { Transform = Transform.Scale(2, 2, 2), Material = new Material() { Pattern = g1, Reflective = 0.9, Transparency = 0.4, RefractiveIndex = 1.5, Ambient = 0.01, Diffuse = 0.2, Specular = 1.0, Shininess = 350, }, }; var s00 = new Sphere() { Transform = Transform.Scale(1.8, 1.8, 1.8), Material = new Material() { Pattern = g1, Reflective = 0.9, Transparency = 0.8, RefractiveIndex = 1.0022, Ambient = 0.001, Diffuse = 0.1, Specular = 5.0, Shininess = 350, }, }; var group1 = new Group(); const int n = 16; for (var i = 0; i < n; i++) { var r = (2 * Math.PI / n) * i; var s = new Sphere(); var g = 0.5 + (i * 0.5 / n); var col = new Color(0.605, g, 0.869); s.Material = new Material() { // Color = new Color(0.605, 0.904, 0.869), Color = col, Diffuse = 0.9, Ambient = 0.1, Specular = 0.2, Shininess = 20, }; var offset = rng.NextDouble() * 2.0; s.Transform = Transform.RotateY(r) * Transform.Translate(0, 0, -5 + offset) * Transform.Scale(0.5, 0.5, 0.5); group1.Add(s); } group1.Transform = Transform.RotateX(Math.PI / 3) * Transform.RotateY(Math.PI / 1); var floor = new Plane(); floor.Material = new Material() { Color = new Color(1, 1, 1), Ambient = 1.0, Specular = 0, Diffuse = 0, }; floor.Transform = Transform.Translate(0, -100, 0); floor.Material = new Material() { Specular = 0, Pattern = new StripePattern( new Color(0.22, 0.22, 0.22), new Color(0.41, 0.41, 0.41)) { Transform = Transform.RotateY(Math.PI / 4) * Transform.Scale(10, 1, 1), }, }; world.Objects.Add(s0); world.Objects.Add(s00); world.Objects.Add(group1); world.Objects.Add(floor); world.Lights.Add(l1); // world.Lights.Add(l2); return(Tuple.Create(world, cam)); }
///------------------------------------------------------------------------------------------------- /// <summary> Main entry-point for this application. </summary> /// /// <remarks> Kemp, 1/18/2019. </remarks> /// /// <param name="args"> An array of command-line argument strings. </param> ///------------------------------------------------------------------------------------------------- static void Main(string[] args) { World defaultWorld = new World(); defaultWorld.AddLight(new LightPoint(new Point(-10, 10, -10), new Color(1, 1, 1))); Sphere s1 = new Sphere(); s1.Material = new Material(); s1.Material.Color = new Color(0.8, 1.0, 0.6); s1.Material.Diffuse = new Color(0.7, 0.7, 0.7); s1.Material.Specular = new Color(0.2, 0.2, 0.2); Sphere s2 = new Sphere(); s2.Transform = MatrixOps.CreateScalingTransform(0.5, 0.5, 0.5); defaultWorld.AddObject(s1); defaultWorld.AddObject(s2); Color white = new Color(1, 1, 1); Color black = new Color(0, 0, 0); Sphere s = new Sphere(); { Material m = new Material(); m.Pattern = new StripePattern(white, black); m.Ambient = new Color(1, 1, 1); m.Diffuse = new Color(0, 0, 0); m.Specular = new Color(0, 0, 0); m.Shininess = 0; RayTracerLib.Vector eyev = new RayTracerLib.Vector(0, 0, -1); RayTracerLib.Vector normalv = new RayTracerLib.Vector(0, 0, -1); Point p1 = new Point(0.9, 0, 0); Point p2 = new Point(1.1, 0, 0); LightPoint light = new LightPoint(new Point(0, 0, -10), new Color(1, 1, 1)); Color c1 = Ops.Lighting(m, s, light, p1, eyev, normalv, false); Color c2 = Ops.Lighting(m, s, light, p2, eyev, normalv, false); bool foo1 = (c1.Equals(white)); bool foo2 = (c2.Equals(black)); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~"); } //public void PatternWithObjectTransformation() { Shape shape = new Sphere() { Transform = MatrixOps.CreateScalingTransform(2, 2, 2) }; Pattern pattern = new TestPattern { Transform = MatrixOps.CreateTranslationTransform(0.5, 1, 1.5) }; Color c = pattern.PatternAtObject(shape, new Point(2.5, 3, 3.5)); bool foo1 = (c.Equals(new Color(0.75, 0.5, 0.25))); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~"); } //public void GradientInterpolates() { Pattern pattern = new GradientPattern(black, white); bool foo1 = (pattern.PatternAt(new Point(0, 0, 0)).Equals(black)); bool foo2 = (pattern.PatternAt(new Point(0.25, 0, 0)).Equals(new Color(0.25, 0.25, 0.25))); bool foo3 = (pattern.PatternAt(new Point(0.5, 0, 0)).Equals(new Color(0.5, 0.5, 0.5))); bool foo4 = (pattern.PatternAt(new Point(0.75, 0, 0)).Equals(new Color(0.75, 0.75, 0.75))); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~"); } { Pattern pattern = new CheckedPattern(black, white); bool foo1 = (pattern.PatternAt(new Point(0, 0, 0)).Equals(black)); bool foo2 = (pattern.PatternAt(new Point(0.99, 0, 0)).Equals(black)); bool foo3 = (pattern.PatternAt(new Point(1.01, 0, 0)).Equals(white)); Console.WriteLine("~~~~~~~~~~~~~~~~~~~~~"); } Console.Write("Press Enter to finish ... "); Console.Read(); }
private void CmbPatternTypeSelectedIndexChanged(object sender, EventArgs e) { if ((string)cmbPatternType.SelectedItem == "Simple") { if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabSimple) == false) { tabPatternProperties.TabPages.Add(tabSimple); tabPatternProperties.SelectedTab = tabSimple; } } if ((string)cmbPatternType.SelectedItem == "Picture") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabPicture) == false) { tabPatternProperties.TabPages.Add(tabPicture); tabPatternProperties.SelectedTab = tabPicture; } } if ((string)cmbPatternType.SelectedItem == "Gradient") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabHatch)) { tabPatternProperties.TabPages.Remove(tabHatch); } if (tabPatternProperties.TabPages.Contains(tabGradient) == false) { tabPatternProperties.TabPages.Add(tabGradient); tabPatternProperties.SelectedTab = tabGradient; } } if ((string)cmbPatternType.SelectedItem == "Hatch") { if (tabPatternProperties.TabPages.Contains(tabSimple)) { tabPatternProperties.TabPages.Remove(tabSimple); } if (tabPatternProperties.TabPages.Contains(tabPicture)) { tabPatternProperties.TabPages.Remove(tabPicture); } if (tabPatternProperties.TabPages.Contains(tabGradient)) { tabPatternProperties.TabPages.Remove(tabGradient); } if (tabPatternProperties.TabPages.Contains(tabHatch) == false) { tabPatternProperties.TabPages.Add(tabHatch); tabPatternProperties.SelectedTab = tabHatch; } } if (_ignoreChanges) { return; } int index = ccPatterns.Patterns.IndexOf(ccPatterns.SelectedPattern); if (index == -1) { return; } IPattern oldPattern = ccPatterns.SelectedPattern; if ((string)cmbPatternType.SelectedItem == "Simple") { SimplePattern sp = new SimplePattern(); if (oldPattern != null) { sp.CopyOutline(oldPattern); } ccPatterns.Patterns[index] = sp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = sp; UpdateSimplePatternControls(sp); } if ((string)cmbPatternType.SelectedItem == "Picture") { PicturePattern pp = new PicturePattern(); if (oldPattern != null) { pp.CopyOutline(oldPattern); } ccPatterns.Patterns[index] = pp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = pp; UpdatePicturePatternControls(pp); } if ((string)cmbPatternType.SelectedItem == "Gradient") { GradientPattern gp = new GradientPattern(); if (oldPattern != null) { gp.CopyOutline(oldPattern); } ccPatterns.Patterns[index] = gp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = gp; UpdateGradientPatternControls(gp); } if ((string)cmbPatternType.SelectedItem == "Hatch") { HatchPattern hp = new HatchPattern(); if (oldPattern != null) { hp.CopyOutline(oldPattern); } ccPatterns.Patterns[index] = hp; ccPatterns.RefreshList(); ccPatterns.SelectedPattern = hp; } }
public void Given_gradient_pattern(string id, string aId, string bId) { patterns[id] = new GradientPattern(colors[aId], colors[bId]); }