Go to the documentation of this file.
28 #ifndef SDL_surface_h_
29 #define SDL_surface_h_
52 #define SDL_SWSURFACE 0
53 #define SDL_PREALLOC 0x00000001
54 #define SDL_RLEACCEL 0x00000002
55 #define SDL_DONTFREE 0x00000004
56 #define SDL_SIMD_ALIGNED 0x00000008
62 #define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
91 struct SDL_BlitMap *
map;
133 (Uint32 flags,
int width,
int height,
int depth,
134 Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask);
137 extern DECLSPEC
SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormat
138 (Uint32 flags,
int width,
int height,
int depth, Uint32 format);
140 extern DECLSPEC
SDL_Surface *SDLCALL SDL_CreateRGBSurfaceFrom(
void *pixels,
149 extern DECLSPEC
SDL_Surface *SDLCALL SDL_CreateRGBSurfaceWithFormatFrom
150 (
void *pixels,
int width,
int height,
int depth,
int pitch, Uint32 format);
151 extern DECLSPEC
void SDLCALL SDL_FreeSurface(
SDL_Surface * surface);
203 #define SDL_LoadBMP(file) SDL_LoadBMP_RW(SDL_RWFromFile(file, "rb"), 1)
226 #define SDL_SaveBMP(surface, file) \
227 SDL_SaveBMP_RW(surface, SDL_RWFromFile(file, "wb"), 1)
259 int flag, Uint32 key);
294 Uint8 r, Uint8 g, Uint8 b);
310 Uint8 * r, Uint8 * g,
407 extern DECLSPEC
SDL_Surface *SDLCALL SDL_ConvertSurfaceFormat
408 (
SDL_Surface * src, Uint32 pixel_format, Uint32 flags);
417 const void * src,
int src_pitch,
419 void * dst,
int dst_pitch);
433 extern DECLSPEC
int SDLCALL SDL_FillRects
493 #define SDL_BlitSurface SDL_UpperBlit
522 #define SDL_BlitScaled SDL_UpperBlitScaled
DECLSPEC int SDLCALL SDL_LowerBlit(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
int pitch
Definition: SDL_surface.h:75
struct SDL_BlitMap * map
Definition: SDL_surface.h:91
SDL_Rect clip_rect
Definition: SDL_surface.h:88
DECLSPEC int SDLCALL SDL_LockSurface(SDL_Surface *surface)
Sets up a surface for directly accessing the pixels.
DECLSPEC int SDLCALL SDL_GetSurfaceAlphaMod(SDL_Surface *surface, Uint8 *alpha)
Get the additional alpha value used in blit operations.
@ SDL_YUV_CONVERSION_JPEG
Definition: SDL_surface.h:108
struct SDL_Surface SDL_Surface
A collection of pixels used in software blitting.
void * list_blitmap
Definition: SDL_surface.h:85
@ SDL_YUV_CONVERSION_BT709
Definition: SDL_surface.h:110
DECLSPEC int SDLCALL SDL_UpperBlitScaled(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
DECLSPEC int SDLCALL SDL_UpperBlit(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
DECLSPEC int SDLCALL SDL_GetColorKey(SDL_Surface *surface, Uint32 *key)
Gets the color key (transparent pixel) in a blittable surface.
int h
Definition: SDL_surface.h:74
DECLSPEC int SDLCALL SDL_SaveBMP_RW(SDL_Surface *surface, SDL_RWops *dst, int freedst)
SDL_PixelFormat * format
Definition: SDL_surface.h:73
DECLSPEC void SDLCALL SDL_GetClipRect(SDL_Surface *surface, SDL_Rect *rect)
Definition: SDL_rwops.h:53
DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface *surface, int flag)
Sets the RLE acceleration hint for a surface.
DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionMode(void)
Get the YUV conversion mode.
DECLSPEC SDL_Surface *SDLCALL SDL_CreateRGBSurface(Uint32 flags, int width, int height, int depth, Uint32 Rmask, Uint32 Gmask, Uint32 Bmask, Uint32 Amask)
DECLSPEC SDL_Surface *SDLCALL SDL_ConvertSurface(SDL_Surface *src, const SDL_PixelFormat *fmt, Uint32 flags)
DECLSPEC int SDLCALL SDL_FillRect(SDL_Surface *dst, const SDL_Rect *rect, Uint32 color)
DECLSPEC int SDLCALL SDL_SetColorKey(SDL_Surface *surface, int flag, Uint32 key)
Sets the color key (transparent pixel) in a blittable surface.
DECLSPEC SDL_Surface *SDLCALL SDL_LoadBMP_RW(SDL_RWops *src, int freesrc)
Uint32 flags
Definition: SDL_surface.h:72
A rectangle, with the origin at the upper left (integer).
Definition: SDL_rect.h:78
DECLSPEC int SDLCALL SDL_SetSurfaceAlphaMod(SDL_Surface *surface, Uint8 alpha)
Set an additional alpha value used in blit operations.
void * userdata
Definition: SDL_surface.h:79
void * pixels
Definition: SDL_surface.h:76
SDL_BlendMode
The blend mode used in SDL_RenderCopy() and drawing operations.
Definition: SDL_blendmode.h:41
DECLSPEC int SDLCALL SDL_SetSurfacePalette(SDL_Surface *surface, SDL_Palette *palette)
Set the palette used by a surface.
DECLSPEC int SDLCALL SDL_GetSurfaceBlendMode(SDL_Surface *surface, SDL_BlendMode *blendMode)
Get the blend mode used for blit operations.
DECLSPEC int SDLCALL SDL_SetSurfaceColorMod(SDL_Surface *surface, Uint8 r, Uint8 g, Uint8 b)
Set an additional color value used in blit operations.
int(SDLCALL * SDL_blit)(struct SDL_Surface *src, SDL_Rect *srcrect, struct SDL_Surface *dst, SDL_Rect *dstrect)
The type of function used for surface blitting functions.
Definition: SDL_surface.h:100
DECLSPEC SDL_bool SDLCALL SDL_HasColorKey(SDL_Surface *surface)
Returns whether the surface has a color key.
@ SDL_YUV_CONVERSION_AUTOMATIC
Definition: SDL_surface.h:111
DECLSPEC SDL_bool SDLCALL SDL_HasSurfaceRLE(SDL_Surface *surface)
Returns whether the surface is RLE enabled.
DECLSPEC int SDLCALL SDL_LowerBlitScaled(SDL_Surface *src, SDL_Rect *srcrect, SDL_Surface *dst, SDL_Rect *dstrect)
DECLSPEC SDL_YUV_CONVERSION_MODE SDLCALL SDL_GetYUVConversionModeForResolution(int width, int height)
Get the YUV conversion mode, returning the correct mode for the resolution when the current conversio...
DECLSPEC int SDLCALL SDL_SoftStretch(SDL_Surface *src, const SDL_Rect *srcrect, SDL_Surface *dst, const SDL_Rect *dstrect)
Perform a fast, low quality, stretch blit between two surfaces of the same pixel format.
Definition: SDL_pixels.h:314
DECLSPEC int SDLCALL SDL_ConvertPixels(int width, int height, Uint32 src_format, const void *src, int src_pitch, Uint32 dst_format, void *dst, int dst_pitch)
Copy a block of pixels of one format to another format.
SDL_YUV_CONVERSION_MODE
The formula used for converting between YUV and RGB.
Definition: SDL_surface.h:107
int refcount
Definition: SDL_surface.h:94
int locked
Definition: SDL_surface.h:82
DECLSPEC int SDLCALL SDL_GetSurfaceColorMod(SDL_Surface *surface, Uint8 *r, Uint8 *g, Uint8 *b)
Get the additional color value used in blit operations.
DECLSPEC void SDLCALL SDL_SetYUVConversionMode(SDL_YUV_CONVERSION_MODE mode)
Set the YUV conversion mode.
A collection of pixels used in software blitting.
Definition: SDL_surface.h:71
DECLSPEC void SDLCALL SDL_UnlockSurface(SDL_Surface *surface)
@ SDL_YUV_CONVERSION_BT601
Definition: SDL_surface.h:109
DECLSPEC SDL_bool SDLCALL SDL_SetClipRect(SDL_Surface *surface, const SDL_Rect *rect)
DECLSPEC int SDLCALL SDL_SetSurfaceBlendMode(SDL_Surface *surface, SDL_BlendMode blendMode)
Set the blend mode used for blit operations.