diff --git a/src/Avalonia.Base/Logging/LogArea.cs b/src/Avalonia.Base/Logging/LogArea.cs
index dbbb0f42bd..c049f9e763 100644
--- a/src/Avalonia.Base/Logging/LogArea.cs
+++ b/src/Avalonia.Base/Logging/LogArea.cs
@@ -44,10 +44,5 @@ namespace Avalonia.Logging
/// The log event comes from X11Platform.
///
public const string X11Platform = nameof(X11Platform);
-
- ///
- /// The log event comes from Drawing Context calls.
- ///
- public const string DrawingContext = "DrawingContext";
}
}
diff --git a/src/Avalonia.Visuals/Media/DrawingContext.cs b/src/Avalonia.Visuals/Media/DrawingContext.cs
index a1b66c1c50..8e8b116a04 100644
--- a/src/Avalonia.Visuals/Media/DrawingContext.cs
+++ b/src/Avalonia.Visuals/Media/DrawingContext.cs
@@ -1,7 +1,5 @@
using System;
using System.Collections.Generic;
-using System.Runtime.CompilerServices;
-using Avalonia.Logging;
using Avalonia.Platform;
using Avalonia.Rendering.SceneGraph;
using Avalonia.Threading;
@@ -10,77 +8,6 @@ using Avalonia.Visuals.Media.Imaging;
namespace Avalonia.Media
{
- internal static class RenderValidationExtensions
- {
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this double d)
- {
- return !(double.IsNaN(d) || double.IsInfinity(d));
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this Point p)
- {
- return p.X.IsRenderValid() && p.Y.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this Rect r)
- {
- return r.X.IsRenderValid() && r.Y.IsRenderValid() && r.Width.IsRenderValid() && r.Height.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this RoundedRect r)
- {
- return r.Rect.IsRenderValid() && r.RadiiBottomLeft.IsRenderValid() && r.RadiiBottomRight.IsRenderValid()
- && r.RadiiTopLeft.IsRenderValid() && r.RadiiTopRight.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this Vector v)
- {
- return v.Length.IsRenderValid() && v.X.IsRenderValid() && v.Y.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this IPen p)
- {
- return p.Thickness.IsRenderValid() && p.MiterLimit.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this GlyphRun g)
- {
- return g.Size.IsRenderValid() && g.FontRenderingEmSize.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this Size s)
- {
- return s.Width.IsRenderValid() && s.Height.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this BoxShadow bs)
- {
- return bs.OffsetX.IsRenderValid() && bs.OffsetY.IsRenderValid() && bs.Blur.IsRenderValid() && bs.Spread.IsRenderValid();
- }
-
- [MethodImpl(MethodImplOptions.AggressiveInlining)]
- public static bool IsRenderValid (this BoxShadows bs)
- {
- foreach (var shadow in bs)
- {
- if (!shadow.IsRenderValid())
- {
- return false;
- }
- }
-
- return true;
- }
- }
public sealed class DrawingContext : IDisposable
{
private readonly bool _ownsImpl;
@@ -169,14 +96,7 @@ namespace Avalonia.Media
{
Contract.Requires(source != null);
- if (sourceRect.IsRenderValid() && destRect.IsRenderValid())
- {
- source.Draw(this, sourceRect, destRect, bitmapInterpolationMode);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
+ source.Draw(this, sourceRect, destRect, bitmapInterpolationMode);
}
///
@@ -189,14 +109,7 @@ namespace Avalonia.Media
{
if (PenIsVisible(pen))
{
- if (pen.IsRenderValid() && p1.IsRenderValid() && p2.IsRenderValid())
- {
- PlatformImpl.DrawLine(pen, p1, p2);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
+ PlatformImpl.DrawLine(pen, p1, p2);
}
}
@@ -262,15 +175,7 @@ namespace Avalonia.Media
radiusY = Math.Min(radiusY, rect.Height / 2);
}
- if ((pen is null || (pen != null && pen.IsRenderValid())) && rect.IsRenderValid() &&
- radiusX.IsRenderValid() && radiusY.IsRenderValid() && boxShadows.IsRenderValid())
- {
- PlatformImpl.DrawRectangle(brush, pen, new RoundedRect(rect, radiusX, radiusY), boxShadows);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
+ PlatformImpl.DrawRectangle(brush, pen, new RoundedRect(rect, radiusX, radiusY), boxShadows);
}
///
@@ -308,14 +213,7 @@ namespace Avalonia.Media
var width = radiusX * 2;
var height = radiusY * 2;
- if (originX.IsRenderValid() && originY.IsRenderValid() && width.IsRenderValid() && height.IsRenderValid())
- {
- PlatformImpl.DrawEllipse(brush, pen, new Rect(originX, originY, width, height));
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
+ PlatformImpl.DrawEllipse(brush, pen, new Rect(originX, originY, width, height));
}
///
@@ -336,14 +234,7 @@ namespace Avalonia.Media
if (foreground != null)
{
- if (origin.IsRenderValid())
- {
- PlatformImpl.DrawText(foreground, origin, text.PlatformImpl);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
+ PlatformImpl.DrawText(foreground, origin, text.PlatformImpl);
}
}
@@ -430,15 +321,7 @@ namespace Avalonia.Media
public PushedState PushClip(RoundedRect clip)
{
- if (clip.IsRenderValid())
- {
- PlatformImpl.PushClip(clip);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
-
+ PlatformImpl.PushClip(clip);
return new PushedState(this, PushedState.PushedStateType.Clip);
}
@@ -449,15 +332,7 @@ namespace Avalonia.Media
/// A disposable used to undo the clip rectangle.
public PushedState PushClip(Rect clip)
{
- if (clip.IsRenderValid())
- {
- PlatformImpl.PushClip(clip);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
-
+ PlatformImpl.PushClip(clip);
return new PushedState(this, PushedState.PushedStateType.Clip);
}
@@ -481,15 +356,7 @@ namespace Avalonia.Media
public PushedState PushOpacity(double opacity)
//TODO: Eliminate platform-specific push opacity call
{
- if (opacity.IsRenderValid())
- {
- PlatformImpl.PushOpacity(opacity);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
-
+ PlatformImpl.PushOpacity(opacity);
return new PushedState(this, PushedState.PushedStateType.Opacity);
}
@@ -503,15 +370,7 @@ namespace Avalonia.Media
/// A disposable to undo the opacity mask.
public PushedState PushOpacityMask(IBrush mask, Rect bounds)
{
- if (bounds.IsRenderValid())
- {
- PlatformImpl.PushOpacityMask(mask, bounds);
- }
- else
- {
- Logger.TryGet(LogEventLevel.Warning, LogArea.DrawingContext)?.Log(this, "Invalid Draw Parameters");
- }
-
+ PlatformImpl.PushOpacityMask(mask, bounds);
return new PushedState(this, PushedState.PushedStateType.OpacityMask);
}