summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPietro Gagliardi <[email protected]>2014-05-17 20:21:48 -0400
committerPietro Gagliardi <[email protected]>2014-05-17 20:21:48 -0400
commit216b5c183c0dad1e510969418eb3509e1df1d713 (patch)
tree183fbf2b3206be1671eeaa4dfe3e37278ee4d6a1
parentb9c12da83841b9f967f2579e81389ceade66dcb3 (diff)
Made drawing of NSScrollView backgrounds explicit on Mac OS X. This is what Interface Builder sets for NSTableViews, so we do that too for Listbox. This also means NSScrollView draws the background for our Areas, settling the clear clip rect TODO.
-rw-r--r--area_darwin.go2
-rw-r--r--objc_darwin.m2
2 files changed, 3 insertions, 1 deletions
diff --git a/area_darwin.go b/area_darwin.go
index 3211822..b24a0dd 100644
--- a/area_darwin.go
+++ b/area_darwin.go
@@ -27,7 +27,7 @@ func areaInScrollView(scrollview C.id) C.id {
//export areaView_drawRect
func areaView_drawRect(self C.id, rect C.struct_xrect) {
s := getSysData(self)
- // TODO clear clip rect
+ // no need to clear the clip rect; the NSScrollView does that for us (see the setDrawsBackground: call in objc_darwin.m)
// rectangles in Cocoa are origin/size, not point0/point1; if we don't watch for this, weird things will happen when scrolling
cliprect := image.Rect(int(rect.x), int(rect.y), int(rect.x + rect.width), int(rect.y + rect.height))
max := C.frame(self)
diff --git a/objc_darwin.m b/objc_darwin.m
index 09c2ec2..9628837 100644
--- a/objc_darwin.m
+++ b/objc_darwin.m
@@ -50,6 +50,8 @@ id makeScrollView(id content)
[scrollview setHasHorizontalScroller:YES];
[scrollview setHasVerticalScroller:YES];
[scrollview setAutohidesScrollers:YES];
+ // Interface Builder sets this for NSTableViews; we also want this on Areas
+ [scrollview setDrawsBackground:YES];
[scrollview setDocumentView:toNSView(content)];
return scrollview;
}