From 402e73c307c82f2c87181632ae497c3e853f5b61 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Fri, 16 May 2014 06:38:18 -0400 Subject: [PATCH] Whoops, forgot to add objc_darwin.m to git! --- objc_darwin.m | 62 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 objc_darwin.m diff --git a/objc_darwin.m b/objc_darwin.m new file mode 100644 index 0000000..08113b6 --- /dev/null +++ b/objc_darwin.m @@ -0,0 +1,62 @@ +// 15 may 2014 + +#include "objc_darwin.h" +#include +#include +#include + +#define to(T, x) ((T *) (x)) +#define _toNSString(x) to(NSString, (x)) +#define toNSView(x) to(NSView, (x)) +#define toNSScrollView(x) to(NSScrollView, (x)) + +id toNSString(char *str) +{ + return [NSString stringWithUTF8String:str]; +} + +char *fromNSString(id str) +{ + return [_toNSString(str) UTF8String]; +} + +void display(id view) +{ + [toNSView(view) display]; +} + +struct xrect frame(id view) +{ + NSRect r; + struct xrect s; + + r = [toNSView(view) frame]; + s.x = (intptr_t) r.origin.x; + s.y = (intptr_t) r.origin.y; + s.width = (intptr_t) r.size.width; + s.height = (intptr_t) r.size.height; + return s; +} + +id makeScrollView(id content) +{ + NSScrollView *scrollview; + + scrollview = [[NSScrollView alloc] + initWithFrame:NSMakeRect(0, 0, 100, 100)]; + [scrollview setHasHorizontalScroller:YES]; + [scrollview setHasVerticalScroller:YES]; + [scrollview setAutohidesScrollers:YES]; + [scrollview setDocumentView:toNSView(content)]; + return scrollview; +} + +void giveScrollViewBezelBorder(id scrollview) +{ + [toNSScrollView(scrollview) setBorderType:NSBezelBorder]; +} + +id scrollViewContent(id scrollview) +{ + return [toNSScrollView(scrollview) documentView]; +}