/// <summary>
/// See <see cref="BaseColorCache.OnCachePalette"/> for more details.
/// </summary>
protected override void OnCachePalette(IList <Color> palette)
{
Int32 paletteIndex = 0;
minBucketIndex = quality;
maxBucketIndex = 0;
foreach (Color color in palette)
{
Int64 bucketIndex = GetColorBucketIndex(color);
BucketInfo bucket = buckets[bucketIndex] ?? new BucketInfo();
bucket.AddColor(paletteIndex++, color);
buckets[bucketIndex] = bucket;
if (bucketIndex < minBucketIndex)
{
minBucketIndex = bucketIndex;
}
if (bucketIndex > maxBucketIndex)
{
maxBucketIndex = bucketIndex;
}
}
}