AutoPatientInfoRecorder/src/AntdUI/Lib/SVG/Clipping and Masking/SvgClipPath.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
// THIS FILE IS PART OF SVG PROJECT
// THE SVG PROJECT IS AN OPENSOURCE LIBRARY LICENSED UNDER THE MS-PL License.
// COPYRIGHT (C) svg-net. ALL RIGHTS RESERVED.
// GITHUB: https://github.com/svg-net/SVG
using AntdUI.Svg.Transforms;
using System.Drawing;
using System.Drawing.Drawing2D;
namespace AntdUI.Svg
{
/// <summary>
/// Defines a path that can be used by other <see cref="ISvgClipable"/> elements.
/// </summary>
public sealed class SvgClipPath : SvgElement
{
public override string ClassName { get => "clipPath"; }
private bool _pathDirty = true;
/// <summary>
/// Specifies the coordinate system for the clipping path.
/// </summary>
[SvgAttribute("clipPathUnits")]
public SvgCoordinateUnits ClipPathUnits { get; set; }
/// <summary>
/// Initializes a new instance of the <see cref="SvgClipPath"/> class.
/// </summary>
public SvgClipPath()
{
ClipPathUnits = SvgCoordinateUnits.Inherit;
}
private GraphicsPath cachedClipPath = null;
/// <summary>
/// Gets this <see cref="SvgClipPath"/>'s region to be used as a clipping region.
/// </summary>
/// <returns>A new <see cref="Region"/> containing the <see cref="Region"/> to be used for clipping.</returns>
public Region GetClipRegion(SvgVisualElement owner)
{
if (cachedClipPath == null || _pathDirty)
{
cachedClipPath = new GraphicsPath();
foreach (SvgElement element in Children)
{
CombinePaths(cachedClipPath, element);
}
_pathDirty = false;
}
var result = cachedClipPath;
if (ClipPathUnits == SvgCoordinateUnits.ObjectBoundingBox)
{
result = (GraphicsPath)cachedClipPath.Clone();
using (var transform = new Matrix())
{
后面还有 75 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。