SDL: SDL_Surface: don't implicitly declare struct SDL_BlitMap.

From ff735b3c0f6f8917a8c8491e357c41152296eadb Mon Sep 17 00:00:00 2001
From: "Ryan C. Gordon" <[EMAIL REDACTED]>
Date: Mon, 20 Jun 2022 18:29:52 -0400
Subject: [PATCH] SDL_Surface: don't implicitly declare struct SDL_BlitMap.

It's just an opaque type, but it's more clear to have it typedef'd outside
the containing struct.

Fixes #5828.
---
 include/SDL_surface.h | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/include/SDL_surface.h b/include/SDL_surface.h
index 441237617cc..838de654eed 100644
--- a/include/SDL_surface.h
+++ b/include/SDL_surface.h
@@ -61,6 +61,8 @@ extern "C" {
  */
 #define SDL_MUSTLOCK(S) (((S)->flags & SDL_RLEACCEL) != 0)
 
+typedef struct SDL_BlitMap SDL_BlitMap;  /* this is an opaque type. */
+
 /**
  * \brief A collection of pixels used in software blitting.
  *
@@ -88,7 +90,7 @@ typedef struct SDL_Surface
     SDL_Rect clip_rect;         /**< Read-only */
 
     /** info for fast blit mapping to other surfaces */
-    struct SDL_BlitMap *map;    /**< Private */
+    SDL_BlitMap *map;           /**< Private */
 
     /** Reference count -- used when freeing surface */
     int refcount;               /**< Read-mostly */