public virtual void RenderShadow(Cairo.Context context, Gdk.Rectangle region, PopupPosition arrowPosition) { RenderBorder(context, region, arrowPosition); double r = CornerRadius; double x = region.X + 0.5, y = region.Y + 0.5, w = region.Width - 1, h = region.Height - 1; context.MoveTo(x + w, y + h - r); context.Arc(x + w - r, y + h - r, r, 0, Math.PI * 0.5); if (ShowArrow && (arrowPosition & PopupPosition.Bottom) != 0) { double apos = ArrowOffset; context.LineTo(x + apos + ArrowWidth / 2, y + h); context.RelLineTo(-ArrowWidth / 2, ArrowLength); context.RelLineTo(-ArrowWidth / 2, -ArrowLength); } context.Arc(x + r, y + h - r, r, Math.PI * 0.5, Math.PI); // FIXME: VV: Remove gradient features using (var lg = new Cairo.LinearGradient(0, y + h - r, 0, y + h)) { lg.AddColorStop(0.5, ShadowColor.MultiplyAlpha(0.0)); lg.AddColorStop(1, ShadowColor); context.SetSource(lg); context.LineWidth = 1; context.Stroke(); } }
public virtual void GetObjectData(SerializationInfo info, StreamingContext context) { if (FontFamily != null) { info.AddValue("FontFamily", FontFamily.ToString()); } info.AddValue("FontSize", FontSize); info.AddValue("FontWeight", FontWeight); info.AddValue("StrokeWeight", StrokeWeight); info.AddValue("TopMargin", TopMargin); info.AddValue("BottomMargin", BottomMargin); info.AddValue("LeftMargin", LeftMargin); info.AddValue("RightMargin", RightMargin); info.AddValue("EnableDesktopLyrics", EnableDesktopLyrics); info.AddValue("EnableEmbeddedLyrics", EnableEmbeddedLyrics); info.AddValue("Opacity", Opacity); info.AddValue("Foreground", Foreground.ToString()); info.AddValue("StrokeColor", StrokeColor.ToString()); info.AddValue("ShadowColor", ShadowColor.ToString()); info.AddValue("AutoForeground", AutoForeground); info.AddValue("SingleLineLyrics", SingleLineLyrics); info.AddValue("HorizontalAlignment", HorizontalAlignment); info.AddValue("VerticalAlignment", VerticalAlignment); info.AddValue("ForceTopMost", ForceTopMost); info.AddValue("HideWhenPause", HideWhenPause); info.AddValue("DesktopLyricsScreen", DesktopLyricsScreen); }
internal void WriteTo(BinaryWriter writer) { WriteAssetTo(writer, () => { writer.Write((uint)Time); for (var i = 0; i < TimeOfDayValues.Length; i++) { LightingConfigurations[TimeOfDayValues[i]].WriteTo(writer, Version); } ShadowColor.WriteTo(writer); if (Version >= 7 && Version < 11) { writer.Write(Unknown); } if (Version >= 12) { writer.Write(Unknown2.Value); Unknown3.Value.WriteTo(writer); } if (Version >= 8) { writer.Write(NoCloudFactor.Value); } }); }
void OnPaintSurface(SKPaintSurfaceEventArgs e) { var canvas = e.Surface.Canvas; var info = e.Info; canvas.Clear(); var shadowThickness = Device.RuntimePlatform == Device.iOS ? 1.5f * ShadowThickness : ShadowThickness; var blurfilter = SKMaskFilter.CreateBlur(SKBlurStyle.Solid, shadowThickness); var paint = new SKPaint { Style = SKPaintStyle.Fill, MaskFilter = blurfilter, Color = isShadowWithBackgroundColor ? ShadowColor.ToSKColor() : backgroundColorShadow.ToSKColor(), BlendMode = SKBlendMode.ColorBurn, }; var space = Device.RuntimePlatform == Device.iOS ? 3f * ShadowThickness : 2f * ShadowThickness; var rect = new SKRect( left: space, top: space, right: info.Width - space, bottom: info.Height - space); canvas.DrawRoundRect( rect: rect, rx: CornerRadius, ry: CornerRadius, paint: paint); if (isShadowWithBackgroundColor) { var paintBackgroundColor = new SKPaint { Style = SKPaintStyle.Fill, MaskFilter = blurfilter, Color = backgroundColorShadow.ToSKColor(), }; canvas.DrawRoundRect( rect: rect, rx: CornerRadius, ry: CornerRadius, paint: paintBackgroundColor); } }
//Implement ISerializable public virtual void GetObjectData(System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) { info.AddValue("Opacity", Opacity); info.AddValue("Visible", Visible); info.AddValue("Name", Name); info.AddValue("DrawShadows", DrawShadows); info.AddValue("ShadowOffset", Serialize.AddPointF(ShadowOffset)); info.AddValue("ShadowColor", ShadowColor.ToArgb().ToString()); info.AddValue("SoftShadows", SoftShadows); info.AddValue("Elements", Elements); }
private bool getShadowParameterHandler(string parameterName, out string parameterValue) { switch (parameterName) { case "ShadowTechnique": switch (ShadowTechnique) { case ShadowTechnique.None: parameterValue = "None"; break; case ShadowTechnique.Simple: parameterValue = "Simple"; break; case ShadowTechnique.Depth: parameterValue = "Depth"; break; default: parameterValue = ""; return(false); } break; case "ShadowColor": parameterValue = ShadowColor.To_0_255_String(); break; case "ShadowTextureCount": parameterValue = ShadowTextureCount.ToString(); break; case "ShadowTextureSize": parameterValue = ShadowTextureSize.ToString(); break; case "ShadowFarDistance": parameterValue = ShadowFarDistance.ToString(); break; case "Help": parameterValue = ShadowParameterHelp(); break; default: parameterValue = ""; return(false); } return(true); }
/// <summary> /// Draws the TextSprite to the CurrentRenderTarget /// </summary> /// #endregion Constructors #region Methods public void Draw(IRenderTarget target, RenderStates states) { if (Shadowed) { var oldPos = SFMLTextSprite.Position; var oldColor = SFMLTextSprite.FillColor; SFMLTextSprite.Position += ShadowOffset.Convert(); SFMLTextSprite.FillColor = ShadowColor.Convert(); SFMLTextSprite.Draw(target.SFMLTarget, states.SFMLRenderStates); SFMLTextSprite.Position = oldPos; SFMLTextSprite.FillColor = oldColor; } SFMLTextSprite.Draw(target.SFMLTarget, states.SFMLRenderStates); if (CluwneLib.Debug.DebugTextboxes) { var fr = SFMLTextSprite.GetGlobalBounds().Convert(); CluwneLib.drawHollowRectangle((int)fr.Left, (int)fr.Top, (int)fr.Width, (int)fr.Height, 1.0f, Color.Red); } }
/// <inheritdoc/> public override int GetHashCode() { return(Lines.GetHashCode() ^ (Shadow.GetHashCode() + 16) ^ ShadowColor.GetHashCode() ^ (ShadowWidth.GetHashCode() + 32) ^ (LeftLine.GetHashCode() << 1) ^ (TopLine.GetHashCode() << 2) ^ (RightLine.GetHashCode() << 3) ^ (BottomLine.GetHashCode() << 4)); }
void ReleaseDesignerOutlets() { if (AddColorButton != null) { AddColorButton.Dispose(); AddColorButton = null; } if (AntialiaseCheckbox != null) { AntialiaseCheckbox.Dispose(); AntialiaseCheckbox = null; } if (BlendMode != null) { BlendMode.Dispose(); BlendMode = null; } if (BlurCheckbox != null) { BlurCheckbox.Dispose(); BlurCheckbox = null; } if (DeviationSlider != null) { DeviationSlider.Dispose(); DeviationSlider = null; } if (DeviationValue != null) { DeviationValue.Dispose(); DeviationValue = null; } if (FillCheckbox != null) { FillCheckbox.Dispose(); FillCheckbox = null; } if (FillColor != null) { FillColor.Dispose(); FillColor = null; } if (GradientDropdown != null) { GradientDropdown.Dispose(); GradientDropdown = null; } if (HorizontalBlurSlider != null) { HorizontalBlurSlider.Dispose(); HorizontalBlurSlider = null; } if (HorizontalBlurValue != null) { HorizontalBlurValue.Dispose(); HorizontalBlurValue = null; } if (JitterCheckbox != null) { JitterCheckbox.Dispose(); JitterCheckbox = null; } if (LengthSlider != null) { LengthSlider.Dispose(); LengthSlider = null; } if (LengthValue != null) { LengthValue.Dispose(); LengthValue = null; } if (LinkedColorSelector != null) { LinkedColorSelector.Dispose(); LinkedColorSelector = null; } if (OpacitySlider != null) { OpacitySlider.Dispose(); OpacitySlider = null; } if (OpacityValue != null) { OpacityValue.Dispose(); OpacityValue = null; } if (VerticalBlurSlider != null) { VerticalBlurSlider.Dispose(); VerticalBlurSlider = null; } if (VerticalBlurValue != null) { VerticalBlurValue.Dispose(); VerticalBlurValue = null; } if (ShadowCheckbox != null) { ShadowCheckbox.Dispose(); ShadowCheckbox = null; } if (ShadowColor != null) { ShadowColor.Dispose(); ShadowColor = null; } if (LinkedShadowColor != null) { LinkedShadowColor.Dispose(); LinkedShadowColor = null; } if (ShadowOpacitySlider != null) { ShadowOpacitySlider.Dispose(); ShadowOpacitySlider = null; } if (ShadowOpacityValue != null) { ShadowOpacityValue.Dispose(); ShadowOpacityValue = null; } if (HorizontalShadowOffsetSlider != null) { HorizontalShadowOffsetSlider.Dispose(); HorizontalShadowOffsetSlider = null; } if (HorizontalShadowOffsetValue != null) { HorizontalShadowOffsetValue.Dispose(); HorizontalShadowOffsetValue = null; } if (VerticalShadowOffsetSlider != null) { VerticalShadowOffsetSlider.Dispose(); VerticalShadowOffsetSlider = null; } if (VerticalShadowOffsetValue != null) { VerticalShadowOffsetValue.Dispose(); VerticalShadowOffsetValue = null; } if (HorizontalShadowBlurSlider != null) { HorizontalShadowBlurSlider.Dispose(); HorizontalShadowBlurSlider = null; } if (HorizontalShadowBlurValue != null) { HorizontalShadowBlurValue.Dispose(); HorizontalShadowBlurValue = null; } if (VerticalShadowBlurSlider != null) { VerticalShadowBlurSlider.Dispose(); VerticalShadowBlurSlider = null; } if (VerticalShadowBlurValue != null) { VerticalShadowBlurValue.Dispose(); VerticalShadowBlurValue = null; } }
private void PaintRainbow(object sender, SKPaintSurfaceEventArgs args) { var info = args.Info; var size = info.Size; var surface = args.Surface; var canvas = args.Surface.Canvas; var canvasCenter = new SKPoint(size.Width / 2.0f, size.Height / 2.0f); // Clear the canvas and move the canvas center point to the viewport center canvas.Clear(); canvas.Translate(canvasCenter); // Draw background as a disc backgroundPaint.Color = BackgroundColor.ToSKColor(); if (HasShadow) { backgroundPaint.ImageFilter = SKImageFilter.CreateDropShadow( size.Width * 0.05f, size.Height * 0.05f, size.Width * 0.1f, size.Height * 0.1f, ShadowColor.ToSKColor(), SKDropShadowImageFilterShadowMode.DrawShadowAndForeground); canvas.Scale(0.73f, 0.73f); } var radius = size.Width * 0.5f; // the term backgroundDiscRadiusScale is there just to ensure the shadow will be visible canvas.DrawCircle(0, 0, radius, backgroundPaint); // Rotate the canvas canvas.RotateDegrees((float)(_rotation * 360.0f)); // Draw the progress arc var progressArcBoundingRect = new SKRect( -size.Width * _progressArcDiameterProportion * 0.5f, -size.Height * _progressArcDiameterProportion * 0.5f, size.Width * _progressArcDiameterProportion * 0.5f, size.Height * _progressArcDiameterProportion * 0.5f); progressPaint.StrokeWidth = size.Width * 0.08f; progressPaint.Color = _currentColor; using (var arcPath = new SKPath()) { float startAngle = 0.0f; float sweepAngle = 0.0f; if (_progress <= 0.5f) { sweepAngle = (float)(2 * _progress * 360.0f); startAngle = -90.0f; } if (_progress > 0.5d) { startAngle = ((float)_progress - 0.5f) // shift the range to (0, 0.5] * 2 // map the range to (0, 1.0] * 360.0f // map the range to (0, 360] - 90.0f; // shift the range to (-90.0, 270] sweepAngle = 270.0f - startAngle; } arcPath.AddArc(progressArcBoundingRect, startAngle, sweepAngle); canvas.DrawPath(arcPath, progressPaint); } }
void ReleaseDesignerOutlets() { if (ShadowCheckbox != null) { ShadowCheckbox.Dispose(); ShadowCheckbox = null; } if (ShadowColor != null) { ShadowColor.Dispose(); ShadowColor = null; } if (LinkedShadowColor != null) { LinkedShadowColor.Dispose(); LinkedShadowColor = null; } if (ShadowOpacitySlider != null) { ShadowOpacitySlider.Dispose(); ShadowOpacitySlider = null; } if (ShadowOpacityValue != null) { ShadowOpacityValue.Dispose(); ShadowOpacityValue = null; } if (HorizontalShadowOffsetSlider != null) { HorizontalShadowOffsetSlider.Dispose(); HorizontalShadowOffsetSlider = null; } if (HorizontalShadowOffsetValue != null) { HorizontalShadowOffsetValue.Dispose(); HorizontalShadowOffsetValue = null; } if (VerticalShadowOffsetSlider != null) { VerticalShadowOffsetSlider.Dispose(); VerticalShadowOffsetSlider = null; } if (VerticalShadowOffsetValue != null) { VerticalShadowOffsetValue.Dispose(); VerticalShadowOffsetValue = null; } if (HorizontalShadowBlurSlider != null) { HorizontalShadowBlurSlider.Dispose(); HorizontalShadowBlurSlider = null; } if (HorizontalShadowBlurValue != null) { HorizontalShadowBlurValue.Dispose(); HorizontalShadowBlurValue = null; } if (VerticalShadowBlurSlider != null) { VerticalShadowBlurSlider.Dispose(); VerticalShadowBlurSlider = null; } if (VerticalShadowBlurValue != null) { VerticalShadowBlurValue.Dispose(); VerticalShadowBlurValue = null; } if (AddColorButton != null) { AddColorButton.Dispose(); AddColorButton = null; } if (AntialiasCheckbox != null) { AntialiasCheckbox.Dispose(); AntialiasCheckbox = null; } if (BlendMode != null) { BlendMode.Dispose(); BlendMode = null; } if (BlurCheckbox != null) { BlurCheckbox.Dispose(); BlurCheckbox = null; } if (Dash1 != null) { Dash1.Dispose(); Dash1 = null; } if (Dash10 != null) { Dash10.Dispose(); Dash10 = null; } if (Dash11 != null) { Dash11.Dispose(); Dash11 = null; } if (Dash12 != null) { Dash12.Dispose(); Dash12 = null; } if (Dash13 != null) { Dash13.Dispose(); Dash13 = null; } if (Dash14 != null) { Dash14.Dispose(); Dash14 = null; } if (Dash15 != null) { Dash15.Dispose(); Dash15 = null; } if (Dash16 != null) { Dash16.Dispose(); Dash16 = null; } if (Dash2 != null) { Dash2.Dispose(); Dash2 = null; } if (Dash3 != null) { Dash3.Dispose(); Dash3 = null; } if (Dash4 != null) { Dash4.Dispose(); Dash4 = null; } if (Dash5 != null) { Dash5.Dispose(); Dash5 = null; } if (Dash6 != null) { Dash6.Dispose(); Dash6 = null; } if (Dash7 != null) { Dash7.Dispose(); Dash7 = null; } if (Dash8 != null) { Dash8.Dispose(); Dash8 = null; } if (Dash9 != null) { Dash9.Dispose(); Dash9 = null; } if (DashCheckbox != null) { DashCheckbox.Dispose(); DashCheckbox = null; } if (DeviationSlider != null) { DeviationSlider.Dispose(); DeviationSlider = null; } if (DeviationValue != null) { DeviationValue.Dispose(); DeviationValue = null; } if (EndCap != null) { EndCap.Dispose(); EndCap = null; } if (FrameCheckbox != null) { FrameCheckbox.Dispose(); FrameCheckbox = null; } if (FrameColor != null) { FrameColor.Dispose(); FrameColor = null; } if (GradientDropdown != null) { GradientDropdown.Dispose(); GradientDropdown = null; } if (HorizontalBlurSlider != null) { HorizontalBlurSlider.Dispose(); HorizontalBlurSlider = null; } if (HorizontalBlurValue != null) { HorizontalBlurValue.Dispose(); HorizontalBlurValue = null; } if (JitterCheckbox != null) { JitterCheckbox.Dispose(); JitterCheckbox = null; } if (JoinType != null) { JoinType.Dispose(); JoinType = null; } if (LengthSlider != null) { LengthSlider.Dispose(); LengthSlider = null; } if (LengthValue != null) { LengthValue.Dispose(); LengthValue = null; } if (LinkedColorSelector != null) { LinkedColorSelector.Dispose(); LinkedColorSelector = null; } if (MiterSlider != null) { MiterSlider.Dispose(); MiterSlider = null; } if (MiterValue != null) { MiterValue.Dispose(); MiterValue = null; } if (OpacitySlider != null) { OpacitySlider.Dispose(); OpacitySlider = null; } if (OpacityValue != null) { OpacityValue.Dispose(); OpacityValue = null; } if (VerticalBlurSlider != null) { VerticalBlurSlider.Dispose(); VerticalBlurSlider = null; } if (VerticalBlurValue != null) { VerticalBlurValue.Dispose(); VerticalBlurValue = null; } if (WidthSlider != null) { WidthSlider.Dispose(); WidthSlider = null; } if (WidthValue != null) { WidthValue.Dispose(); WidthValue = null; } }