File: MS\Internal\Annotations\Component\IHighlightRange.cs
Web Access
Project: src\src\Microsoft.DotNet.Wpf\src\PresentationFramework\PresentationFramework.csproj (PresentationFramework)
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.
 
//
// Description: Defines IHighlightRange interface, used for communication
// between HighlightComponent and AnnotationHighlightLayer
//
 
using System.Windows.Annotations;
using System.Windows.Media;
using System.Windows.Shapes;
 
namespace MS.Internal.Annotations.Component
{
    /// <summary>
    /// represents the data for one highlight range -
    /// foreground Color, bachground Color,
    /// selected foreground Color, selected background Color
    /// last modified time
    /// </summary>
    internal interface IHighlightRange
    {
        #region Internal Methods
 
        /// <summary>
        /// Adds a new shape to the children of this range
        /// </summary>
        /// <param name="child">the new child</param>
        void AddChild(Shape child);
 
 
        /// <summary>
        /// Removes a shape from the children of this range
        /// </summary>
        /// <param name="child">the new child</param>
        void RemoveChild(Shape child);
 
 
        #endregion Internal Methods
 
        //------------------------------------------------------
        //
        //  Internal properties
        //
        //------------------------------------------------------
 
        #region internal Properties
 
        /// <summary>
        /// Highlight color
        /// </summary>
        Color Background
        {
            get;
        }
 
        /// <summary>
        /// Highlight color when selected
        /// </summary>
        Color SelectedBackground
        {
            get;
        }
 
        /// <summary>
        /// TextSegments of this highlight
        /// </summary>
        TextAnchor Range
        {
            get;
        }
 
        /// <summary>
        /// Priority of this highlight
        /// </summary>
        int Priority
        {
            get;
        }
 
        /// <summary>
        /// If true - highlight only the content of tables, figures and floaters
        /// </summary>
        bool HighlightContent
        {
            get;
        }
 
        #endregion Internal Properties
    }
}