From 36b6d4b3412f3646b653de6c6f98d6936875afd4 Mon Sep 17 00:00:00 2001 From: PABLO ERICK CARDOSO Date: Mon, 4 May 2020 19:38:41 +0100 Subject: [PATCH 1/3] fix border --- Xamarin.Forms.NeoControls/NeoFrame.cs | 1 + Xamarin.Forms.NeoControls/NeoView.xaml.cs | 13 ++++++++++--- .../Xamarin.Forms.NeoControls.csproj | 6 ------ 3 files changed, 11 insertions(+), 9 deletions(-) diff --git a/Xamarin.Forms.NeoControls/NeoFrame.cs b/Xamarin.Forms.NeoControls/NeoFrame.cs index 74d2f8b..504dab8 100644 --- a/Xamarin.Forms.NeoControls/NeoFrame.cs +++ b/Xamarin.Forms.NeoControls/NeoFrame.cs @@ -56,6 +56,7 @@ protected virtual void DrawBorder(RenderContext renderContext, SKPath path) { renderContext.Paint.Style = SKPaintStyle.Stroke; renderContext.Paint.Color = BorderColor.ToSKColor(); + renderContext.Paint.Shader = null; renderContext.Paint.StrokeWidth = Convert.ToSingle(BorderWidth); renderContext.Canvas.DrawPath(path, renderContext.Paint); } diff --git a/Xamarin.Forms.NeoControls/NeoView.xaml.cs b/Xamarin.Forms.NeoControls/NeoView.xaml.cs index 488e454..9d8029b 100644 --- a/Xamarin.Forms.NeoControls/NeoView.xaml.cs +++ b/Xamarin.Forms.NeoControls/NeoView.xaml.cs @@ -148,6 +148,8 @@ protected virtual void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEve canvas.Clear(); using (var paint = new SKPaint()) { + + paint.IsAntialias = true; paint.Style = SKPaintStyle.Fill; @@ -162,11 +164,13 @@ protected virtual void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEve if (drawOuterShadow) DrawOuterShadow(context); - SetPaintColor(context); + //SetPaintColor(context); DrawControl(context); if (drawInnerShadow) DrawInnerShadow(context); + + } } @@ -186,6 +190,8 @@ protected virtual void DrawInnerShadow(RenderContext context) { var fShadowDistance = Convert.ToSingle(ShadowDistance); var darkShadow = Color.FromRgba(DarkShadowColor.R, DarkShadowColor.G, DarkShadowColor.B, Elevation); + var lightShadow = Color.FromRgba(LightShadowColor.R, LightShadowColor.G, LightShadowColor.B, Elevation); + var drawPadding = ShadowDrawMode == ShadowDrawMode.InnerOnly ? 0 : Convert.ToSingle(ShadowBlur * 2); @@ -201,7 +207,7 @@ protected virtual void DrawInnerShadow(RenderContext context) context.Paint.Style = SKPaintStyle.Stroke; context.Paint.StrokeWidth = fShadowDistance; - context.Paint.ImageFilter = LightShadowColor.ToSKDropShadow(-fShadowDistance); + context.Paint.ImageFilter = lightShadow.ToSKDropShadow(-fShadowDistance); context.Canvas.DrawPath(path, context.Paint); context.Paint.ImageFilter = darkShadow.ToSKDropShadow(fShadowDistance); @@ -213,6 +219,7 @@ protected virtual void DrawOuterShadow(RenderContext context) { var fShadowDistance = Convert.ToSingle(ShadowDistance); var darkShadow = Color.FromRgba(DarkShadowColor.R, DarkShadowColor.G, DarkShadowColor.B, Elevation); + var lightShadow = Color.FromRgba(LightShadowColor.R, LightShadowColor.G, LightShadowColor.B, Elevation); var drawPadding = Convert.ToSingle(ShadowBlur * 2); context.Paint.MaskFilter = SKMaskFilter.CreateBlur(SKBlurStyle.Normal, Convert.ToSingle(ShadowBlur)); @@ -226,7 +233,7 @@ protected virtual void DrawOuterShadow(RenderContext context) context.Paint.ImageFilter = darkShadow.ToSKDropShadow(fShadowDistance); context.Canvas.DrawPath(path, context.Paint); - context.Paint.ImageFilter = LightShadowColor.ToSKDropShadow(-fShadowDistance); + context.Paint.ImageFilter = lightShadow.ToSKDropShadow(-fShadowDistance); context.Canvas.DrawPath(path, context.Paint); } } diff --git a/Xamarin.Forms.NeoControls/Xamarin.Forms.NeoControls.csproj b/Xamarin.Forms.NeoControls/Xamarin.Forms.NeoControls.csproj index 275657e..fe71c99 100644 --- a/Xamarin.Forms.NeoControls/Xamarin.Forms.NeoControls.csproj +++ b/Xamarin.Forms.NeoControls/Xamarin.Forms.NeoControls.csproj @@ -19,12 +19,6 @@ - - - MSBuild:UpdateDesignTimeXaml - - - True From 8d4208ad8a612bb7437af9e73f635075bcc4b910 Mon Sep 17 00:00:00 2001 From: pabloprogramador Date: Tue, 5 May 2020 12:40:47 +0100 Subject: [PATCH 2/3] Update Xamarin.Forms.NeoControls/NeoView.xaml.cs Co-authored-by: Felipe Baltazar --- Xamarin.Forms.NeoControls/NeoView.xaml.cs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/Xamarin.Forms.NeoControls/NeoView.xaml.cs b/Xamarin.Forms.NeoControls/NeoView.xaml.cs index 9d8029b..732dee3 100644 --- a/Xamarin.Forms.NeoControls/NeoView.xaml.cs +++ b/Xamarin.Forms.NeoControls/NeoView.xaml.cs @@ -148,8 +148,6 @@ protected virtual void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEve canvas.Clear(); using (var paint = new SKPaint()) { - - paint.IsAntialias = true; paint.Style = SKPaintStyle.Fill; @@ -254,4 +252,4 @@ private static void OnInnerViewChanged(BindableObject bindable, object oldValue, } } } -} \ No newline at end of file +} From 829d0c0ff3578b608cae70ec888d6c1e7fd56199 Mon Sep 17 00:00:00 2001 From: pabloprogramador Date: Tue, 5 May 2020 12:41:18 +0100 Subject: [PATCH 3/3] Update Xamarin.Forms.NeoControls/NeoView.xaml.cs Co-authored-by: Felipe Baltazar --- Xamarin.Forms.NeoControls/NeoView.xaml.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Xamarin.Forms.NeoControls/NeoView.xaml.cs b/Xamarin.Forms.NeoControls/NeoView.xaml.cs index 732dee3..3ad5bad 100644 --- a/Xamarin.Forms.NeoControls/NeoView.xaml.cs +++ b/Xamarin.Forms.NeoControls/NeoView.xaml.cs @@ -167,8 +167,6 @@ protected virtual void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEve if (drawInnerShadow) DrawInnerShadow(context); - - } }