# CategorySurface SDL surfaces are buffers of pixels in system RAM. These are useful for passing around and manipulating images that are not stored in GPU memory. [SDL_Surface](SDL_Surface) makes serious efforts to manage images in various formats, and provides a reasonable toolbox for transforming the data, including copying between surfaces, filling rectangles in the image data, etc. There is also a simple .bmp loader, [SDL_LoadBMP](SDL_LoadBMP)(). SDL itself does not provide loaders for various other file formats, but there are several excellent external libraries that do, including its own satellite library, [SDL_image](SDL_image): https://github.com/libsdl-org/SDL_image ## Functions - [SDL_AddSurfaceAlternateImage](SDL_AddSurfaceAlternateImage) - [SDL_BlitSurface](SDL_BlitSurface) - [SDL_BlitSurface9Grid](SDL_BlitSurface9Grid) - [SDL_BlitSurfaceScaled](SDL_BlitSurfaceScaled) - [SDL_BlitSurfaceTiled](SDL_BlitSurfaceTiled) - [SDL_BlitSurfaceTiledWithScale](SDL_BlitSurfaceTiledWithScale) - [SDL_BlitSurfaceUnchecked](SDL_BlitSurfaceUnchecked) - [SDL_BlitSurfaceUncheckedScaled](SDL_BlitSurfaceUncheckedScaled) - [SDL_ClearSurface](SDL_ClearSurface) - [SDL_ConvertPixels](SDL_ConvertPixels) - [SDL_ConvertPixelsAndColorspace](SDL_ConvertPixelsAndColorspace) - [SDL_ConvertSurface](SDL_ConvertSurface) - [SDL_ConvertSurfaceAndColorspace](SDL_ConvertSurfaceAndColorspace) - [SDL_CreateSurface](SDL_CreateSurface) - [SDL_CreateSurfaceFrom](SDL_CreateSurfaceFrom) - [SDL_CreateSurfacePalette](SDL_CreateSurfacePalette) - [SDL_DestroySurface](SDL_DestroySurface) - [SDL_DuplicateSurface](SDL_DuplicateSurface) - [SDL_FillSurfaceRect](SDL_FillSurfaceRect) - [SDL_FillSurfaceRects](SDL_FillSurfaceRects) - [SDL_FlipSurface](SDL_FlipSurface) - [SDL_GetSurfaceAlphaMod](SDL_GetSurfaceAlphaMod) - [SDL_GetSurfaceBlendMode](SDL_GetSurfaceBlendMode) - [SDL_GetSurfaceClipRect](SDL_GetSurfaceClipRect) - [SDL_GetSurfaceColorKey](SDL_GetSurfaceColorKey) - [SDL_GetSurfaceColorMod](SDL_GetSurfaceColorMod) - [SDL_GetSurfaceColorspace](SDL_GetSurfaceColorspace) - [SDL_GetSurfaceImages](SDL_GetSurfaceImages) - [SDL_GetSurfacePalette](SDL_GetSurfacePalette) - [SDL_GetSurfaceProperties](SDL_GetSurfaceProperties) - [SDL_LoadBMP](SDL_LoadBMP) - [SDL_LoadBMP_IO](SDL_LoadBMP_IO) - [SDL_LockSurface](SDL_LockSurface) - [SDL_MapSurfaceRGB](SDL_MapSurfaceRGB) - [SDL_MapSurfaceRGBA](SDL_MapSurfaceRGBA) - [SDL_PremultiplyAlpha](SDL_PremultiplyAlpha) - [SDL_PremultiplySurfaceAlpha](SDL_PremultiplySurfaceAlpha) - [SDL_ReadSurfacePixel](SDL_ReadSurfacePixel) - [SDL_ReadSurfacePixelFloat](SDL_ReadSurfacePixelFloat) - [SDL_RemoveSurfaceAlternateImages](SDL_RemoveSurfaceAlternateImages) - [SDL_SaveBMP](SDL_SaveBMP) - [SDL_SaveBMP_IO](SDL_SaveBMP_IO) - [SDL_ScaleSurface](SDL_ScaleSurface) - [SDL_SetSurfaceAlphaMod](SDL_SetSurfaceAlphaMod) - [SDL_SetSurfaceBlendMode](SDL_SetSurfaceBlendMode) - [SDL_SetSurfaceClipRect](SDL_SetSurfaceClipRect) - [SDL_SetSurfaceColorKey](SDL_SetSurfaceColorKey) - [SDL_SetSurfaceColorMod](SDL_SetSurfaceColorMod) - [SDL_SetSurfaceColorspace](SDL_SetSurfaceColorspace) - [SDL_SetSurfacePalette](SDL_SetSurfacePalette) - [SDL_SetSurfaceRLE](SDL_SetSurfaceRLE) - [SDL_SurfaceHasAlternateImages](SDL_SurfaceHasAlternateImages) - [SDL_SurfaceHasColorKey](SDL_SurfaceHasColorKey) - [SDL_SurfaceHasRLE](SDL_SurfaceHasRLE) - [SDL_UnlockSurface](SDL_UnlockSurface) - [SDL_WriteSurfacePixel](SDL_WriteSurfacePixel) - [SDL_WriteSurfacePixelFloat](SDL_WriteSurfacePixelFloat) ## Datatypes - [SDL_SurfaceFlags](SDL_SurfaceFlags) ## Structs - [SDL_Surface](SDL_Surface) ## Enums - [SDL_FlipMode](SDL_FlipMode) - [SDL_ScaleMode](SDL_ScaleMode) ## Macros - [SDL_MUSTLOCK](SDL_MUSTLOCK) ---- [CategoryAPICategory](CategoryAPICategory)