summaryrefslogtreecommitdiff
path: root/bleh_darwin.m
diff options
context:
space:
mode:
Diffstat (limited to 'bleh_darwin.m')
-rw-r--r--bleh_darwin.m9
1 files changed, 9 insertions, 0 deletions
diff --git a/bleh_darwin.m b/bleh_darwin.m
index 48f0ae7..720da0f 100644
--- a/bleh_darwin.m
+++ b/bleh_darwin.m
@@ -67,6 +67,15 @@ id objc_msgSend_id_int(id obj, SEL sel, id a, intptr_t b)
}
/*
+same as above, but for unsigned short
+*/
+
+uintptr_t objc_msgSend_ushortret_noargs(id obj, SEL sel)
+{
+ return (uintptr_t) ((unsigned short) objc_msgSend(obj, sel));
+}
+
+/*
These are the objc_msgSend() wrappers around NSRect. The problem is that while on 32-bit systems, NSRect is a concrete structure, on 64-bit systems it's just a typedef to CGRect. While in practice just using CGRect everywhere seems to work, better to be safe than sorry.
I use int64_t for maximum safety, as my coordinates are stored as Go ints and Go int -> C int (which is what is documented as happening) isn't reliable.