diff options
Diffstat (limited to 'video/out/cocoa/additions.m')
-rw-r--r-- | video/out/cocoa/additions.m | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/video/out/cocoa/additions.m b/video/out/cocoa/additions.m new file mode 100644 index 0000000000..3caabef956 --- /dev/null +++ b/video/out/cocoa/additions.m @@ -0,0 +1,51 @@ +/* + * This file is part of mpv. + * + * mpv is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * mpv is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with mpv. If not, see <http://www.gnu.org/licenses/>. + */ + +#import "additions.h" + +@implementation NSScreen (mpvadditions) +- (BOOL)hasDock +{ + NSRect vF = [self visibleFrame]; + NSRect f = [self frame]; + return + // The visible frame's width is smaller: dock is on left or right end + // of this method's receiver. + vF.size.width < f.size.width || + // The visible frame's veritical origin is bigger: dock is + // on the bottom of this method's receiver. + vF.origin.y > f.origin.y; + +} + +- (BOOL)hasMenubar +{ + return [self isEqual: [NSScreen screens][0]]; +} +@end + +@implementation NSEvent (mpvadditions) +- (int)mpvButtonNumber +{ + int buttonNumber = [self buttonNumber]; + switch (buttonNumber) { + case 1: return 2; + case 2: return 1; + default: return buttonNumber; + } +} +@end |