in src/Desktop/ColorContrastAnalyzer/ImageCollection.cs [40:75]
public ColorContrastResult RunColorContrastCalculation()
{
ColorContrastResult result = null;
ColorContrastRunner runner = new ColorContrastRunner(_colorContrastConfig);
Color previousColor = null;
foreach (var pixel in GetBinaryRowSearchIterator())
{
if (IsNewRow(pixel)) runner.OnRowBegin();
runner.OnPixel(pixel.Color, previousColor);
previousColor = pixel.Color;
if (IsEndOfRow(pixel))
{
var newResult = runner.OnRowEnd();
if (result == null) result = newResult;
if (newResult.ConfidenceValue() == ColorContrastResult.Confidence.High)
{
result = newResult;
break;
}
else if (newResult.ConfidenceValue() == ColorContrastResult.Confidence.Mid &&
result.ConfidenceValue() == ColorContrastResult.Confidence.Low)
{
result = newResult;
}
}
}
return result;
}