IGeometrySourceExtensions.cs 890 B

123456789101112131415161718192021222324252627282930
  1. using System;
  2. using System.Windows;
  3. namespace HandyControl.Expression.Media;
  4. internal static class GeometrySourceExtensions
  5. {
  6. public static GeometryEffect GetGeometryEffect(this IGeometrySourceParameters parameters)
  7. {
  8. if (parameters is DependencyObject obj2)
  9. {
  10. var geometryEffect = GeometryEffect.GetGeometryEffect(obj2);
  11. if (geometryEffect != null && obj2.Equals(geometryEffect.Parent)) return geometryEffect;
  12. }
  13. return null;
  14. }
  15. public static double GetHalfStrokeThickness(this IGeometrySourceParameters parameter)
  16. {
  17. if (parameter.Stroke != null)
  18. {
  19. var strokeThickness = parameter.StrokeThickness;
  20. if (!double.IsNaN(strokeThickness) && !double.IsInfinity(strokeThickness))
  21. return Math.Abs(strokeThickness) / 2.0;
  22. }
  23. return 0.0;
  24. }
  25. }