added wrapper function to copy SDL surfaces
authorHolger Schemel <info@artsoft.org>
Tue, 28 Nov 2023 15:30:41 +0000 (16:30 +0100)
committerHolger Schemel <info@artsoft.org>
Tue, 28 Nov 2023 15:30:58 +0000 (16:30 +0100)
src/libgame/sdl.c
src/libgame/sdl.h

index 64d28bdbb6fb5c17243947b6d81899324a2c32d2..068057657818719405bc43dacc8646b6b435013a 100644 (file)
@@ -1012,6 +1012,25 @@ void SDLFreeBitmapPointers(Bitmap *bitmap)
   bitmap->texture_masked = NULL;
 }
 
+void SDLBlitSurface(SDL_Surface *src_surface, SDL_Surface *dst_surface,
+                   int src_x, int src_y, int width, int height,
+                   int dst_x, int dst_y)
+{
+  SDL_Rect src_rect, dst_rect;
+
+  src_rect.x = src_x;
+  src_rect.y = src_y;
+  src_rect.w = width;
+  src_rect.h = height;
+
+  dst_rect.x = dst_x;
+  dst_rect.y = dst_y;
+  dst_rect.w = width;
+  dst_rect.h = height;
+
+  SDL_BlitSurface(src_surface, &src_rect, dst_surface, &dst_rect);
+}
+
 void SDLCopyArea(Bitmap *src_bitmap, Bitmap *dst_bitmap,
                 int src_x, int src_y, int width, int height,
                 int dst_x, int dst_y, int mask_mode)
index 31de93da084907c5cb7871d98d74433822ee35bf..05f99982809016f1e5e374c3e64809d973ccad98 100644 (file)
@@ -422,6 +422,7 @@ void SDLInitVideoBuffer(boolean);
 boolean SDLSetVideoMode(boolean);
 void SDLCreateBitmapContent(Bitmap *, int, int, int);
 void SDLFreeBitmapPointers(Bitmap *);
+void SDLBlitSurface(SDL_Surface *, SDL_Surface *, int, int, int, int, int, int);
 void SDLCopyArea(Bitmap *, Bitmap *, int, int, int, int, int, int, int);
 void SDLBlitTexture(Bitmap *, int, int, int, int, int, int, int);
 void SDLFillRectangle(Bitmap *, int, int, int, int, Uint32);