Для того чтобы поставить окно в SDL2 на задний план, вы можете воспользоваться функцией SDL_SetWindowInputFocus(). Эта функция позволяет установить окно ввода в фокус, и если окно не находится на переднем плане, оно будет автоматически переведено на задний план.
Вот пример кода, который иллюстрирует использование этой функции:
#include <SDL2/SDL.h> int main(int argc, char* argv[]) { // Инициализация SDL SDL_Init(SDL_INIT_VIDEO); // Создание окна SDL_Window* window = SDL_CreateWindow("Window", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN); // Установка окна ввода в фокус SDL_SetWindowInputFocus(window); // Главный цикл программы bool quit = false; SDL_Event event; while (!quit) { while (SDL_PollEvent(&event)) { if (event.type == SDL_QUIT) { quit = true; } } // Остальная логика вашего приложения // Рендеринг и обновление экрана SDL_RenderPresent(renderer); } // Освобождаем ресурсы и завершаем SDL SDL_DestroyWindow(window); SDL_Quit(); return 0; }
В этом коде функция SDL_SetWindowInputFocus() вызывается сразу после создания окна для установки его ввода в фокус. Это гарантирует, что окно будет на заднем плане, когда оно отображается.