John Scipione wrote:
Secondly, we should take into account the border width and tab size of the window. Unfortunately, there doesn't appear to be any public way to do this so we are going to have to provide one. I simply faked it on Paladin by measuring and hardcoding the values used by the default decorator. BWindow however does provides this information from the private BWindow::_GetDecoratorSize() method. This needs to be made public if we expect zoom to be implemented seriously by third party apps.
I just noticed that BWindow::_GetDecoratorSize() is used by BWindow::DecoratorFrame() which is already public. Thank you stippi for providing this method in BWindow (in 2009 apparently). So the needed functionality seems to already exist and is public, now we just have to actually _USE_ it in apps.