From f14614c0c7c98f160e27964dd8926cdc778712d0 Mon Sep 17 00:00:00 2001 From: Pietro Gagliardi Date: Mon, 12 May 2014 15:15:26 -0400 Subject: Began the migration to native Objective-C by moving the NSWindow functions and some of the shared helper routines. --- sysdata_darwin.m | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 sysdata_darwin.m (limited to 'sysdata_darwin.m') diff --git a/sysdata_darwin.m b/sysdata_darwin.m new file mode 100644 index 0000000..1eee324 --- /dev/null +++ b/sysdata_darwin.m @@ -0,0 +1,56 @@ +// 12 may 2014 + +//#include "sysdata_darwin.h" +#include "objc_darwin.h" +#include +#include +#include +#include + +static NSRect dummyRect;// = NSMakeRect(0, 0, 100, 100); + +#define to(T, x) ((T *) x) +#define toNSWindow(x) to(NSWindow, x) +#define toNSView(x) to(NSView, x) + +void addControl(id parentWindow, id control) +{ + [[toNSWindow(parentWindow) contentView] addSubview:control]; +} + +void controlShow(id what) +{ + [toNSView(what) setHidden:NO]; +} + +void controlHide(id what) +{ + [toNSView(what) setHidden:YES]; +} + +void applyStandardControlFont(id what) +{ + // TODO inline this + objc_setFont(what, NSRegularControlSize); +} + +id makeWindow(void) +{ + // TODO separate to initilaizer + dummyRect = NSMakeRect(0, 0, 100, 100); + return [[NSWindow alloc] + initWithContentRect:dummyRect + styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSMiniaturizableWindowMask | NSResizableWindowMask) + backing:NSBackingStoreBuffered + defer:YES]; // defer creation of device until we show the window +} + +void windowShow(id window) +{ + [toNSWindow(window) makeKeyAndOrderFront:window]; +} + +void windowHide(id window) +{ + [toNSWindow(window) orderOut:window]; +} -- cgit v1.2.3