2014-03-01 03:17:32 -06:00
/* 28 february 2014 */
2014-05-16 05:37:25 -05:00
/* apparently this header is included by other headers generated by cgo, wrecking the structures below, so wheee include guards */
/* the change that introduced this was [master 9b4e30c] ("Started to build a single global delegate object; now to fix issues.") */
# ifndef __GO_UI_OBJC_DARWIN_H__
# define __GO_UI_OBJC_DARWIN_H__
2014-03-01 16:01:28 -06:00
2014-06-11 13:58:39 -05:00
# define MAC_OS_X_VERSION_MIN_REQUIRED MAC_OS_X_VERSION_10_7
# define MAC_OS_X_VERSION_MAX_ALLOWED MAC_OS_X_VERSION_10_7
2014-05-19 22:53:10 -05:00
2014-05-16 05:37:25 -05:00
/* the Objective-C runtime headers, for id */
2014-03-01 03:17:32 -06:00
# include <objc/message.h>
# include <objc/objc.h>
# include <objc/runtime.h>
# include <stdint.h>
2014-06-26 09:06:58 -05:00
/* wrapper types since the meaning of NSRect, NSSize, and NSPoint are CPU architecture3d-dependent; also because they're in an Objective-C-only header */
2014-03-01 12:58:38 -06:00
struct xrect {
2014-05-16 05:37:25 -05:00
intptr_t x ;
intptr_t y ;
intptr_t width ;
intptr_t height ;
2014-03-01 12:58:38 -06:00
} ;
2014-03-01 03:21:47 -06:00
struct xsize {
2014-05-16 05:37:25 -05:00
intptr_t width ;
intptr_t height ;
2014-03-01 03:21:47 -06:00
} ;
2014-03-30 16:52:27 -05:00
struct xpoint {
2014-05-16 05:37:25 -05:00
intptr_t x ;
intptr_t y ;
2014-03-30 16:52:27 -05:00
} ;
2014-06-26 09:06:58 -05:00
struct xalignment {
struct xrect alignmentRect ;
intptr_t baseline ;
} ;
2014-05-16 05:37:25 -05:00
/* objc_darwin.m */
extern id toNSString ( char * ) ;
extern char * fromNSString ( id ) ;
extern void display ( id ) ;
extern struct xrect frame ( id ) ;
extern id makeScrollView ( id ) ;
extern void giveScrollViewBezelBorder ( id ) ;
extern id scrollViewContent ( id ) ;
2014-05-16 05:49:29 -05:00
/* area_darwin.m */
2014-06-07 17:17:29 -05:00
extern Class areaClass ;
extern void initAreaClass ( void ) ;
2014-05-16 05:49:29 -05:00
extern id makeArea ( void ) ;
extern void drawImage ( void * , intptr_t , intptr_t , intptr_t , intptr_t , intptr_t ) ;
extern uintptr_t modifierFlags ( id ) ;
extern struct xpoint getTranslatedEventPoint ( id , id ) ;
extern intptr_t buttonNumber ( id ) ;
extern intptr_t clickCount ( id ) ;
extern uintptr_t pressedMouseButtons ( void ) ;
extern uintptr_t keyCode ( id ) ;
/* delegateuitask_darwin.m */
extern id makeAppDelegate ( void ) ;
extern id windowGetContentView ( id ) ;
extern BOOL initCocoa ( id ) ;
2014-07-03 10:53:21 -05:00
extern void uipost ( id , void * ) ;
2014-05-16 05:49:29 -05:00
extern void breakMainLoop ( void ) ;
extern void cocoaMainLoop ( void ) ;
/* dialog_darwin.m */
2014-06-30 21:48:12 -05:00
extern void msgBox ( id , id , id ) ;
extern void msgBoxError ( id , id , id ) ;
2014-05-16 05:49:29 -05:00
/* listbox_darwin.m */
extern id toListboxItem ( id , id ) ;
extern id fromListboxItem ( id , id ) ;
2014-05-16 19:44:19 -05:00
extern id makeListboxArray ( void ) ;
2014-05-16 05:49:29 -05:00
extern void listboxArrayAppend ( id , id ) ;
extern void listboxArrayInsertBefore ( id , id , uintptr_t ) ;
extern void listboxArrayDelete ( id , uintptr_t ) ;
extern id listboxArrayItemAt ( id , uintptr_t ) ;
extern void bindListboxArray ( id , id , id , id ) ;
extern id boundListboxArray ( id , id ) ;
extern id makeListboxTableColumn ( id ) ;
extern id listboxTableColumn ( id , id ) ;
extern id makeListbox ( id , BOOL ) ;
extern id listboxSelectedRowIndexes ( id ) ;
extern uintptr_t listboxIndexesCount ( id ) ;
extern uintptr_t listboxIndexesFirst ( id ) ;
extern uintptr_t listboxIndexesNext ( id , uintptr_t ) ;
extern intptr_t listboxLen ( id ) ;
/* prefsize_darwin.m */
2014-06-25 23:23:29 -05:00
extern struct xsize controlPrefSize ( id ) ;
extern struct xsize listboxPrefSize ( id ) ;
extern struct xsize pbarPrefSize ( id ) ;
extern struct xsize areaPrefSize ( id ) ;
2014-06-26 09:06:58 -05:00
extern struct xalignment alignmentInfo ( id , struct xrect ) ;
2014-05-16 05:49:29 -05:00
/* sysdata_darwin.m */
extern void addControl ( id , id ) ;
extern void controlShow ( id ) ;
extern void controlHide ( id ) ;
extern void applyStandardControlFont ( id ) ;
extern id makeWindow ( id ) ;
extern void windowShow ( id ) ;
extern void windowHide ( id ) ;
extern void windowSetTitle ( id , id ) ;
extern id windowTitle ( id ) ;
extern id makeButton ( void ) ;
extern void buttonSetTargetAction ( id , id ) ;
extern void buttonSetText ( id , id ) ;
extern id buttonText ( id ) ;
extern id makeCheckbox ( void ) ;
2014-05-16 05:56:33 -05:00
extern id makeLineEdit ( BOOL ) ;
2014-05-16 05:49:29 -05:00
extern void lineeditSetText ( id , id ) ;
extern id lineeditText ( id ) ;
extern id makeLabel ( void ) ;
extern id makeProgressBar ( void ) ;
extern void setRect ( id , intptr_t , intptr_t , intptr_t , intptr_t ) ;
extern BOOL isCheckboxChecked ( id ) ;
extern void windowSetContentSize ( id , intptr_t , intptr_t ) ;
extern void setProgress ( id , intptr_t ) ;
extern void setAreaSize ( id , intptr_t , intptr_t ) ;
2014-06-11 10:17:00 -05:00
extern void center ( id ) ;
2014-06-26 20:54:14 -05:00
extern void setCheckboxChecked ( id , BOOL ) ;
2014-05-16 05:49:29 -05:00
2014-05-28 22:46:33 -05:00
/* combobox_darwin.m */
extern id makeCombobox ( BOOL ) ;
extern id comboboxText ( id , BOOL ) ;
extern void comboboxAppend ( id , BOOL , id ) ;
extern void comboboxInsertBefore ( id , BOOL , id , intptr_t ) ;
extern intptr_t comboboxSelectedIndex ( id ) ;
extern void comboboxDelete ( id , intptr_t ) ;
extern intptr_t comboboxLen ( id ) ;
2014-03-01 16:01:28 -06:00
# endif