У меня есть несколько мониторов, и я пытаюсь изменить основной дисплей с помощью Quarz Display API, моя функция
int setDisplayOrigin(CGDirectDisplayID display, int x, int y) {
CGDisplayConfigRef cfg;
auto ret = CGBeginDisplayConfiguration(&cfg);
if (ret != kCGErrorSuccess) return ret;
ret = CGConfigureDisplayOrigin(cfg, display, x, y);
if (ret != kCGErrorSuccess) return ret;
ret = CGCompleteDisplayConfiguration(cfg, kCGConfigureForAppOnly);
return ret;
}
, чтобы установить конкретный монитор в качестве основного, я вызываю эту функцию с 0 с помощью x иy
setDisplayOrigin(directDisplayID, 0, 0)
macOS реорганизовала дисплеи, но связанный экран не будет иметь начало с (0, 0), когда я снова проверю его границы, и каждое возвращенное значение будет успешным (KCGErrorSuccess)