Я пишу полноэкранную 3D-игру, и я создал меню, в котором пользователь может выбрать разрешение экрана в соответствии с его аппаратной емкостью.
Я перечисляю все доступные режимы экрана с помощью EnumDisplaySettingsExA
следующим образом:
std::vector<DEVMODEA> modes;
DEVMODEA modeInfo;
int modeNum = -1;
while (EnumDisplaySettingsExA(0, ++modeNum, &modeInfo, 0)) {
if (modeInfo.dmBitsPerPel < 16) continue;
modes.push_back( modeInfo );
}
Проблема в том, что я получаю панорамирование! Я не могу различить, какие именно; например, мой ноутбук ATI имеет максимальный нормальный режим 1280x800, но также содержит режим панорамирования 1024x600!
Кто-нибудь знает способ различать 2, поэтому я могу отказаться от режимов панорамирования из своего меню?