video: Add the concept of child popup windows

Add the CreatePopupWindow function to allow the creation of child tooltip and menu popup windows. Popup windows must be created as either a tooltip or popup menu and cannot be minimized, maximized, made fullscreen, or grab the mouse.

Child popup windows are tracked and will be recursively hidden, shown, or destroyed in tandem with the parent window.
This commit is contained in:
Frank Praznik
2023-02-26 14:16:05 -05:00
committed by Sam Lantinga
parent fc1af1dfde
commit e987c4a463
7 changed files with 224 additions and 8 deletions

View File

@@ -839,6 +839,7 @@ SDL3_0.0.0 {
SDL_GetRenderScale;
SDL_GetRenderWindowSize;
SDL_GetSystemTheme;
SDL_CreatePopupWindow;
# extra symbols go here (don't modify this line)
local: *;
};

View File

@@ -866,3 +866,4 @@
#define SDL_GetRenderScale SDL_GetRenderScale_REAL
#define SDL_GetRenderWindowSize SDL_GetRenderWindowSize_REAL
#define SDL_GetSystemTheme SDL_GetSystemTheme_REAL
#define SDL_CreatePopupWindow SDL_CreatePopupWindow_REAL

View File

@@ -911,3 +911,4 @@ SDL_DYNAPI_PROC(int,SDL_SetRenderScale,(SDL_Renderer *a, float b, float c),(a,b,
SDL_DYNAPI_PROC(int,SDL_GetRenderScale,(SDL_Renderer *a, float *b, float *c),(a,b,c),return)
SDL_DYNAPI_PROC(int,SDL_GetRenderWindowSize,(SDL_Renderer *a, int *b, int *c),(a,b,c),return)
SDL_DYNAPI_PROC(SDL_SystemTheme,SDL_GetSystemTheme,(void),(),return)
SDL_DYNAPI_PROC(SDL_Window*,SDL_CreatePopupWindow,(SDL_Window *a, int b, int c, int d, int e, Uint32 f),(a,b,c,d,e,f),return)