chore: use file-scoped namespace

This commit is contained in:
NaBian committed 2022-03-13 20:28:58 +08:00
1 parent 99d2fafb72
commit bbf1b7d4c6
748 files changed
+57929 -58678

No files matched your search

@@ -2,87 +2,86 @@
using System.Windows.Media;
using HandyControl.Expression.Drawing;
namespace HandyControl.Expression.Media
namespace HandyControl.Expression.Media;
public abstract class GeometrySource<TParameters> : IGeometrySource
where TParameters : IGeometrySourceParameters
{
public abstract class GeometrySource<TParameters> : IGeometrySource
where TParameters : IGeometrySourceParameters
private bool _geometryInvalidated;
protected Geometry CachedGeometry;
public bool InvalidateGeometry(InvalidateGeometryReasons reasons)
{
private bool _geometryInvalidated;
protected Geometry CachedGeometry;
public bool InvalidateGeometry(InvalidateGeometryReasons reasons)
if ((reasons & InvalidateGeometryReasons.TemplateChanged) != 0) CachedGeometry = null;
if (!_geometryInvalidated)
{
if ((reasons & InvalidateGeometryReasons.TemplateChanged) != 0) CachedGeometry = null;
if (!_geometryInvalidated)
{
_geometryInvalidated = true;
return true;
}
return false;
_geometryInvalidated = true;
return true;
}
public bool UpdateGeometry(IGeometrySourceParameters parameters, Rect layoutBounds)
{
var force = false;
if (parameters is TParameters parameters1)
{
var rect = ComputeLogicalBounds(layoutBounds, parameters1);
force |= LayoutBounds != layoutBounds || LogicalBounds != rect;
if (_geometryInvalidated || force)
{
LayoutBounds = layoutBounds;
LogicalBounds = rect;
force |= UpdateCachedGeometry(parameters1);
force |= ApplyGeometryEffect(parameters1, force);
}
}
return false;
}
_geometryInvalidated = false;
return force;
public bool UpdateGeometry(IGeometrySourceParameters parameters, Rect layoutBounds)
{
var force = false;
if (parameters is TParameters parameters1)
{
var rect = ComputeLogicalBounds(layoutBounds, parameters1);
force |= LayoutBounds != layoutBounds || LogicalBounds != rect;
if (_geometryInvalidated || force)
{
LayoutBounds = layoutBounds;
LogicalBounds = rect;
force |= UpdateCachedGeometry(parameters1);
force |= ApplyGeometryEffect(parameters1, force);
}
}
public Geometry Geometry { get; private set; }
_geometryInvalidated = false;
return force;
}
public Rect LayoutBounds { get; private set; }
public Geometry Geometry { get; private set; }
public Rect LogicalBounds { get; private set; }
public Rect LayoutBounds { get; private set; }
private bool ApplyGeometryEffect(IGeometrySourceParameters parameters, bool force)
public Rect LogicalBounds { get; private set; }
private bool ApplyGeometryEffect(IGeometrySourceParameters parameters, bool force)
{
var flag = false;
var cachedGeometry = CachedGeometry;
var geometryEffect = parameters.GetGeometryEffect();
if (geometryEffect != null)
{
var flag = false;
var cachedGeometry = CachedGeometry;
var geometryEffect = parameters.GetGeometryEffect();
if (geometryEffect != null)
{
if (force)
{
flag = true;
geometryEffect.InvalidateGeometry(InvalidateGeometryReasons.ParentInvalidated);
}
if (geometryEffect.ProcessGeometry(CachedGeometry))
{
flag = true;
cachedGeometry = geometryEffect.OutputGeometry;
}
}
if (!Equals(Geometry, cachedGeometry))
if (force)
{
flag = true;
Geometry = cachedGeometry;
geometryEffect.InvalidateGeometry(InvalidateGeometryReasons.ParentInvalidated);
}
return flag;
if (geometryEffect.ProcessGeometry(CachedGeometry))
{
flag = true;
cachedGeometry = geometryEffect.OutputGeometry;
}
}
protected virtual Rect ComputeLogicalBounds(Rect layoutBounds, IGeometrySourceParameters parameters)
if (!Equals(Geometry, cachedGeometry))
{
return GeometryHelper.Inflate(layoutBounds, -parameters.GetHalfStrokeThickness());
flag = true;
Geometry = cachedGeometry;
}
protected abstract bool UpdateCachedGeometry(TParameters parameters);
return flag;
}
}
protected virtual Rect ComputeLogicalBounds(Rect layoutBounds, IGeometrySourceParameters parameters)
{
return GeometryHelper.Inflate(layoutBounds, -parameters.GetHalfStrokeThickness());
}
protected abstract bool UpdateCachedGeometry(TParameters parameters);
}