SDL: Standardized property names for internal SDL properties

From 8668943746d868806a362a3671b2c7769572df17 Mon Sep 17 00:00:00 2001
From: Sam Lantinga <[EMAIL REDACTED]>
Date: Tue, 7 Nov 2023 09:56:05 -0800
Subject: [PATCH] Standardized property names for internal SDL properties

---
 include/SDL3/SDL_properties.h                  | 2 ++
 src/render/SDL_render.c                        | 2 +-
 src/video/SDL_video.c                          | 2 +-
 src/video/dummy/SDL_nullframebuffer.c          | 2 +-
 src/video/n3ds/SDL_n3dsframebuffer.c           | 2 +-
 src/video/offscreen/SDL_offscreenframebuffer.c | 2 +-
 6 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/include/SDL3/SDL_properties.h b/include/SDL3/SDL_properties.h
index 56356d6b8f5d..66d12f6140ce 100644
--- a/include/SDL3/SDL_properties.h
+++ b/include/SDL3/SDL_properties.h
@@ -95,6 +95,8 @@ extern DECLSPEC void SDLCALL SDL_UnlockProperties(SDL_PropertiesID props);
 /**
  * Set a property on a set of properties
  *
+ * By convention, the names of properties that SDL exposes on objects will start with "SDL.", and properties that SDL uses internally will start with "SDL.internal.". These should be considered read-only and should not be modified by applications.
+ *
  * \param props the properties to modify
  * \param name the name of the property to modify
  * \param value the new value of the property, or NULL to delete the property
diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c
index b4dc16fe5e06..647cb84ffcf8 100644
--- a/src/render/SDL_render.c
+++ b/src/render/SDL_render.c
@@ -43,7 +43,7 @@ this should probably be removed at some point in the future.  --ryan. */
 #define DONT_DRAW_WHILE_HIDDEN 0
 #endif
 
-#define SDL_WINDOWRENDERDATA "_SDL_WindowRenderData"
+#define SDL_WINDOWRENDERDATA "SDL.internal.window.renderer"
 
 #define CHECK_RENDERER_MAGIC(renderer, retval)                  \
     if (!(renderer) || (renderer)->magic != &renderer_magic) {  \
diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c
index 665009100de2..9b1a199fb45a 100644
--- a/src/video/SDL_video.c
+++ b/src/video/SDL_video.c
@@ -183,7 +183,7 @@ static SDL_bool DisableUnsetFullscreenOnMinimize(SDL_VideoDevice *_this)
 
 /* Support for framebuffer emulation using an accelerated renderer */
 
-#define SDL_WINDOWTEXTUREDATA "_SDL_WindowTextureData"
+#define SDL_WINDOWTEXTUREDATA "SDL.internal.window.texturedata"
 
 typedef struct
 {
diff --git a/src/video/dummy/SDL_nullframebuffer.c b/src/video/dummy/SDL_nullframebuffer.c
index efdd6a377eba..b2ef604458f0 100644
--- a/src/video/dummy/SDL_nullframebuffer.c
+++ b/src/video/dummy/SDL_nullframebuffer.c
@@ -25,7 +25,7 @@
 #include "../SDL_sysvideo.h"
 #include "SDL_nullframebuffer_c.h"
 
-#define DUMMY_SURFACE "_SDL_DummySurface"
+#define DUMMY_SURFACE "SDL.internal.window.surface"
 
 static void CleanupSurface(void *userdata, void *value)
 {
diff --git a/src/video/n3ds/SDL_n3dsframebuffer.c b/src/video/n3ds/SDL_n3dsframebuffer.c
index 57a55f5aab14..b2e0d93fe2c1 100644
--- a/src/video/n3ds/SDL_n3dsframebuffer.c
+++ b/src/video/n3ds/SDL_n3dsframebuffer.c
@@ -26,7 +26,7 @@
 #include "SDL_n3dsframebuffer_c.h"
 #include "SDL_n3dsvideo.h"
 
-#define N3DS_SURFACE "_SDL_N3DSSurface"
+#define N3DS_SURFACE "SDL.internal.window.surface"
 
 typedef struct
 {
diff --git a/src/video/offscreen/SDL_offscreenframebuffer.c b/src/video/offscreen/SDL_offscreenframebuffer.c
index d51443932a50..cd5feba64712 100644
--- a/src/video/offscreen/SDL_offscreenframebuffer.c
+++ b/src/video/offscreen/SDL_offscreenframebuffer.c
@@ -25,7 +25,7 @@
 #include "../SDL_sysvideo.h"
 #include "SDL_offscreenframebuffer_c.h"
 
-#define OFFSCREEN_SURFACE "_SDL_DummySurface"
+#define OFFSCREEN_SURFACE "SDL.internal.window.surface"
 
 static void CleanupSurface(void *userdata, void *value)
 {