SDL_Rect Scope

Started by
3 comments, last by JTippetts 6 years, 3 months ago

Question about SDL_Rect scope.

Say I have a member function like so.


void drawRect(int x, int y, int w, int y) {
    SDL_Rect r = {x, y, w, h};
    SDL_RenderDrawRect(m_renderer, &r);
}

Will it cause problems if SDL_Rect goes out of scope before calling SDL_RenderPresent?

I cannot tell if the values are copied from SDL_Rect when calling SDL_RenderDrawRect or if internally SDL is storing the pointer until SDL_RenderPresent is called.

Thanks!

Advertisement

What you are doing is fine. SDL_RenderDrawRect copies out what it needs from the passed rectangle, and sends that data along to SDL_RenderDrawLines. 

That's great! Thanks for your help. Is this the case for all render APIs? I.e. Point, Line, Copy. Or do some hold the pointer to the object until RenderPresent is called?

Thanks again.

It should be the same for all the calls. Anything they need, they'll hold internally.

This topic is closed to new replies.

Advertisement