//
//
//
//
// $Revision$
//
using ICSharpCode.TextEditor.Document;
using System;
using System.Drawing;
namespace ICSharpCode.CodeCoverage
{
///
/// Custom text marker used when highlighting code coverage lines.
///
public class CodeCoverageTextMarker : TextMarker
{
public CodeCoverageTextMarker(int offset, CodeCoverageSequencePoint sequencePoint) : this(offset, GetSequencePointLength(sequencePoint), sequencePoint)
{
}
public CodeCoverageTextMarker(int offset, int length, CodeCoverageSequencePoint sequencePoint) : base(offset, length, TextMarkerType.SolidBlock, GetSequencePointColor(sequencePoint), GetSequencePointForeColor(sequencePoint))
{
}
public static int GetSequencePointLength(CodeCoverageSequencePoint sequencePoint)
{
return sequencePoint.EndColumn - sequencePoint.Column;
}
public static Color GetSequencePointColor(CodeCoverageSequencePoint sequencePoint)
{
if (sequencePoint.VisitCount > 0) {
return CodeCoverageOptions.VisitedColor;
}
return CodeCoverageOptions.NotVisitedColor;
}
public static Color GetSequencePointForeColor(CodeCoverageSequencePoint sequencePoint)
{
if (sequencePoint.VisitCount > 0) {
return CodeCoverageOptions.VisitedForeColor;
}
return CodeCoverageOptions.NotVisitedForeColor;
}
}
}