* removed declarations for methods which are not used/implemented in View.h
* improved naming of some private BView functions and used our underscore prefix * added a _DrawAfterChildren method to BView which does the necessary setup and calls the DrawAfterChildren hook * call the new _DrawAfterChildren method in the BWindow implementation, this was easy since the view tokens are already hierachically sorted * implement support for B_DRAW_ON_CHILDREN in the app_server's ViewLayer, it simply means that children are ignored for the views clipping region, any drawing methods will paint over children (therefor the B_DRAW_ON_CHILDREN flag is even properly named) With these changes, support for B_DRAW_ON_CHILDREN and the DrawAfterChildren() hook are implemented and behave exactly as on R5 as far as I can tell, also for the view background painting. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23154 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -1195,11 +1195,14 @@ FrameMoved(origin);
|
||||
printf("_UPDATE_ - didn't find view by token: %ld\n", (int32)tokens.ItemAtFast(i));
|
||||
//drawTime += system_time() - drawStart;
|
||||
}
|
||||
// TODO: the tokens are actually hirachically sorted,
|
||||
// NOTE: The tokens are actually hirachically sorted,
|
||||
// so traversing the list in revers and calling
|
||||
// child->DrawAfterChildren would actually work correctly,
|
||||
// only that drawing outside a view is not yet supported
|
||||
// in the app_server.
|
||||
// child->DrawAfterChildren actually works correctly
|
||||
for (int32 i = count - 1; i >= 0; i--) {
|
||||
if (BView* view = _FindView((int32)tokens.ItemAtFast(i)))
|
||||
view->_DrawAfterChildren(updateRect);
|
||||
}
|
||||
|
||||
//printf(" %ld views drawn, total Draw() time: %lld\n", count, drawTime);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user