mirror of
				https://github.com/libsdl-org/SDL.git
				synced 2025-10-26 12:27:44 +00:00 
			
		
		
		
	MacOS: Added hint to control update of the metal layer's drawable size (#14053)
This commit is contained in:
		| @@ -3615,6 +3615,22 @@ extern "C" { | ||||
|  */ | ||||
| #define SDL_HINT_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY "SDL_VIDEO_MAC_FULLSCREEN_MENU_VISIBILITY" | ||||
|  | ||||
| /** | ||||
|  * A variable indicating whether the metal layer drawable size should be | ||||
|  * updated for the SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event on macOS. | ||||
|  * | ||||
|  * The variable can be set to the following values: | ||||
|  * | ||||
|  * - "0": the metal layer drawable size will not be updated | ||||
|  *   on the SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event. | ||||
|  * - "1": the metal layer drawable size will be updated | ||||
|  *   on the SDL_EVENT_WINDOW_PIXEL_SIZE_CHANGED event. (default) | ||||
|  * | ||||
|  * This hint should be set before SDL_Metal_CreateView called. | ||||
|  * | ||||
|  * \since This hint is available since SDL 3.4.0. */ | ||||
| #define SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE "SDL_VIDEO_METAL_AUTO_RESIZE_DRAWABLE" | ||||
|  | ||||
| /** | ||||
|  * A variable controlling whether SDL will attempt to automatically set the | ||||
|  * destination display to a mode most closely matching that of the previous | ||||
|   | ||||
| @@ -90,7 +90,9 @@ static bool SDLCALL SDL_MetalViewEventWatch(void *userdata, SDL_Event *event) | ||||
|  | ||||
|         self.layer.opaque = opaque; | ||||
|  | ||||
|         if (SDL_GetHintBoolean(SDL_HINT_VIDEO_METAL_AUTO_RESIZE_DRAWABLE, true)) { | ||||
|             SDL_AddWindowEventWatch(SDL_WINDOW_EVENT_WATCH_EARLY, SDL_MetalViewEventWatch, (__bridge void *)(self)); | ||||
|         } | ||||
|  | ||||
|         [self updateDrawableSize]; | ||||
|     } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Dima Volynets
					Dima Volynets