当前位置: 首页>>代码示例>>C#>>正文


C# Geometry.IsEmpty方法代码示例

本文整理汇总了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();
            }
        }
开发者ID:nlh774,项目名称:DotNetReferenceSource,代码行数:41,代码来源:HitTestWithPointDrawingContextWalker.cs

示例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();
        }
开发者ID:bhanu475,项目名称:XamlMapControl,代码行数:9,代码来源:MapItemsControl.WPF.cs

示例3: GetFirstItemInGeometry

        public object GetFirstItemInGeometry(Geometry geometry)
        {
            if (geometry == null || geometry.IsEmpty())
            {
                return null;
            }

            return Items.Cast<object>().FirstOrDefault(i => IsItemInGeometry(i, geometry));
        }
开发者ID:bhanu475,项目名称:XamlMapControl,代码行数:9,代码来源:MapItemsControl.WPF.cs

示例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(); 
            }
        }
开发者ID:sjyanxin,项目名称:WPFSource,代码行数:63,代码来源:HitTestWithGeometryDrawingContextWalker.cs

示例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));
            }
        }
开发者ID:nlh774,项目名称:DotNetReferenceSource,代码行数:30,代码来源:PathGeometry.cs


注:本文中的System.Windows.Media.Geometry.IsEmpty方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。