本文整理汇总了C#中System.Windows.Media.Geometry.IsEmpty方法的典型用法代码示例。如果您正苦于以下问题:C# Geometry.IsEmpty方法的具体用法?C# Geometry.IsEmpty怎么用?C# Geometry.IsEmpty使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Windows.Media.Geometry
的用法示例。
在下文中一共展示了Geometry.IsEmpty方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: DrawGeometry
/// <summary>
/// DrawGeometry -
/// Draw a Geometry with the provided Brush and/or Pen.
/// If both the Brush and Pen are null this call is a no-op.
/// </summary>
/// <param name="brush">
/// The Brush with which to fill the Geometry.
/// This is optional, and can be null, in which case no fill is performed.
/// </param>
/// <param name="pen">
/// The Pen with which to stroke the Geometry.
/// This is optional, and can be null, in which case no stroke is performed.
/// </param>
/// <param name="geometry"> The Geometry to fill and/or stroke. </param>
public override void DrawGeometry(
Brush brush,
Pen pen,
Geometry geometry)
{
if (IsCurrentLayerNoOp ||(geometry == null) || geometry.IsEmpty())
{
return;
}
if (brush != null)
{
_contains |= geometry.FillContains(_point);
}
// If we have a pen and we haven't yet hit, try the widened geometry.
if ((pen != null) && !_contains)
{
_contains |= geometry.StrokeContains(pen, _point);
}
// If we've hit, stop walking.
if (_contains)
{
StopWalking();
}
}
示例2: GetItemsInGeometry
public IList<object> GetItemsInGeometry(Geometry geometry)
{
if (geometry == null || geometry.IsEmpty())
{
return null;
}
return Items.Cast<object>().Where(i => IsItemInGeometry(i, geometry)).ToList();
}
示例3: GetFirstItemInGeometry
public object GetFirstItemInGeometry(Geometry geometry)
{
if (geometry == null || geometry.IsEmpty())
{
return null;
}
return Items.Cast<object>().FirstOrDefault(i => IsItemInGeometry(i, geometry));
}
示例4: DrawGeometry
/// <summary>
/// DrawGeometry -
/// Draw a Geometry with the provided Brush and/or Pen.
/// If both the Brush and Pen are null this call is a no-op.
/// </summary>
/// <param name="brush">
/// The Brush with which to fill the Geometry.
/// This is optional, and can be null, in which case no fill is performed.
/// </param>
/// <param name="pen">
/// The Pen with which to stroke the Geometry.
/// This is optional, and can be null, in which case no stroke is performed.
/// </param>
/// <param name="geometry"> The Geometry to fill and/or stroke. </param>
public override void DrawGeometry(
Brush brush,
Pen pen,
Geometry geometry)
{
if ((geometry == null) || geometry.IsEmpty())
{
return;
}
Geometry testedGeometry;
// Transform if so prescribed
if ((_currentTransform != null) && !_currentTransform.IsIdentity)
{
testedGeometry = geometry.GetTransformedCopy(_currentTransform);
}
else
{
testedGeometry = geometry;
}
// Clip, if so prescribed
if (_currentClip != null)
{
testedGeometry = Geometry.Combine(
testedGeometry,
_currentClip,
GeometryCombineMode.Intersect,
null); // transform
}
if (brush != null)
{
AccumulateIntersectionDetail(testedGeometry.FillContainsWithDetail(_geometry));
}
// If we have a pen and we haven't yet hit, try the widened geometry.
if ((pen != null) && !_contains)
{
AccumulateIntersectionDetail(testedGeometry.StrokeContainsWithDetail(pen, _geometry));
}
// If we've hit, stop walking.
if (_contains)
{
StopWalking();
}
}
示例5: AddGeometry
/// <summary>
///
/// </summary>
public void AddGeometry(Geometry geometry)
{
if (geometry == null)
{
throw new System.ArgumentNullException("geometry");
}
if (geometry.IsEmpty())
{
return;
}
PathFigureCollection figureCollection = geometry.GetPathFigureCollection();
Debug.Assert(figureCollection != null);
PathFigureCollection figures = Figures;
if (figures == null)
{
figures = Figures = new PathFigureCollection();
}
for (int i = 0; i < figureCollection.Count; ++i)
{
figures.Add(figureCollection.Internal_GetItem(i));
}
}