SDL_SetWindowSize 会触发 window 事件吗?
Does SDL_SetWindowSize trigger a window event?
在 SDL2 中,当您在运行时通过拖动角来调整 window 的大小时,将触发 window 调整大小的事件,并且可以像这样使用:
SDL_Event e;
int width, height;
SDL_PollEvent(&e);
if(e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_RESIZED)
{
width = e.window.data1;
height = e.window.data2;
}
如果我像这样手动调整 window 的大小:
SDL_SetWindowSize(window, myWidth, myHeight);
(documentation)
这会触发像上面那样的 window 事件吗?
是的,就像SDL_SetWindowFullscreen ()
一样。 SDL_SetWindowSize ()
触发 window 事件。从技术上讲,我认为它只是调整 window 的大小,这被视为用户手动调整它的大小。
使用SDL_WINDOWEVENT_RESIZED,答案是否定的。但是触发了 SDL_WINDOWEVENT_SIZE_CHANGED 事件。
在 SDL2 中,当您在运行时通过拖动角来调整 window 的大小时,将触发 window 调整大小的事件,并且可以像这样使用:
SDL_Event e;
int width, height;
SDL_PollEvent(&e);
if(e.type == SDL_WINDOWEVENT && e.window.event == SDL_WINDOWEVENT_RESIZED)
{
width = e.window.data1;
height = e.window.data2;
}
如果我像这样手动调整 window 的大小:
SDL_SetWindowSize(window, myWidth, myHeight);
(documentation) 这会触发像上面那样的 window 事件吗?
是的,就像SDL_SetWindowFullscreen ()
一样。 SDL_SetWindowSize ()
触发 window 事件。从技术上讲,我认为它只是调整 window 的大小,这被视为用户手动调整它的大小。
使用SDL_WINDOWEVENT_RESIZED,答案是否定的。但是触发了 SDL_WINDOWEVENT_SIZE_CHANGED 事件。