/// <summary> /// Set a gradient stop given a position and a color. Used in conjunction with SetCustomGradient(). /// </summary> /// <param name="Position">Specifies position of the color, ranging from 0.0 to 1.0.</param> /// <param name="Color">The color to be used.</param> public void AppendGradientStop(double Position, System.Drawing.Color Color) { SLColor clr = new SLColor(this.listThemeColors, this.listIndexedColors); clr.Rgb = string.Format("{0}{1}{2}", Color.R.ToString("x2"), Color.G.ToString("x2"), Color.B.ToString("x2")); GradientStop gs = new GradientStop(); gs.Position = Position; gs.Color = clr.ToSpreadsheetColor(); listGradientStops.Add(gs); }
/// <summary> /// Set a gradient stop given a position and a color. Used in conjunction with SetCustomGradient(). /// </summary> /// <param name="Position">Specifies position of the color, ranging from 0.0 to 1.0.</param> /// <param name="ColorTheme">The theme color to be used.</param> /// <param name="ColorTint">The tint applied to the theme color, ranging from -1.0 to 1.0. Negative tints darken the theme color and positive tints lighten the theme color.</param> public void AppendGradientStop(double Position, SLThemeColorIndexValues ColorTheme, double ColorTint) { SLColor clr = new SLColor(this.listThemeColors, this.listIndexedColors); clr.SetThemeColor(ColorTheme, ColorTint); GradientStop gs = new GradientStop(); gs.Position = Position; gs.Color = clr.ToSpreadsheetColor(); listGradientStops.Add(gs); }
private void SetGradientFill(SLGradientShadingStyleValues ShadingStyle, SLColor Color1, SLColor Color2) { GradientStop gs; switch (ShadingStyle) { case SLGradientShadingStyleValues.Horizontal1: this.Degree = 90; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Horizontal2: this.Degree = 270; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Horizontal3: this.Degree = 90; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 0.5; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Vertical1: gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Vertical2: this.Degree = 180; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Vertical3: gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 0.5; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalUp1: this.Degree = 45; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalUp2: this.Degree = 225; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalUp3: this.Degree = 45; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 0.5; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalDown1: this.Degree = 135; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalDown2: this.Degree = 315; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.DiagonalDown3: this.Degree = 135; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 0.5; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Corner1: this.Type = GradientValues.Path; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Corner2: this.Type = GradientValues.Path; this.Left = 1; this.Right = 1; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Corner3: this.Type = GradientValues.Path; this.Top = 1; this.Bottom = 1; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.Corner4: this.Type = GradientValues.Path; this.Left = 1; this.Right = 1; this.Top = 1; this.Bottom = 1; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; case SLGradientShadingStyleValues.FromCenter: this.Type = GradientValues.Path; this.Left = 0.5; this.Right = 0.5; this.Top = 0.5; this.Bottom = 0.5; gs = new GradientStop(); gs.Position = 0; gs.Color = Color1.ToSpreadsheetColor(); this.listGradientStops.Add(gs); gs = new GradientStop(); gs.Position = 1; gs.Color = Color2.ToSpreadsheetColor(); this.listGradientStops.Add(gs); break; } }