| File: System\Windows\Media\IDrawingContent.cs | Web Access |
| Project: src\wpf\src\Microsoft.DotNet.Wpf\src\PresentationCore\PresentationCore.csproj (PresentationCore) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. // // // Description: IDrawingContent defines a common interface for representations // of content populated by a DrawingContext. Currently // Drawing content can be represented by either RenderData // or DrawingGroups. // using System.Windows.Media.Composition; namespace System.Windows.Media { /// <summary> /// IDrawingContent defines a common interface for representations /// of content populated by a DrawingContext. Currently /// Drawing content can be represented by either RenderData /// or DrawingGroup graphs. /// </summary> internal interface IDrawingContent : DUCE.IResource { /// <summary> /// Returns the bounding box occupied by the content /// </summary> /// <returns> /// Bounding box occupied by the content /// </returns> Rect GetContentBounds(BoundsDrawingContextWalker ctx); /// <summary> /// Forward the current value of the content to the DrawingContextWalker /// methods. /// </summary> /// <param name="walker"> DrawingContextWalker to forward content to. </param> void WalkContent(DrawingContextWalker walker); /// <summary> /// Determines whether or not a point exists within the content /// </summary> /// <param name="point"> Point to hit-test for. </param> /// <returns> /// 'true' if the point exists within the content, 'false' otherwise /// </returns> bool HitTestPoint(Point point); /// <summary> /// Hit-tests a geometry against this content /// </summary> /// <param name="geometry"> PathGeometry to hit-test for. </param> /// <returns> /// IntersectionDetail describing the result of the hit-test /// </returns> IntersectionDetail HitTestGeometry(PathGeometry geometry); /// <summary> /// Propagates an event handler to Freezables referenced by /// the content. /// </summary> /// <param name="handler"> Event handler to propagate </param> /// <param name="adding"> 'true' to add the handler, 'false' to remove it </param> void PropagateChangedHandler(EventHandler handler, bool adding); } }