From f6b92c9b88bbb11612c2e006c1ac33792f4255d0 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Fri, 9 Feb 2024 07:09:59 -0800 Subject: [PATCH] Re-added a simplified version of SDL_SetWindowShape() In order to handle mouse click transparency this needs to be implemented inside SDL --- VisualC-GDK/SDL/SDL.vcxproj | 2 + VisualC-GDK/SDL/SDL.vcxproj.filters | 2 + VisualC/SDL/SDL.vcxproj | 2 + VisualC/SDL/SDL.vcxproj.filters | 6 + docs/README-migration.md | 2 +- include/SDL3/SDL_properties.h | 2 + include/SDL3/SDL_video.h | 19 + src/SDL_properties.c | 12 + src/SDL_properties_c.h | 1 + src/dynapi/SDL_dynapi.sym | 1 + src/dynapi/SDL_dynapi_overrides.h | 1 + src/dynapi/SDL_dynapi_procs.h | 1 + src/render/SDL_render.c | 42 +- src/render/SDL_sysrender.h | 5 + src/video/SDL_sysvideo.h | 1 + src/video/SDL_video.c | 41 + src/video/cocoa/SDL_cocoawindow.h | 1 + src/video/cocoa/SDL_cocoawindow.m | 26 + src/video/dummy/SDL_nullframebuffer.c | 9 +- src/video/n3ds/SDL_n3dsframebuffer.c | 9 +- .../offscreen/SDL_offscreenframebuffer.c | 9 +- src/video/windows/SDL_windowsshape.c | 124 + src/video/windows/SDL_windowsshape.h | 28 + src/video/windows/SDL_windowsvideo.c | 1 + src/video/windows/SDL_windowsvideo.h | 1 + src/video/x11/SDL_x11shape.c | 110 + src/video/x11/SDL_x11shape.h | 28 + src/video/x11/SDL_x11sym.h | 1 + src/video/x11/SDL_x11video.c | 2 + test/CMakeLists.txt | 3 +- test/glass.bmp | Bin 0 -> 1537738 bytes test/glass.h | 128148 +++++++++++++++ test/testshape.c | 95 +- 33 files changed, 128676 insertions(+), 59 deletions(-) create mode 100644 src/video/windows/SDL_windowsshape.c create mode 100644 src/video/windows/SDL_windowsshape.h create mode 100644 src/video/x11/SDL_x11shape.c create mode 100644 src/video/x11/SDL_x11shape.h create mode 100644 test/glass.bmp create mode 100644 test/glass.h diff --git a/VisualC-GDK/SDL/SDL.vcxproj b/VisualC-GDK/SDL/SDL.vcxproj index c064a77f95..e070c31ef7 100644 --- a/VisualC-GDK/SDL/SDL.vcxproj +++ b/VisualC-GDK/SDL/SDL.vcxproj @@ -565,6 +565,7 @@ + @@ -822,6 +823,7 @@ + diff --git a/VisualC-GDK/SDL/SDL.vcxproj.filters b/VisualC-GDK/SDL/SDL.vcxproj.filters index 2767954b1f..f5d648fe70 100644 --- a/VisualC-GDK/SDL/SDL.vcxproj.filters +++ b/VisualC-GDK/SDL/SDL.vcxproj.filters @@ -198,6 +198,7 @@ + @@ -423,6 +424,7 @@ + diff --git a/VisualC/SDL/SDL.vcxproj b/VisualC/SDL/SDL.vcxproj index 4c0bea8a13..45415212dc 100644 --- a/VisualC/SDL/SDL.vcxproj +++ b/VisualC/SDL/SDL.vcxproj @@ -459,6 +459,7 @@ + @@ -668,6 +669,7 @@ + diff --git a/VisualC/SDL/SDL.vcxproj.filters b/VisualC/SDL/SDL.vcxproj.filters index 6971749d59..8073004813 100644 --- a/VisualC/SDL/SDL.vcxproj.filters +++ b/VisualC/SDL/SDL.vcxproj.filters @@ -645,6 +645,9 @@ video\windows + + video\windows + video\windows @@ -1231,6 +1234,9 @@ video\windows + + video\windows + video\windows diff --git a/docs/README-migration.md b/docs/README-migration.md index 9642df3c01..da7a7bda8c 100644 --- a/docs/README-migration.md +++ b/docs/README-migration.md @@ -1305,7 +1305,7 @@ The following functions have been removed: ## SDL_shape.h -This header has been removed. You can create a window with the SDL_WINDOW_TRANSPARENT flag and then render using the alpha channel to achieve a similar effect. You can see an example of this in test/testshape.c +This header has been removed and a simplified version of this API has been added as SDL_SetWindowShape() in SDL_video.h. See test/testshape.c for an example. ## SDL_stdinc.h diff --git a/include/SDL3/SDL_properties.h b/include/SDL3/SDL_properties.h index 498d8e5bec..0a2870b1cc 100644 --- a/include/SDL3/SDL_properties.h +++ b/include/SDL3/SDL_properties.h @@ -141,6 +141,8 @@ extern DECLSPEC void SDLCALL SDL_UnlockProperties(SDL_PropertiesID props); * Set a property on a set of properties with a cleanup function that is * called when the property is deleted * + * The cleanup function is also called if setting the property fails for any reason. + * * \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/include/SDL3/SDL_video.h b/include/SDL3/SDL_video.h index c8a68dbb1b..808aeea332 100644 --- a/include/SDL3/SDL_video.h +++ b/include/SDL3/SDL_video.h @@ -1028,6 +1028,8 @@ extern DECLSPEC SDL_Window *SDLCALL SDL_GetWindowParent(SDL_Window *window); * * The following read-only properties are provided by SDL: * + * - `SDL_PROP_WINDOW_SHAPE_POINTER`: the surface associated with a shaped window + * * On Android: * * - `SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER`: the ANativeWindow associated @@ -1120,6 +1122,7 @@ extern DECLSPEC SDL_Window *SDLCALL SDL_GetWindowParent(SDL_Window *window); */ extern DECLSPEC SDL_PropertiesID SDLCALL SDL_GetWindowProperties(SDL_Window *window); +#define SDL_PROP_WINDOW_SHAPE_POINTER "SDL.window.shape" #define SDL_PROP_WINDOW_ANDROID_WINDOW_POINTER "SDL.window.android.window" #define SDL_PROP_WINDOW_ANDROID_SURFACE_POINTER "SDL.window.android.surface" #define SDL_PROP_WINDOW_UIKIT_WINDOW_POINTER "SDL.window.uikit.window" @@ -2119,6 +2122,22 @@ typedef SDL_HitTestResult (SDLCALL *SDL_HitTest)(SDL_Window *win, */ extern DECLSPEC int SDLCALL SDL_SetWindowHitTest(SDL_Window *window, SDL_HitTest callback, void *callback_data); +/** + * Set the shape of a transparent window. + * + * This sets the alpha channel of a transparent window and any fully transparent areas are also transparent to mouse clicks. If you are using something besides the SDL render API, then you are responsible for setting the alpha channel of the window yourself. + * + * The window must have been created with the SDL_WINDOW_TRANSPARENT flag. + * + * \param window the window + * \param shape the surface representing the shape of the window, or NULL to remove any current shape + * \returns 0 on success or a negative error code on failure; call + * SDL_GetError() for more information. + * + * \since This function is available since SDL 3.0.0. + */ +extern DECLSPEC int SDLCALL SDL_SetWindowShape(SDL_Window *window, SDL_Surface *shape); + /** * Request a window to demand attention from the user. * diff --git a/src/SDL_properties.c b/src/SDL_properties.c index 50cb2cd682..566ea51ba9 100644 --- a/src/SDL_properties.c +++ b/src/SDL_properties.c @@ -348,6 +348,7 @@ int SDL_SetPropertyWithCleanup(SDL_PropertiesID props, const char *name, void *v property = (SDL_Property *)SDL_calloc(1, sizeof(*property)); if (!property) { + SDL_FreePropertyWithCleanup(NULL, property, NULL, SDL_FALSE); return -1; } property->type = SDL_PROPERTY_TYPE_POINTER; @@ -374,6 +375,17 @@ int SDL_SetProperty(SDL_PropertiesID props, const char *name, void *value) return SDL_PrivateSetProperty(props, name, property); } +static void CleanupSurface(void *userdata, void *value) +{ + SDL_Surface *surface = (SDL_Surface *)value; + + SDL_DestroySurface(surface); +} + +int SDL_SetSurfaceProperty(SDL_PropertiesID props, const char *name, SDL_Surface *surface) +{ + return SDL_SetPropertyWithCleanup(props, name, surface, CleanupSurface, NULL); +} int SDL_SetStringProperty(SDL_PropertiesID props, const char *name, const char *value) { diff --git a/src/SDL_properties_c.h b/src/SDL_properties_c.h index 9b590cde3d..ee23ae8e8b 100644 --- a/src/SDL_properties_c.h +++ b/src/SDL_properties_c.h @@ -20,4 +20,5 @@ */ extern int SDL_InitProperties(void); +extern int SDL_SetSurfaceProperty(SDL_PropertiesID props, const char *name, SDL_Surface *surface); extern void SDL_QuitProperties(void); diff --git a/src/dynapi/SDL_dynapi.sym b/src/dynapi/SDL_dynapi.sym index 20ee328d9b..5bf8b93156 100644 --- a/src/dynapi/SDL_dynapi.sym +++ b/src/dynapi/SDL_dynapi.sym @@ -970,6 +970,7 @@ SDL3_0.0.0 { SDL_SetRenderColorScale; SDL_GetRenderColorScale; SDL_RenderGeometryRawFloat; + SDL_SetWindowShape; # extra symbols go here (don't modify this line) local: *; }; diff --git a/src/dynapi/SDL_dynapi_overrides.h b/src/dynapi/SDL_dynapi_overrides.h index 64939646e3..ac097b09f5 100644 --- a/src/dynapi/SDL_dynapi_overrides.h +++ b/src/dynapi/SDL_dynapi_overrides.h @@ -995,3 +995,4 @@ #define SDL_SetRenderColorScale SDL_SetRenderColorScale_REAL #define SDL_GetRenderColorScale SDL_GetRenderColorScale_REAL #define SDL_RenderGeometryRawFloat SDL_RenderGeometryRawFloat_REAL +#define SDL_SetWindowShape SDL_SetWindowShape_REAL diff --git a/src/dynapi/SDL_dynapi_procs.h b/src/dynapi/SDL_dynapi_procs.h index 2a32ddf5ec..81d1c92966 100644 --- a/src/dynapi/SDL_dynapi_procs.h +++ b/src/dynapi/SDL_dynapi_procs.h @@ -1020,3 +1020,4 @@ SDL_DYNAPI_PROC(int,SDL_CopyProperties,(SDL_PropertiesID a, SDL_PropertiesID b), SDL_DYNAPI_PROC(int,SDL_SetRenderColorScale,(SDL_Renderer *a, float b),(a,b),return) SDL_DYNAPI_PROC(int,SDL_GetRenderColorScale,(SDL_Renderer *a, float *b),(a,b),return) SDL_DYNAPI_PROC(int,SDL_RenderGeometryRawFloat,(SDL_Renderer *a, SDL_Texture *b, const float *c, int d, const SDL_FColor *e, int f, const float *g, int h, int i, const void *j, int k, int l),(a,b,c,d,e,f,g,h,i,j,k,l),return) +SDL_DYNAPI_PROC(int,SDL_SetWindowShape,(SDL_Window *a, SDL_Surface *b),(a,b),return) diff --git a/src/render/SDL_render.c b/src/render/SDL_render.c index 09101e328a..03464ef462 100644 --- a/src/render/SDL_render.c +++ b/src/render/SDL_render.c @@ -989,10 +989,14 @@ SDL_Renderer *SDL_CreateRendererWithProperties(SDL_PropertiesID props) renderer->color_scale = 1.0f; - if (SDL_GetWindowFlags(window) & (SDL_WINDOW_HIDDEN | SDL_WINDOW_MINIMIZED)) { - renderer->hidden = SDL_TRUE; - } else { - renderer->hidden = SDL_FALSE; + if (window) { + if (SDL_GetWindowFlags(window) & SDL_WINDOW_TRANSPARENT) { + renderer->transparent_window = SDL_TRUE; + } + + if (SDL_GetWindowFlags(window) & (SDL_WINDOW_HIDDEN | SDL_WINDOW_MINIMIZED)) { + renderer->hidden = SDL_TRUE; + } } new_props = SDL_GetRendererProperties(renderer); @@ -4247,6 +4251,32 @@ SDL_Surface *SDL_RenderReadPixels(SDL_Renderer *renderer, const SDL_Rect *rect) return renderer->RenderReadPixels(renderer, &real_rect); } +static void SDL_RenderApplyWindowShape(SDL_Renderer *renderer) +{ + SDL_Surface *shape = (SDL_Surface *)SDL_GetProperty(SDL_GetWindowProperties(renderer->window), SDL_PROP_WINDOW_SHAPE_POINTER, NULL); + if (shape != renderer->shape_surface) { + if (renderer->shape_texture) { + SDL_DestroyTexture(renderer->shape_texture); + renderer->shape_texture = NULL; + } + + if (shape) { + /* There's nothing we can do if this fails, so just keep on going */ + renderer->shape_texture = SDL_CreateTextureFromSurface(renderer, shape); + + SDL_SetTextureBlendMode(renderer->shape_texture, + SDL_ComposeCustomBlendMode( + SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDOPERATION_ADD, + SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDOPERATION_ADD)); + } + renderer->shape_surface = shape; + } + + if (renderer->shape_texture) { + SDL_RenderTexture(renderer, renderer->shape_texture, NULL, NULL); + } +} + static void SDL_SimulateRenderVSync(SDL_Renderer *renderer) { Uint64 now, elapsed; @@ -4285,6 +4315,10 @@ int SDL_RenderPresent(SDL_Renderer *renderer) SDL_RenderLogicalPresentation(renderer); } + if (renderer->transparent_window) { + SDL_RenderApplyWindowShape(renderer); + } + FlushRenderCommands(renderer); /* time to send everything to the GPU! */ #if DONT_DRAW_WHILE_HIDDEN diff --git a/src/render/SDL_sysrender.h b/src/render/SDL_sysrender.h index 838f874908..8d12b5d271 100644 --- a/src/render/SDL_sysrender.h +++ b/src/render/SDL_sysrender.h @@ -277,6 +277,11 @@ struct SDL_Renderer size_t vertex_data_used; size_t vertex_data_allocation; + /* Shaped window support */ + SDL_bool transparent_window; + SDL_Surface *shape_surface; + SDL_Texture *shape_texture; + SDL_PropertiesID props; void *driverdata; diff --git a/src/video/SDL_sysvideo.h b/src/video/SDL_sysvideo.h index 9bf5f3e6b9..68b6096033 100644 --- a/src/video/SDL_sysvideo.h +++ b/src/video/SDL_sysvideo.h @@ -253,6 +253,7 @@ struct SDL_VideoDevice int (*UpdateWindowFramebuffer)(SDL_VideoDevice *_this, SDL_Window *window, const SDL_Rect *rects, int numrects); void (*DestroyWindowFramebuffer)(SDL_VideoDevice *_this, SDL_Window *window); void (*OnWindowEnter)(SDL_VideoDevice *_this, SDL_Window *window); + int (*UpdateWindowShape)(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surface *shape); int (*FlashWindow)(SDL_VideoDevice *_this, SDL_Window *window, SDL_FlashOperation operation); int (*SetWindowFocusable)(SDL_VideoDevice *_this, SDL_Window *window, SDL_bool focusable); int (*SyncWindow)(SDL_VideoDevice *_this, SDL_Window *window); diff --git a/src/video/SDL_video.c b/src/video/SDL_video.c index 5ad2126acd..cbc6b29e1d 100644 --- a/src/video/SDL_video.c +++ b/src/video/SDL_video.c @@ -31,6 +31,7 @@ #include "SDL_video_c.h" #include "../events/SDL_events_c.h" #include "../SDL_hints_c.h" +#include "../SDL_properties_c.h" #include "../timer/SDL_timer_c.h" #include "SDL_video_capture_c.h" @@ -3485,6 +3486,13 @@ void SDL_OnWindowResized(SDL_Window *window) { SDL_CheckWindowDisplayChanged(window); SDL_CheckWindowPixelSizeChanged(window); + + if ((window->flags & SDL_WINDOW_TRANSPARENT) && _this->UpdateWindowShape) { + SDL_Surface *surface = (SDL_Surface *)SDL_GetProperty(window->props, SDL_PROP_WINDOW_SHAPE_POINTER, NULL); + if (surface) { + _this->UpdateWindowShape(_this, window, surface); + } + } } void SDL_CheckWindowPixelSizeChanged(SDL_Window *window) @@ -5054,6 +5062,39 @@ int SDL_SetWindowHitTest(SDL_Window *window, SDL_HitTest callback, void *callbac return 0; } +int SDL_SetWindowShape(SDL_Window *window, SDL_Surface *shape) +{ + SDL_PropertiesID props; + SDL_Surface *surface; + + CHECK_WINDOW_MAGIC(window, -1); + + if (!(window->flags & SDL_WINDOW_TRANSPARENT)) { + return SDL_SetError("Window must be created with SDL_WINDOW_TRANSPARENT"); + } + + props = SDL_GetWindowProperties(window); + if (!props) { + return -1; + } + + surface = SDL_ConvertSurfaceFormat(shape, SDL_PIXELFORMAT_ARGB32); + if (!surface) { + return -1; + } + + if (SDL_SetSurfaceProperty(props, SDL_PROP_WINDOW_SHAPE_POINTER, surface) < 0) { + return -1; + } + + if (_this->UpdateWindowShape) { + if (_this->UpdateWindowShape(_this, window, surface) < 0) { + return -1; + } + } + return 0; +} + /* * Functions used by iOS application delegates */ diff --git a/src/video/cocoa/SDL_cocoawindow.h b/src/video/cocoa/SDL_cocoawindow.h index 96fec957ab..2831ad334f 100644 --- a/src/video/cocoa/SDL_cocoawindow.h +++ b/src/video/cocoa/SDL_cocoawindow.h @@ -74,6 +74,7 @@ typedef enum - (BOOL)isMovingOrFocusClickPending; - (void)setFocusClickPending:(NSInteger)button; - (void)clearFocusClickPending:(NSInteger)button; +- (void)updateIgnoreMouseState:(NSEvent *)theEvent; - (void)setPendingMoveX:(float)x Y:(float)y; - (void)windowDidFinishMoving; - (void)onMovingOrFocusClickPendingStateCleared; diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 090558b951..e8afbb7420 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -834,6 +834,28 @@ static SDL_bool Cocoa_IsZoomed(SDL_Window *window) } } +- (void)updateIgnoreMouseState:(NSEvent *)theEvent +{ + SDL_Window *window = _data.window; + SDL_Surface *shape = (SDL_Surface *)SDL_GetProperty(SDL_GetWindowProperties(window), SDL_PROP_WINDOW_SHAPE_POINTER, NULL); + BOOL ignoresMouseEvents = NO; + + if (shape) { + NSPoint point = [theEvent locationInWindow]; + NSRect windowRect = [[_data.nswindow contentView] frame]; + if (NSMouseInRect(point, windowRect, NO)) { + int x = (int)SDL_roundf((point.x / (window->w - 1)) * (shape->w - 1)); + int y = (int)SDL_roundf(((window->h - point.y) / (window->h - 1)) * (shape->h - 1)); + Uint8 a; + + if (SDL_ReadSurfacePixel(shape, x, y, NULL, NULL, NULL, &a) < 0 || a == SDL_ALPHA_TRANSPARENT) { + ignoresMouseEvents = YES; + } + } + } + _data.nswindow.ignoresMouseEvents = ignoresMouseEvents; +} + - (void)setPendingMoveX:(float)x Y:(float)y { pendingWindowWarpX = x; @@ -1555,6 +1577,10 @@ static int Cocoa_SendMouseButtonClicks(SDL_Mouse *mouse, NSEvent *theEvent, SDL_ mouseID = mouse->mouseID; window = _data.window; + if (window->flags & SDL_WINDOW_TRANSPARENT) { + [self updateIgnoreMouseState:theEvent]; + } + if ([self processHitTest:theEvent]) { SDL_SendWindowEvent(window, SDL_EVENT_WINDOW_HIT_TEST, 0, 0); return; /* dragging, drop event. */ diff --git a/src/video/dummy/SDL_nullframebuffer.c b/src/video/dummy/SDL_nullframebuffer.c index 87d1b1be5f..7066151091 100644 --- a/src/video/dummy/SDL_nullframebuffer.c +++ b/src/video/dummy/SDL_nullframebuffer.c @@ -23,16 +23,11 @@ #ifdef SDL_VIDEO_DRIVER_DUMMY #include "../SDL_sysvideo.h" +#include "../../SDL_properties_c.h" #include "SDL_nullframebuffer_c.h" #define DUMMY_SURFACE "SDL.internal.window.surface" -static void CleanupSurface(void *userdata, void *value) -{ - SDL_Surface *surface = (SDL_Surface *)value; - - SDL_DestroySurface(surface); -} int SDL_DUMMY_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window, Uint32 *format, void **pixels, int *pitch) { @@ -48,7 +43,7 @@ int SDL_DUMMY_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window } /* Save the info and return! */ - SDL_SetPropertyWithCleanup(SDL_GetWindowProperties(window), DUMMY_SURFACE, surface, CleanupSurface, NULL); + SDL_SetSurfaceProperty(SDL_GetWindowProperties(window), DUMMY_SURFACE, surface); *format = surface_format; *pixels = surface->pixels; *pitch = surface->pitch; diff --git a/src/video/n3ds/SDL_n3dsframebuffer.c b/src/video/n3ds/SDL_n3dsframebuffer.c index f368506fee..0b098d2bd9 100644 --- a/src/video/n3ds/SDL_n3dsframebuffer.c +++ b/src/video/n3ds/SDL_n3dsframebuffer.c @@ -23,6 +23,7 @@ #ifdef SDL_VIDEO_DRIVER_N3DS #include "../SDL_sysvideo.h" +#include "../../SDL_properties_c.h" #include "SDL_n3dsframebuffer_c.h" #include "SDL_n3dsvideo.h" @@ -38,12 +39,6 @@ static int GetDestOffset(int x, int y, int dest_width); static int GetSourceOffset(int x, int y, int source_width); static void FlushN3DSBuffer(const void *buffer, u32 bufsize, gfxScreen_t screen); -static void CleanupSurface(void *userdata, void *value) -{ - SDL_Surface *surface = (SDL_Surface *)value; - - SDL_DestroySurface(surface); -} int SDL_N3DS_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window, Uint32 *format, void **pixels, int *pitch) { @@ -57,7 +52,7 @@ int SDL_N3DS_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window, return -1; } - SDL_SetPropertyWithCleanup(SDL_GetWindowProperties(window), N3DS_SURFACE, framebuffer, CleanupSurface, NULL); + SDL_SetSurfaceProperty(SDL_GetWindowProperties(window), N3DS_SURFACE, framebuffer); *format = FRAMEBUFFER_FORMAT; *pixels = framebuffer->pixels; *pitch = framebuffer->pitch; diff --git a/src/video/offscreen/SDL_offscreenframebuffer.c b/src/video/offscreen/SDL_offscreenframebuffer.c index 76fa8b7277..e712892bbd 100644 --- a/src/video/offscreen/SDL_offscreenframebuffer.c +++ b/src/video/offscreen/SDL_offscreenframebuffer.c @@ -23,16 +23,11 @@ #ifdef SDL_VIDEO_DRIVER_OFFSCREEN #include "../SDL_sysvideo.h" +#include "../../SDL_properties_c.h" #include "SDL_offscreenframebuffer_c.h" #define OFFSCREEN_SURFACE "SDL.internal.window.surface" -static void CleanupSurface(void *userdata, void *value) -{ - SDL_Surface *surface = (SDL_Surface *)value; - - SDL_DestroySurface(surface); -} int SDL_OFFSCREEN_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *window, Uint32 *format, void **pixels, int *pitch) { @@ -48,7 +43,7 @@ int SDL_OFFSCREEN_CreateWindowFramebuffer(SDL_VideoDevice *_this, SDL_Window *wi } /* Save the info and return! */ - SDL_SetPropertyWithCleanup(SDL_GetWindowProperties(window), OFFSCREEN_SURFACE, surface, CleanupSurface, NULL); + SDL_SetSurfaceProperty(SDL_GetWindowProperties(window), OFFSCREEN_SURFACE, surface); *format = surface_format; *pixels = surface->pixels; *pitch = surface->pitch; diff --git a/src/video/windows/SDL_windowsshape.c b/src/video/windows/SDL_windowsshape.c new file mode 100644 index 0000000000..0b5cac330d --- /dev/null +++ b/src/video/windows/SDL_windowsshape.c @@ -0,0 +1,124 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ +#include "SDL_internal.h" + +#ifdef SDL_VIDEO_DRIVER_WINDOWS + +#include "SDL_windowsvideo.h" +#include "SDL_windowsshape.h" + + +static void AddRegion(HRGN *mask, int x1, int y1, int x2, int y2) +{ + HRGN region = CreateRectRgn(x1, y1, x2, y2); + if (*mask) { + CombineRgn(*mask, *mask, region, RGN_OR); + DeleteObject(region); + } else { + *mask = region; + } +} + +static HRGN GenerateSpanListRegion(SDL_Surface *shape, int offset_x, int offset_y) +{ + HRGN mask = NULL; + int x, y; + int span_start = -1; + + for (y = 0; y < shape->h; ++y) { + const Uint8 *a = (const Uint8 *)shape->pixels + y * shape->pitch; + for (x = 0; x < shape->w; ++x) { + if (*a == SDL_ALPHA_TRANSPARENT) { + if (span_start != -1) { + AddRegion(&mask, offset_x + span_start, offset_y + y, offset_x + x, offset_y + y + 1); + span_start = -1; + } + } else { + if (span_start == -1) { + span_start = x; + } + } + a += 4; + } + if (span_start != -1) { + /* Add the final span */ + AddRegion(&mask, offset_x + span_start, offset_y + y, offset_x + x, offset_y + y + 1); + span_start = -1; + } + } + return mask; +} + +int WIN_UpdateWindowShape(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surface *shape) +{ + SDL_WindowData *data = window->driverdata; + HRGN mask = NULL; + + /* Generate a set of spans for the region */ + if (shape) { + SDL_Surface *stretched = NULL; + RECT rect; + + if (shape->w != window->w || shape->h != window->h) { + stretched = SDL_CreateSurface(window->w, window->h, SDL_PIXELFORMAT_ARGB32); + if (!stretched) { + return -1; + } + if (SDL_SoftStretch(shape, NULL, stretched, NULL, SDL_SCALEMODE_LINEAR) < 0) { + SDL_DestroySurface(stretched); + return -1; + } + shape = stretched; + } + + rect.top = 0; + rect.left = 0; + rect.bottom = 0; + rect.right = 0; + if (!(SDL_GetWindowFlags(data->window) & SDL_WINDOW_BORDERLESS)) { + WIN_AdjustWindowRectForHWND(data->hwnd, &rect, 0); + } + + mask = GenerateSpanListRegion(shape, -rect.left, -rect.top); + + if (!(SDL_GetWindowFlags(data->window) & SDL_WINDOW_BORDERLESS)) { + /* Add the window borders */ + /* top */ + AddRegion(&mask, 0, 0, -rect.left + shape->w + rect.right + 1, -rect.top + 1); + /* left */ + AddRegion(&mask, 0, -rect.top, -rect.left + 1, -rect.top + shape->h + 1); + /* right */ + AddRegion(&mask, -rect.left + shape->w, -rect.top, -rect.left + shape->w + rect.right + 1, -rect.top + shape->h + 1); + /* bottom */ + AddRegion(&mask, 0, -rect.top + shape->h, -rect.left + shape->w + rect.right + 1, -rect.top + shape->h + rect.bottom + 1); + } + + if (stretched) { + SDL_DestroySurface(stretched); + } + } + if (!SetWindowRgn(data->hwnd, mask, TRUE)) { + return WIN_SetError("SetWindowRgn failed"); + } + return 0; +} + +#endif /* SDL_VIDEO_DRIVER_WINDOWS */ diff --git a/src/video/windows/SDL_windowsshape.h b/src/video/windows/SDL_windowsshape.h new file mode 100644 index 0000000000..380fe0b8ff --- /dev/null +++ b/src/video/windows/SDL_windowsshape.h @@ -0,0 +1,28 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ +#include "SDL_internal.h" + +#ifndef SDL_windowsshape_h_ +#define SDL_windowsshape_h_ + +extern int WIN_UpdateWindowShape(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surface *shape); + +#endif /* SDL_windowsshape_h_ */ diff --git a/src/video/windows/SDL_windowsvideo.c b/src/video/windows/SDL_windowsvideo.c index 7b4385a9c7..afc016a36e 100644 --- a/src/video/windows/SDL_windowsvideo.c +++ b/src/video/windows/SDL_windowsvideo.c @@ -210,6 +210,7 @@ static SDL_VideoDevice *WIN_CreateDevice(void) device->ShowWindowSystemMenu = WIN_ShowWindowSystemMenu; device->SetWindowFocusable = WIN_SetWindowFocusable; #endif + device->UpdateWindowShape = WIN_UpdateWindowShape; #ifdef SDL_VIDEO_OPENGL_WGL device->GL_LoadLibrary = WIN_GL_LoadLibrary; diff --git a/src/video/windows/SDL_windowsvideo.h b/src/video/windows/SDL_windowsvideo.h index 2e9f18286e..15236acf72 100644 --- a/src/video/windows/SDL_windowsvideo.h +++ b/src/video/windows/SDL_windowsvideo.h @@ -42,6 +42,7 @@ #include "SDL_windowsclipboard.h" #include "SDL_windowsevents.h" #include "SDL_windowsopengl.h" +#include "SDL_windowsshape.h" #if !defined(SDL_PLATFORM_XBOXONE) && !defined(SDL_PLATFORM_XBOXSERIES) #include "SDL_windowskeyboard.h" diff --git a/src/video/x11/SDL_x11shape.c b/src/video/x11/SDL_x11shape.c new file mode 100644 index 0000000000..7abe55ab37 --- /dev/null +++ b/src/video/x11/SDL_x11shape.c @@ -0,0 +1,110 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ +#include "SDL_internal.h" + +#ifdef SDL_VIDEO_DRIVER_X11 + +#include "SDL_x11video.h" +#include "SDL_x11shape.h" + + +#ifdef SDL_VIDEO_DRIVER_X11_XSHAPE +static Uint8 *GenerateShapeMask(SDL_Surface *shape) +{ + int x, y; + const size_t ppb = 8; + const size_t bytes_per_scanline = (size_t)(shape->w + (ppb - 1)) / ppb; + const Uint8 *a; + Uint8 *mask; + Uint8 *mask_scanline; + Uint8 mask_value; + + mask = (Uint8 *)SDL_calloc(1, shape->h * bytes_per_scanline); + if (mask) { + for (y = 0; y < shape->h; y++) { + a = (const Uint8 *)shape->pixels + y * shape->pitch; + mask_scanline = mask + y * bytes_per_scanline; + for (x = 0; x < shape->w; x++) { + mask_value = (*a == SDL_ALPHA_TRANSPARENT) ? 0 : 1; + mask_scanline[x / ppb] |= mask_value << (x % ppb); + a += 4; + } + } + } + return mask; +} +#endif /* SDL_VIDEO_DRIVER_X11_XSHAPE */ + +int X11_UpdateWindowShape(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surface *shape) +{ +#ifdef SDL_VIDEO_DRIVER_X11_XSHAPE + SDL_WindowData *windowdata = window->driverdata; + int result = -1; + + /* Generate a set of spans for the region */ + if (shape) { + SDL_Surface *stretched = NULL; + Uint8 *mask; + Pixmap pixmap; + + if (shape->w != window->w || shape->h != window->h) { + stretched = SDL_CreateSurface(window->w, window->h, SDL_PIXELFORMAT_ARGB32); + if (!stretched) { + return -1; + } + if (SDL_SoftStretch(shape, NULL, stretched, NULL, SDL_SCALEMODE_LINEAR) < 0) { + SDL_DestroySurface(stretched); + return -1; + } + shape = stretched; + } + + mask = GenerateShapeMask(shape); + if (mask) { + pixmap = X11_XCreateBitmapFromData(windowdata->videodata->display, windowdata->xwindow, (const char *)mask, shape->w, shape->h); + X11_XShapeCombineMask(windowdata->videodata->display, windowdata->xwindow, ShapeInput, 0, 0, pixmap, ShapeSet); + SDL_free(mask); + + result = 0; + } + + if (stretched) { + SDL_DestroySurface(stretched); + } + } else { + Region region = X11_XCreateRegion(); + XRectangle rect; + + rect.x = 0; + rect.y = 0; + rect.width = window->w; + rect.height = window->h; + X11_XUnionRectWithRegion(&rect, region, region); + X11_XShapeCombineRegion(windowdata->videodata->display, windowdata->xwindow, ShapeInput, 0, 0, region, ShapeSet); + X11_XDestroyRegion(region); + result = 0; + } +#endif /* SDL_VIDEO_DRIVER_X11_XSHAPE */ + + return result; +} + +#endif /* SDL_VIDEO_DRIVER_X11 */ diff --git a/src/video/x11/SDL_x11shape.h b/src/video/x11/SDL_x11shape.h new file mode 100644 index 0000000000..7d9b52dd6f --- /dev/null +++ b/src/video/x11/SDL_x11shape.h @@ -0,0 +1,28 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ +#include "SDL_internal.h" + +#ifndef SDL_x11shape_h_ +#define SDL_x11shape_h_ + +extern int X11_UpdateWindowShape(SDL_VideoDevice *_this, SDL_Window *window, SDL_Surface *shape); + +#endif /* SDL_x11shape_h_ */ diff --git a/src/video/x11/SDL_x11sym.h b/src/video/x11/SDL_x11sym.h index 168c766c53..069e0d54fb 100644 --- a/src/video/x11/SDL_x11sym.h +++ b/src/video/x11/SDL_x11sym.h @@ -156,6 +156,7 @@ SDL_X11_SYM(int,XQueryTree,(Display* a,Window b,Window* c,Window* d,Window** e,u SDL_X11_SYM(Bool,XSupportsLocale,(void),(),return) SDL_X11_SYM(Status,XmbTextListToTextProperty,(Display* a,char** b,int c,XICCEncodingStyle d,XTextProperty* e),(a,b,c,d,e),return) SDL_X11_SYM(Region,XCreateRegion,(void),(),return) +SDL_X11_SYM(int,XUnionRectWithRegion,(XRectangle *a, Region b, Region c),(a,b,c), return) SDL_X11_SYM(void,XDestroyRegion,(Region),(a),) SDL_X11_SYM(void,XrmInitialize,(),(),) SDL_X11_SYM(char*,XResourceManagerString,(Display *display),(display),) diff --git a/src/video/x11/SDL_x11video.c b/src/video/x11/SDL_x11video.c index 0b02349660..bd568461dd 100644 --- a/src/video/x11/SDL_x11video.c +++ b/src/video/x11/SDL_x11video.c @@ -35,6 +35,7 @@ #include "SDL_x11xfixes.h" #include "SDL_x11xinput2.h" #include "SDL_x11messagebox.h" +#include "SDL_x11shape.h" #ifdef SDL_VIDEO_OPENGL_EGL #include "SDL_x11opengles.h" @@ -208,6 +209,7 @@ static SDL_VideoDevice *X11_CreateDevice(void) device->SetWindowHitTest = X11_SetWindowHitTest; device->AcceptDragAndDrop = X11_AcceptDragAndDrop; device->FlashWindow = X11_FlashWindow; + device->UpdateWindowShape = X11_UpdateWindowShape; device->ShowWindowSystemMenu = X11_ShowWindowSystemMenu; device->SetWindowFocusable = X11_SetWindowFocusable; device->SyncWindow = X11_SyncWindow; diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt index e0dfa18464..b7ef7ce0d5 100644 --- a/test/CMakeLists.txt +++ b/test/CMakeLists.txt @@ -347,6 +347,7 @@ files2headers(gamepad_image_headers gamepad_touchpad.bmp ) files2headers(icon_bmp_header icon.bmp) +files2headers(glass_bmp_header glass.bmp) add_sdl_test_executable(testaudio MAIN_CALLBACKS NEEDS_RESOURCES TESTUTILS SOURCES testaudio.c) add_sdl_test_executable(testcolorspace SOURCES testcolorspace.c) @@ -386,7 +387,7 @@ add_sdl_test_executable(testscale NEEDS_RESOURCES TESTUTILS SOURCES testscale.c) add_sdl_test_executable(testsem NONINTERACTIVE NONINTERACTIVE_ARGS 10 NONINTERACTIVE_TIMEOUT 30 SOURCES testsem.c) add_sdl_test_executable(testsensor SOURCES testsensor.c) add_sdl_test_executable(testshader NEEDS_RESOURCES TESTUTILS SOURCES testshader.c) -add_sdl_test_executable(testshape NEEDS_RESOURCES SOURCES testshape.c) +add_sdl_test_executable(testshape NEEDS_RESOURCES SOURCES testshape.c ${glass_bmp_header}) add_sdl_test_executable(testsprite MAIN_CALLBACKS NEEDS_RESOURCES TESTUTILS SOURCES testsprite.c) add_sdl_test_executable(testspriteminimal SOURCES testspriteminimal.c ${icon_bmp_header}) add_sdl_test_executable(teststreaming NEEDS_RESOURCES TESTUTILS SOURCES teststreaming.c) diff --git a/test/glass.bmp b/test/glass.bmp new file mode 100644 index 0000000000000000000000000000000000000000..83ced3ab1d35c04b3ffd7bbf994aa06204afd0da GIT binary patch literal 1537738 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

