COLORREF CColors::GetColor (Colors col, bool bDefault) { switch (col) { case DryRunConflict: { COLORREF c = GetColor(Conflict); static const int scale = 150; long red = MulDiv(GetRValue(c),(255-scale),255); long green = MulDiv(GetGValue(c),(255-scale),255); long blue = MulDiv(GetBValue(c),(255-scale),255); return RGB(red, green, blue); } break; default: { CRegDWORD* setting = GetRegistrySetting (col); if (setting == NULL) return RGB (0,0,0); return bDefault ? setting->defaultValue() : (DWORD)*setting; } } }
Color CColors::GetColor (GDIPlusColor id, bool bDefault) { CRegDWORD* setting = GetRegistrySetting (id); if (setting == NULL) return Color(); if (bDefault) return setting->defaultValue(); if (setting->exists()) return (DWORD)*setting; CRegDWORD* lecagySetting = GetLegacyRegistrySetting (id); if ((lecagySetting != NULL) && lecagySetting->exists()) { Color result; result.SetFromCOLORREF (*lecagySetting); return result; } return setting->defaultValue(); }