aboutsummaryrefslogtreecommitdiffstats
path: root/main.m
blob: 6613b2a91ad667c18ee8764941f6bab9d93d9ed5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#import <CoreGraphics/CoreGraphics.h>

#define MAX_DISPLAYS 8

int main(int argc, const char * argv[]) {
    const CGGammaValue inverted_gamma[2] = {1, 0};

    CGDirectDisplayID active_displays[MAX_DISPLAYS];
    uint32_t display_count;

    CGError error = CGGetActiveDisplayList(
        MAX_DISPLAYS,
        &active_displays[0],
        &display_count
    );
    if (error != kCGErrorSuccess) {
        return 69;
    }

    for (int i = 0; i < display_count; i++) {
        error = CGSetDisplayTransferByTable(
            active_displays[i],
            2,
            inverted_gamma,
            inverted_gamma,
            inverted_gamma
        );
        if (error != kCGErrorSuccess) {
            // TODO: error handling
        }
    }

    for (;;) {}

    return 0;
}