YVBv z>zqsEUgW&&d`)x?C-Pj&Io}N6n0!Dx*?~4(kurDmq8Y_8xu$KmEcB_*+y1rZ9#h7i z2fmh`(YCLx-#+(z5It8!&tJ|fZO^&afY$`kYsG8FYsqU1HbbzCm36c!Ml+|G�vh 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 #include +#include "glass.h" + + +static SDL_HitTestResult SDLCALL ShapeHitTest(SDL_Window *window, const SDL_Point *area, void *userdata) +{ + SDL_Surface *shape = (SDL_Surface *)userdata; + Uint8 r, g, b, a; + + if (SDL_ReadSurfacePixel(shape, area->x, area->y, &r, &g, &b, &a) == 0) { + if (a != SDL_ALPHA_TRANSPARENT) { + /* We'll just make everything draggable */ + return SDL_HITTEST_DRAGGABLE; + } + } + return SDL_HITTEST_NORMAL; +} int main(int argc, char *argv[]) { + const char *image_file = NULL; SDL_Window *window = NULL; SDL_Renderer *renderer = NULL; SDL_Surface *shape = NULL; - SDL_Texture *shape_texture = NULL; - SDL_Event event; + SDL_bool resizable = SDL_FALSE; + Uint32 flags; SDL_bool done = SDL_FALSE; + SDL_Event event; + int i; int return_code = 1; - if (argc != 2) { - SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Usage: %s shape.bmp\n", argv[0]); - goto quit; + for (i = 1; i < argc; ++i) { + if (SDL_strcmp(argv[i], "--resizable") == 0) { + resizable = SDL_TRUE; + } else if (!image_file) { + image_file = argv[i]; + } else { + SDL_LogError(SDL_LOG_CATEGORY_APPLICATION, "Usage: %s [--resizable] [shape.bmp]\n", argv[0]); + goto quit; + } } - /* Create the window hidden so we can set the window size to match our shape */ - window = SDL_CreateWindow("Shape test", 1, 1, SDL_WINDOW_HIDDEN | SDL_WINDOW_TRANSPARENT); + if (image_file) { + shape = SDL_LoadBMP(image_file); + if (!shape) { + SDL_Log("Couldn't load %s: %s\n", image_file, SDL_GetError()); + goto quit; + } + } else { + shape = SDL_LoadBMP_RW(SDL_RWFromConstMem(glass_bmp, sizeof(glass_bmp)), SDL_TRUE); + if (!shape) { + SDL_Log("Couldn't load glass.bmp: %s\n", SDL_GetError()); + goto quit; + } + } + + /* Create the window hidden so we can set the shape before it's visible */ + flags = (SDL_WINDOW_HIDDEN | SDL_WINDOW_TRANSPARENT); + if (resizable) { + flags |= SDL_WINDOW_RESIZABLE; + } else { + flags |= SDL_WINDOW_BORDERLESS; + } + window = SDL_CreateWindow("SDL Shape Test", shape->w, shape->h, flags); if (!window) { SDL_Log("Couldn't create transparent window: %s\n", SDL_GetError()); goto quit; @@ -41,12 +86,6 @@ int main(int argc, char *argv[]) goto quit; } - shape = SDL_LoadBMP(argv[1]); - if (!shape) { - SDL_Log("Couldn't load %s: %s\n", argv[1], SDL_GetError()); - goto quit; - } - if (!SDL_ISPIXELFORMAT_ALPHA(shape->format->format)) { /* Set the colorkey to the top-left pixel */ Uint8 r, g, b, a; @@ -55,24 +94,16 @@ int main(int argc, char *argv[]) SDL_SetSurfaceColorKey(shape, 1, SDL_MapRGBA(shape->format, r, g, b, a)); } - shape_texture = SDL_CreateTextureFromSurface(renderer, shape); - if (!shape_texture) { - SDL_Log("Couldn't create shape texture: %s\n", SDL_GetError()); - goto quit; - } - - /* Set the blend mode so the alpha channel of the shape is the window transparency */ - if (SDL_SetTextureBlendMode(shape_texture, - SDL_ComposeCustomBlendMode( - SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDOPERATION_ADD, - SDL_BLENDFACTOR_ZERO, SDL_BLENDFACTOR_SRC_ALPHA, SDL_BLENDOPERATION_ADD)) < 0) { - SDL_Log("Couldn't set shape blend mode: %s\n", SDL_GetError()); - goto quit; + if (!resizable) { + /* Set the hit test callback so we can drag the window */ + if (SDL_SetWindowHitTest(window, ShapeHitTest, shape) < 0) { + SDL_Log("Couldn't set hit test callback: %s\n", SDL_GetError()); + goto quit; + } } /* Set the window size to the size of our shape and show it */ - SDL_SetWindowSize(window, shape->w, shape->h); - SDL_SetWindowPosition(window, SDL_WINDOWPOS_CENTERED, SDL_WINDOWPOS_CENTERED); + SDL_SetWindowShape(window, shape); SDL_ShowWindow(window); /* We're ready to go! */ @@ -80,8 +111,11 @@ int main(int argc, char *argv[]) while (SDL_PollEvent(&event)) { switch (event.type) { case SDL_EVENT_KEY_DOWN: + if (event.key.keysym.sym == SDLK_ESCAPE) { + done = SDL_TRUE; + } + break; case SDL_EVENT_QUIT: - /* Quit on keypress and quit event */ done = SDL_TRUE; break; default: @@ -93,9 +127,6 @@ int main(int argc, char *argv[]) SDL_SetRenderDrawColor(renderer, 255, 255, 255, SDL_ALPHA_OPAQUE); SDL_RenderClear(renderer); - /* Apply the shape */ - SDL_RenderTexture(renderer, shape_texture, NULL, NULL); - /* Show everything on the screen and wait a bit */ SDL_RenderPresent(renderer); SDL_Delay(100);