Intro
How Chapter 5 works?
- init()
SDL_Init()
SDL_CreateWindow()
SDL_GetWindowSurface()
- loadMedia()
- loadSurface()
- load BMP file on intermediate surface with
SDL_LoadBMP()
. - optimize loaded intermediate surface into optimized surface with
SDL_ConvertSurface()
.- free memory of intermediate surface with
SDL_FreeSurface()
.
- free memory of intermediate surface with
- load BMP file on intermediate surface with
- loadSurface()
- start loop untill variable
quit
is true.- start loop that calls
SDL_PollEvent()
untill it returns 0.- if
SDL_Event.type
isSDL_QUIT
, quit is true( which means first loop will end). - copy screen(Blit) scaled one with
SDL_BlitScaled()
. - update window with
SDL_UpdateWindowSurface()
to refresh and show what we’ve done.
- if
- start loop that calls
- close()
SDL_FreeSurface()
SDL_DestroyWindow()
SDL_Quit()
Function
SDL_ConvertSurface()
|
|
- param
src
: the existing SDL_Surface structure to convertfmt
: the SDL_PixelFormat structure that the new surface is optimized forflags
: the flags are unused and should be set to 0; this is a leftover from SDL 1.2’s API
- return
- new surface on success
- NULL on failure
get surface
src
and convert it into specific format thatfmt
indicating.
SDL_BlitScaled()
|
|
- param
src
: the SDL_Surface structure to be copied fromsrcrect
: the SDL_Rect structure representing the rectangle to be copied, or NULL to copy entire surfacedst
: the SDL_Surface structure that is the blit targetdstrect
: the SDL_Rect structure representing the rectangle that is copied into, or NULL to copy into the entire surface
- return
- 0 on success
- negative integer as error code on failure
Simiral with
SDL_BlitSurface()
but blit scaled surface.
this function callSDL_LowerBlitScaled()
internally.
Struct
SDL_PixelFormat
Term
- nothing new