So, in RenderItem in GUIThumbnailPanel the following code:
seems to set the color for the text to be drawn under the thumbnail. The problem is that the way it is currently written, unfocusedAlpha completely overwrites the alpha channel of the text color, where what I think is probably intended in a blend. If (for instance) somebody wanted to make the text completely transparent, they would have to also set unfocusedAlpha to 0x00, which would result in the entire non-focused item becoming transparent, right?
The fix, I think, is to scale the alpha channel in question, something like:
That lets me set my text to transparent if I want, though it now requires an integer multiplication.
Code:
long dwColor = _textColor;
if (pItem.Selected) dwColor = _selectedColor;
if (pItem.IsPlayed) dwColor = _playedColor;
if (!bFocus && Focus) dwColor = Color.FromArgb(_unfocusedAlpha, Color.FromArgb((int)dwColor)).ToArgb();
seems to set the color for the text to be drawn under the thumbnail. The problem is that the way it is currently written, unfocusedAlpha completely overwrites the alpha channel of the text color, where what I think is probably intended in a blend. If (for instance) somebody wanted to make the text completely transparent, they would have to also set unfocusedAlpha to 0x00, which would result in the entire non-focused item becoming transparent, right?
The fix, I think, is to scale the alpha channel in question, something like:
Code:
long dwColor = _textColor;
if (pItem.Selected) dwColor = _selectedColor;
if (pItem.IsPlayed) dwColor = _playedColor;
if (!bFocus && Focus)
{
Color c = Color.FromArgb((int)dwColor);
dwColor = Color.FromArgb(c.A * _unfocusedAlpha, c.R, c.G, c.B).ToArgb();
}
That lets me set my text to transparent if I want, though it now requires an integer multiplication.