Revision: 12529 http://sourceforge.net/p/skim-app/code/12529 Author: hofman Date: 2021-11-06 18:08:31 +0000 (Sat, 06 Nov 2021) Log Message: ----------- Combine CIColorInvert and CIHueAdjust into a single CIColorMatrix
Modified Paths: -------------- trunk/NSGraphics_SKExtensions.m Modified: trunk/NSGraphics_SKExtensions.m =================================================================== --- trunk/NSGraphics_SKExtensions.m 2021-11-06 10:42:17 UTC (rev 12528) +++ trunk/NSGraphics_SKExtensions.m 2021-11-06 18:08:31 UTC (rev 12529) @@ -184,6 +184,9 @@ #pragma mark - +#define A 0.329 +#define B -0.658 + extern NSArray *SKColorEffectFilters(void) { NSMutableArray *filters = [NSMutableArray array]; CIFilter *filter; @@ -194,10 +197,10 @@ } if (SKHasDarkAppearance(NSApp) && [[NSUserDefaults standardUserDefaults] boolForKey:SKInvertColorsInDarkModeKey]) { // this is almost equivalent to CIColorInvert, but with white mapped to dark gray ~ controlBackgroundColor - if ((filter = [CIFilter filterWithName:@"CIColorMatrix" keysAndValues:@"inputRVector", [CIVector vectorWithX:-0.987 Y:0.0 Z:0.0], @"inputGVector", [CIVector vectorWithX:0.0 Y:-0.987 Z:0.0], @"inputBVector", [CIVector vectorWithX:0.0 Y:0.0 Z:-0.987], @"inputBiasVector", [CIVector vectorWithX:1.0 Y:1.0 Z:1.0], nil])) + // combined with a matrix representation of CIHueAdjust with inpueAngle=M_PI + // CIColorInvert+CIHueAdjust would be A=1/3, B=-2/3 + if ((filter = [CIFilter filterWithName:@"CIColorMatrix" keysAndValues:@"inputRVector", [CIVector vectorWithX:A Y:B Z:B], @"inputGVector", [CIVector vectorWithX:B Y:A Z:B], @"inputBVector", [CIVector vectorWithX:B Y:B Z:A], @"inputBiasVector", [CIVector vectorWithX:1.0 Y:1.0 Z:1.0], nil])) [filters addObject:filter]; - if ((filter = [CIFilter filterWithName:@"CIHueAdjust" keysAndValues:kCIInputAngleKey, [NSNumber numberWithDouble:M_PI], nil])) - [filters addObject:filter]; } return filters; } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. _______________________________________________ Skim-app-commit mailing list Skim-app-commit@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/skim-app-commit