Окно Maximize SDL

В последнем случае вы регистрируете функцию, но не вызываете ее. Под капотом классы - это просто функции. Когда вы вызываете его, он создает экземпляр этого класса; если вы ссылаетесь на него, не вызывая его, то вы ссылаетесь на функцию , а не на экземпляр. Рассмотрим следующий аналогичный пример:

function doSomething() {
    return 4;
}
console.log(doSomething()); // Says 4
console.log(doSomething); // Says it's a function
8
задан genpfault 4 September 2017 в 16:39
поделиться

3 ответа

Этой функциональностью управляет менеджер окон при использовании флага SDL_RESIZABLE. Для моделирования максимизации окна с SDL, Вы должны были бы сначала определить размер, который займет окно при максимизации. Затем Вы назвали бы SDL_SetVideoMode с этим размером после размещения окна с переменной среды SDL_VIDEO_WINDOW_POS.

Если Вам действительно нужно окно, которое будет максимизироваться, как будто Вы нажали на кнопку развертывания окна, то необходимо будет получить доступ к базовому менеджеру окон непосредственно (т.е. SDL не поможет Вам).

Например, функция ShowWindow может использоваться для максимизации окна с помощью API Win32. Для получения дескриптора к окну, созданному SDL, используют функцию SDL_GetWMInfo. Получающаяся структура SDL_SysWMinfo содержит поле окна типа HWND. Это должно быть передано функции ShowWindow наряду с флагом SW_MAXIMIZE.

SDL_SysWMinfo info;
SDL_VERSION(&info.version);
SDL_GetWMInfo(&info);
ShowWindow(info.window, SW_MAXIMIZE);
5
ответ дан 5 December 2019 в 13:02
поделиться

Существуют переменные новой среды, которые могут быть установлены управлять окном экрана. К сожалению, sdl документы снижаются в данный момент, таким образом, я не могу искать то, в чем Вы нуждаетесь.

0
ответ дан 5 December 2019 в 13:02
поделиться

SDL_FULLSCREEN является опцией, которую Вы ищете:

flags |= SDL_FULLSCREEN;
screen = SDL_SetVideoMode(..., flags);
-1
ответ дан 5 December 2019 в 13:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: