Cleaned up objc_darwin.h and changed all instances of int64_t in the wrapper structs to intptr_t.
This commit is contained in:
parent
8084ef53e1
commit
14b3696d96
|
@ -143,7 +143,7 @@ var (
|
|||
)
|
||||
|
||||
func listboxPrefSize(control C.id) (width int, height int) {
|
||||
var maxwidth C.int64_t
|
||||
var maxwidth C.intptr_t
|
||||
|
||||
listbox := listboxInScrollView(control)
|
||||
_, height = controlPrefSize(listbox)
|
||||
|
@ -166,13 +166,13 @@ func (s *sysData) setRect(x int, y int, width int, height int, winheight int) er
|
|||
// winheight - y because (0,0) is the bottom-left corner of the window and not the top-left corner
|
||||
// (winheight - y) - height because (x, y) is the bottom-left corner of the control and not the top-left
|
||||
C.objc_msgSend_rect(s.id, _setFrame,
|
||||
C.int64_t(x), C.int64_t((winheight - y) - height), C.int64_t(width), C.int64_t(height))
|
||||
C.intptr_t(x), C.intptr_t((winheight - y) - height), C.intptr_t(width), C.intptr_t(height))
|
||||
// TODO having this here is a hack; split it into a separate function in listbox_darwin.go
|
||||
// the NSTableView:NSTableColumn ratio is what determines horizontal scrolling; see http://stackoverflow.com/questions/7050497/enable-scrolling-for-nstableview
|
||||
if s.ctype == c_listbox {
|
||||
listbox := listboxInScrollView(s.id)
|
||||
C.objc_msgSend_rect(listbox, _setFrame,
|
||||
0, 0, C.int64_t(width), C.int64_t(height))
|
||||
0, 0, C.intptr_t(width), C.intptr_t(height))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
|
|
@ -1,27 +1,36 @@
|
|||
/* 28 february 2014 */
|
||||
|
||||
/*
|
||||
This includes all Objective-C runtime headers for convenience. It also creates wrappers around objc_msgSend() out of necessity.
|
||||
|
||||
cgo doesn't support calling variable argument list C functions, so objc_msgSend() cannot be called directly.
|
||||
|
||||
Furthermore, Objective-C selectors work by basically sending the arguments to objc_msgSend() verbatim across the wire. This basically means we're stuck making wrapper functions for every possible argument list. What fun!
|
||||
|
||||
The format should be self-explanatory.
|
||||
*/
|
||||
|
||||
/* for some reason I now have to use an include guard after commit [master 9b4e30c] ("Started to build a single global delegate object; now to fix issues.") */
|
||||
#ifndef _OBJC_DARWIN_H_
|
||||
#define _OBJC_DARWIN_H_
|
||||
/* 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__
|
||||
|
||||
/* the Objective-C runtime headers, for id */
|
||||
#include <objc/message.h>
|
||||
#include <objc/objc.h>
|
||||
#include <objc/runtime.h>
|
||||
|
||||
#include <stdint.h>
|
||||
|
||||
struct xrect; // TODO move that up here when finally getting rid of bleh_darwin.m
|
||||
/* wrapper types since the meaning of NSRect, NSSize, and NSPoint are CPU architectured-dependent; also because they're in an Objective-C-only header */
|
||||
struct xrect {
|
||||
intptr_t x;
|
||||
intptr_t y;
|
||||
intptr_t width;
|
||||
intptr_t height;
|
||||
};
|
||||
|
||||
struct xsize {
|
||||
intptr_t width;
|
||||
intptr_t height;
|
||||
};
|
||||
|
||||
struct xpoint {
|
||||
intptr_t x;
|
||||
intptr_t y;
|
||||
};
|
||||
|
||||
/* objc_darwin.m */
|
||||
extern id toNSString(char *);
|
||||
extern char *fromNSString(id);
|
||||
extern void display(id);
|
||||
|
@ -30,23 +39,4 @@ extern id makeScrollView(id);
|
|||
extern void giveScrollViewBezelBorder(id);
|
||||
extern id scrollViewContent(id);
|
||||
|
||||
// BEGIN OLD CODE
|
||||
|
||||
struct xrect {
|
||||
int64_t x;
|
||||
int64_t y;
|
||||
int64_t width;
|
||||
int64_t height;
|
||||
};
|
||||
|
||||
struct xsize {
|
||||
int64_t width;
|
||||
int64_t height;
|
||||
};
|
||||
|
||||
struct xpoint {
|
||||
int64_t x;
|
||||
int64_t y;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Reference in New Issue