public BitmapSource GetBitmap(SymbolID symbolID, Color color, bool dark)
{
Dictionary<Color, CacheData> map;
CacheData data;
if (color == Colors.Black)
{
data = m_blackBitmapList[(int)symbolID];
if (data == null)
{
data = new CacheData();
m_blackBitmapList[(int)symbolID] = data;
}
}
else
{
if (!m_bitmapMap.TryGetValue(symbolID, out map))
{
map = new Dictionary<Color, CacheData>();
m_bitmapMap[symbolID] = map;
}
if (!map.TryGetValue(color, out data))
{
data = new CacheData();
map[color] = data;
}
}
if (!dark)
{
if (data.Bitmap == null)
{
BitmapSource bmp = CreateSymbolBitmap(symbolID, color, dark);
data.Bitmap = bmp;
}
return data.Bitmap;
}
else
{
if (data.BitmapDark == null)
{
BitmapSource bmp = CreateSymbolBitmap(symbolID, color, dark);
data.BitmapDark = bmp;
}
return data.BitmapDark;
}
}