Я пытаюсь создать два окна на двух дисплеях. Но у меня есть проблема: второе окно отображается в полноэкранном режиме, но первое окно свернуто, и мне нужно щелкнуть его на панели задач, чтобы развернуть его на весь экран.
Я создаю окна в цикле с кодом:
windows_data.window = SDL_CreateWindow("Title", SDL_WINDOWPOS_CENTERED_DISPLAY(i),
SDL_WINDOWPOS_CENTERED_DISPLAY(i), width, height, SDL_WINDOW_FULLSCREEN_DESKTOP | SDL_WINDOW_SHOWN);
Добавление флага SDL_WINDOW_MAXIMIZED не решает проблему.
Моя система Windows 8.1 Профессиональная.
Я пошагово отлаживаю и нашел причину в SDL_video.c :: SDL_OnWindowFocusLost (окно SDL_Window *)
SDL_OnWindowFocusLost(SDL_Window * window)
{
if (window->gamma && _this->SetWindowGammaRamp) {
_this->SetWindowGammaRamp(_this, window, window->saved_gamma);
}
SDL_UpdateWindowGrab(window);
if (ShouldMinimizeOnFocusLoss(window)) {
SDL_MinimizeWindow(window);
}
}
Таким образом, проблема здесь «if (ShouldMinimizeOnFocusLoss (window))».
Чтобы решить эту проблему, я добавляю следующий код перед созданием окна:
SDL_SetHint(SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS, "0");