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; }