-------- Original-Nachricht -------- > Datum: Fri, 17 Jul 2009 16:12:35 +0200 > Von: Stephan Assmus <superstippi@xxxxxx> > On 2009-07-17 at 14:40:19 [+0200], Rene Gollent <anevilyak@xxxxxxxxx> > wrote: > > On Fri, Jul 17, 2009 at 7:27 AM, Axel Dörfler<axeld@xxxxxxxxxxxxxxxx> > > wrote: > > > Sure, but isn't that just view->Frame() + parent->Bounds().LeftTop() > > > (ie. its scroll offset)? > > > > As far as I can see, no: > > > > Child Frame: BRect(l:41.0, t:0.0, r:939.0, b:31214.0) Child Bounds: > > BRect(l:0.0, t:0.0, r:898.0, b:31214.0) Parent Bounds: BRect(l:0.0, > > t:844.0, r:560.0, b:1195.0) > > Yes, but this is the correct behaviour. To get the true view port, you > would have to do something like this: > > BRect visibleRect = Frame(); > visibleRect &= parent->Bounds(); > ConvertFromParent(&visibleRect); IMO for this to have any meaning in any other than the "my parent is a child of a scroll view" case, one would have to recursively consider all ancestors up to the window. CU, Ingo