diff options
author | Kevin Walzer <kw@codebykevin.com> | 2023-07-10 14:32:30 (GMT) |
---|---|---|
committer | Kevin Walzer <kw@codebykevin.com> | 2023-07-10 14:32:30 (GMT) |
commit | 37bb1ca906e8d0e3bccadcc5aa71067ae6aa7633 (patch) | |
tree | c54d1100c400f4931391318bc1d326cc6402bad4 /macosx | |
parent | fc0a544cf351a412a8e260897df072c6a903f050 (diff) | |
download | tk-37bb1ca906e8d0e3bccadcc5aa71067ae6aa7633.zip tk-37bb1ca906e8d0e3bccadcc5aa71067ae6aa7633.tar.gz tk-37bb1ca906e8d0e3bccadcc5aa71067ae6aa7633.tar.bz2 |
Update to striped background on Aqua with semantic colors - patch from Christopher Chavez
Diffstat (limited to 'macosx')
-rw-r--r-- | macosx/tkMacOSXColor.c | 14 | ||||
-rw-r--r-- | macosx/tkMacOSXColor.h | 2 |
2 files changed, 16 insertions, 0 deletions
diff --git a/macosx/tkMacOSXColor.c b/macosx/tkMacOSXColor.c index 2d481f9..e383a94 100644 --- a/macosx/tkMacOSXColor.c +++ b/macosx/tkMacOSXColor.c @@ -23,6 +23,7 @@ static Tcl_HashTable systemColors; static size_t numSystemColors; static size_t rgbColorIndex; static size_t controlAccentIndex; +static size_t controlAlternatingRowIndex; static size_t selectedTabTextIndex; static size_t pressedButtonTextIndex; static Bool useFakeAccentColor = NO; @@ -71,6 +72,7 @@ void initColorTable() if ([colorName isEqualToString:@"controlAccentColor"]) { useFakeAccentColor = YES; } else if ( ![colorName isEqualToString:@"selectedTabTextColor"] + && ![colorName isEqualToString:@"controlAlternatingRowColor"] && ![colorName isEqualToString:@"pressedButtonTextColor"]) { /* Uncomment to print all unsupported colors: */ /* printf("Unsupported color %s\n", colorName.UTF8String); */ @@ -148,6 +150,9 @@ void initColorTable() hPtr = Tcl_FindHashEntry(&systemColors, "ControlAccentColor"); entry = (SystemColorDatum *) Tcl_GetHashValue(hPtr); controlAccentIndex = entry->index; + hPtr = Tcl_FindHashEntry(&systemColors, "ControlAlternatingRowColor"); + entry = (SystemColorDatum *) Tcl_GetHashValue(hPtr); + controlAlternatingRowIndex = entry->index; hPtr = Tcl_FindHashEntry(&systemColors, "SelectedTabTextColor"); entry = (SystemColorDatum *) Tcl_GetHashValue(hPtr); selectedTabTextIndex = entry->index; @@ -332,6 +337,15 @@ GetRGBA( color = [[NSColor colorForControlTint: [NSColor currentControlTint]] colorUsingColorSpace:sRGB]; #endif + } else if (entry->index == controlAlternatingRowIndex) { + /* + * Color which is now called alternatingContentBackgroundColor on 10.14. + * Taken from NSColor.controlAlternatingRowBackgroundColors (which was + * replaced by NSColor.alternatingContentBackgroundColors on 10.14). + */ + color = [[NSColor colorWithCatalogName:@"System" + colorName:@"controlAlternatingRowColor"] + colorUsingColorSpace:sRGB]; } else if (entry->index == selectedTabTextIndex) { if (OSVersion > 100600 && OSVersion < 110000) { color = [[NSColor whiteColor] colorUsingColorSpace:sRGB]; diff --git a/macosx/tkMacOSXColor.h b/macosx/tkMacOSXColor.h index 77f1558..ab5a3b4 100644 --- a/macosx/tkMacOSXColor.h +++ b/macosx/tkMacOSXColor.h @@ -187,6 +187,8 @@ static SystemColorDatum systemColorData[] = { {"PlaceholderTextColor", semantic, 0, "grayColor", 0, NULL }, {"SeparatorColor", semantic, 0, "grayColor", 0, NULL }, {"UnemphasizedSelectedTextBackgroundColor", semantic, 0, "grayColor", 0, NULL }, +/* This color is available since 10.3, so the fallback is unused */ +{"ControlAlternatingRowColor", semantic, 0, "grayColor" , 0, NULL }, {NULL, rgbColor, 0, NULL, 0, NULL } }; |