SDL_RenderSetViewport奇怪的行为

时间:2014-03-21 15:56:43

标签: sdl-2

我真的不懂如何使用SDL_RenderSetViewport,或者它有一种奇怪的行为。

SDL_Rect viewportRect = {-viewportX, viewportY - viewportH + windowH, viewportW, viewportH}; SDL_RenderSetViewport(renderer, &viewportRect);

此代码是我用于窗口大小(640; 480)的代码,以及任何n的视窗大小(windowW * n,windowH * n)。

但是,如果我在代码中更改窗口大小,则在显示视口时会发生移位。

默认情况下,viewportX = viewportY = 0;

我不明白为什么viewportRect如此奇怪,以及当我改变窗口大小时它为什么不起作用。

1 个答案:

答案 0 :(得分:0)

据我所知,SDL在调整大小后不会自动重新调整窗口设置。你在处理SDL_WINDOWEVENT_RESIZED吗?如果没有,请尝试处理它并在其上调用SDL_RenderSetViewport(renderer, &viewportRect)