コード例 #1
0
ファイル: main.c プロジェクト: timsutton/screenresolution
unsigned int setDisplayToMode(CGDirectDisplayID display, CGDisplayModeRef mode) {
    CGError rc;
    CGDisplayConfigRef config;
    rc = CGBeginDisplayConfiguration(&config);
    if (rc != kCGErrorSuccess) {
        NSLog(CFSTR("Error: failed CGBeginDisplayConfiguration err(%u)"), rc);
        return 0;
    }
    rc = CGConfigureDisplayWithDisplayMode(config, display, mode, NULL);
    if (rc != kCGErrorSuccess) {
        NSLog(CFSTR("Error: failed CGConfigureDisplayWithDisplayMode err(%u)"), rc);
        return 0;
    }
    rc = CGCompleteDisplayConfiguration(config, kCGConfigurePermanently);
    if (rc != kCGErrorSuccess) {
        NSLog(CFSTR("Error: failed CGCompleteDisplayConfiguration err(%u)"), rc);        
        return 0;
    }
    return 1;
}
コード例 #2
0
void UIDisplay::SwitchToMode(int Index)
{
    if (Index < 0 || Index >= m_modes.size() || !gDisplayModes)
        return;

    int index = m_modes[Index].m_index;

    if (index < 0 || index >= CFArrayGetCount(gDisplayModes))
        return;

    CGDisplayModeRef mode = (CGDisplayModeRef)CFArrayGetValueAtIndex(gDisplayModes, index);

    CGDisplayConfigRef config;
    CGBeginDisplayConfiguration(&config);
    CGDirectDisplayID display = GetOSXDisplay(m_widget->winId());
    CGConfigureDisplayFadeEffect(config, 0.3f, 0.5f, 0, 0, 0);
    CGConfigureDisplayWithDisplayMode(config, display, mode, NULL);
    if (CGCompleteDisplayConfiguration(config, kCGConfigureForAppOnly))
        LOG(VB_GENERAL, LOG_ERR, "Failed to complete display configuration");
    else
        m_refreshRate = m_modes[Index].m_rate;
}