Как поставить окно в sdl2 на задний план?

Для того чтобы поставить окно в 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() вызывается сразу после создания окна для установки его ввода в фокус. Это гарантирует, что окно будет на заднем плане, когда оно отображается.