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


C# Geometry.GetBoundsInternal方法代码示例

本文整理汇总了C#中System.Windows.Media.Geometry.GetBoundsInternal方法的典型用法代码示例。如果您正苦于以下问题:C# Geometry.GetBoundsInternal方法的具体用法?C# Geometry.GetBoundsInternal怎么用?C# Geometry.GetBoundsInternal使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Windows.Media.Geometry的用法示例。


在下文中一共展示了Geometry.GetBoundsInternal方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: PushClip

        /// <summary>
        ///     PushClip -
        ///     Push a clip region, which will apply to all drawing primitives until the 
        ///     corresponding Pop call.
        /// </summary> 
        /// <param name="clipGeometry"> The Geometry to which we will clip. </param> 
        public override void PushClip(
            Geometry clipGeometry) 
        {
            // If we have an old clip, push the old clip onto the stack.
            if (_haveClip)
            { 
                // Ensure the clip stack
                if (_clipStack == null) 
                { 
                    _clipStack = new Stack<Rect>(2);
                } 

                _clipStack.Push(_clip);
            }
 
            // Push the clip type
            PushTypeStack(PushType.Clip); 
 
            if (clipGeometry != null)
            { 
                // Since _clip is a value type, we need to know whether we have a clip or not.
                // If not, we can assert that the initial value is present (Rect.Empty).
                // We should also now set the _haveClip flag.
                if (!_haveClip) 
                {
                    _haveClip = true; 
                    _clip = clipGeometry.GetBoundsInternal(null /* pen */, _transform); 
                }
                else 
                {
                    // update current clip
                    _clip.Intersect(clipGeometry.GetBoundsInternal(null /* pen */, _transform));
                } 
            }
        } 
开发者ID:sjyanxin,项目名称:WPFSource,代码行数:41,代码来源:BoundsDrawingContextWalker.cs

示例2: 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) && ((brush != null) || Pen.ContributesToBounds(pen))) 
            {
                // _bounds is always in "world" space 
                // So, we need to transform the geometry to world to bound it
                Rect geometryBounds = geometry.GetBoundsInternal(pen, _transform);

                AddTransformedBounds(ref geometryBounds); 
            }
        } 
开发者ID:sjyanxin,项目名称:WPFSource,代码行数:28,代码来源:BoundsDrawingContextWalker.cs


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