Files
gio/app/internal/window/os_darwin.m
T
2020-12-03 16:45:17 +01:00

63 lines
1.3 KiB
Objective-C

// SPDX-License-Identifier: Unlicense OR MIT
@import Dispatch;
@import Foundation;
#include "_cgo_export.h"
void gio_wakeupMainThread(void) {
dispatch_async(dispatch_get_main_queue(), ^{
gio_dispatchMainFuncs();
});
}
NSUInteger gio_nsstringLength(CFTypeRef cstr) {
NSString *str = (__bridge NSString *)cstr;
return [str length];
}
void gio_nsstringGetCharacters(CFTypeRef cstr, unichar *chars, NSUInteger loc, NSUInteger length) {
NSString *str = (__bridge NSString *)cstr;
[str getCharacters:chars range:NSMakeRange(loc, length)];
}
void gio_hideCursor() {
@autoreleasepool {
[NSCursor hide];
}
}
void gio_showCursor() {
@autoreleasepool {
[NSCursor unhide];
}
}
void gio_setCursor(NSUInteger curID) {
@autoreleasepool {
switch (curID) {
case 1:
[NSCursor.arrowCursor set];
break;
case 2:
[NSCursor.IBeamCursor set];
break;
case 3:
[NSCursor.pointingHandCursor set];
break;
case 4:
[NSCursor.crosshairCursor set];
break;
case 5:
[NSCursor.resizeLeftRightCursor set];
break;
case 6:
[NSCursor.resizeUpDownCursor set];
break;
default:
[NSCursor.arrowCursor set];
break;
}
}
}