Mercurial > minori
comparison dep/animia/src/win/quartz.mm @ 163:44c5e6dd9488
dep/animia/osx: move GetProcessName to util/osx so we can use it in quartz
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Sat, 18 Nov 2023 00:47:40 -0500 |
parents | cdf79282d647 |
children | c413e475f496 |
comparison
equal
deleted
inserted
replaced
162:61b76c7b656a | 163:44c5e6dd9488 |
---|---|
1 #include "animia/win/quartz.h" | 1 #include "animia/win/quartz.h" |
2 #include "animia.h" | 2 #include "animia.h" |
3 | 3 |
4 #include <Foundation/Foundation.h> | 4 #import <Foundation/Foundation.h> |
5 #include <CoreGraphics/CoreGraphics.h> | 5 #import <CoreGraphics/CoreGraphics.h> |
6 #include <AppKit/AppKit.h> | 6 #import <AppKit/AppKit.h> |
7 | 7 |
8 namespace animia::internal::quartz { | 8 namespace animia::internal::quartz { |
9 | 9 |
10 template<typename T> | 10 template<typename T> |
11 static bool IntegerFromNSNumber(NSNumber* num, T& result) { | 11 static bool IntegerFromNSNumber(NSNumber* num, T& result) { |
46 | 46 |
47 Process proc; | 47 Process proc; |
48 { | 48 { |
49 IntegerFromNSNumber([window objectForKey:@"kCGWindowOwnerPID"], proc.pid); | 49 IntegerFromNSNumber([window objectForKey:@"kCGWindowOwnerPID"], proc.pid); |
50 StringFromNSString([window objectForKey:@"kCGWindowOwnerName"], proc.name); | 50 StringFromNSString([window objectForKey:@"kCGWindowOwnerName"], proc.name); |
51 if (proc.name.empty()) | |
52 osx::util::GetProcessName(proc.pid, proc.name); | |
51 } | 53 } |
52 | 54 |
53 Window win; | 55 Window win; |
54 { | 56 { |
55 IntegerFromNSNumber([window objectForKey:@"kCGWindowNumber"], win.id); | 57 IntegerFromNSNumber([window objectForKey:@"kCGWindowNumber"], win.id); |