From 56b77b12bcf379552d15d619a02477968b658da5 Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Fri, 4 Jun 2021 19:51:58 -0400 Subject: [PATCH] cocoa: Implement FlashWindow --- src/video/cocoa/SDL_cocoavideo.m | 1 + src/video/cocoa/SDL_cocoawindow.h | 1 + src/video/cocoa/SDL_cocoawindow.m | 9 +++++++++ 3 files changed, 11 insertions(+) diff --git a/src/video/cocoa/SDL_cocoavideo.m b/src/video/cocoa/SDL_cocoavideo.m index f16b8aa66..cf6d8468f 100644 --- a/src/video/cocoa/SDL_cocoavideo.m +++ b/src/video/cocoa/SDL_cocoavideo.m @@ -107,6 +107,7 @@ Cocoa_CreateDevice(int devindex) device->GetWindowWMInfo = Cocoa_GetWindowWMInfo; device->SetWindowHitTest = Cocoa_SetWindowHitTest; device->AcceptDragAndDrop = Cocoa_AcceptDragAndDrop; + device->FlashWindow = Cocoa_FlashWindow; device->shape_driver.CreateShaper = Cocoa_CreateShaper; device->shape_driver.SetWindowShape = Cocoa_SetWindowShape; diff --git a/src/video/cocoa/SDL_cocoawindow.h b/src/video/cocoa/SDL_cocoawindow.h index a2000d420..96f84f20f 100644 --- a/src/video/cocoa/SDL_cocoawindow.h +++ b/src/video/cocoa/SDL_cocoawindow.h @@ -151,6 +151,7 @@ extern void Cocoa_DestroyWindow(_THIS, SDL_Window * window); extern SDL_bool Cocoa_GetWindowWMInfo(_THIS, SDL_Window * window, struct SDL_SysWMinfo *info); extern int Cocoa_SetWindowHitTest(SDL_Window *window, SDL_bool enabled); extern void Cocoa_AcceptDragAndDrop(SDL_Window * window, SDL_bool accept); +extern int Cocoa_FlashWindow(_THIS, SDL_Window * window, Uint32 flash_count); #endif /* SDL_cocoawindow_h_ */ diff --git a/src/video/cocoa/SDL_cocoawindow.m b/src/video/cocoa/SDL_cocoawindow.m index 2b5d2de62..148e2fbb0 100644 --- a/src/video/cocoa/SDL_cocoawindow.m +++ b/src/video/cocoa/SDL_cocoawindow.m @@ -2116,6 +2116,15 @@ Cocoa_AcceptDragAndDrop(SDL_Window * window, SDL_bool accept) } } +int +Cocoa_FlashWindow(_THIS, SDL_Window *window, Uint32 flash_count) +{ @autoreleasepool +{ + /* Note that this is app-wide and not window-specific! */ + [NSApp requestUserAttention:NSInformationalRequest]; + return 0; +}} + int Cocoa_SetWindowOpacity(_THIS, SDL_Window * window, float opacity) {