-#ifdef SLIT
- Slit *slit = screen.getSlit();
- Toolbar *toolbar = screen.getToolbar();
- int tbarh = screen.hideToolbar() ? 0 :
- toolbar->getExposedHeight() + screen.getBorderWidth() * 2;
- bool tbartop;
- switch (toolbar->placement()) {
- case Toolbar::TopLeft:
- case Toolbar::TopCenter:
- case Toolbar::TopRight:
- tbartop = true;
- break;
- case Toolbar::BottomLeft:
- case Toolbar::BottomCenter:
- case Toolbar::BottomRight:
- tbartop = false;
- break;
- default:
- ASSERT(false); // unhandled placement
- }
- if ((slit->direction() == Slit::Horizontal &&
- (slit->placement() == Slit::TopLeft ||
- slit->placement() == Slit::TopRight)) ||
- slit->placement() == Slit::TopCenter) {
- // exclude top
- if (tbartop) {
- space.setY(slit->area().y());
- space.setH(space.h() - space.y());
- } else
- space.setH(space.h() - tbarh);
- space.setY(space.y() + slit->area().h() + screen.getBorderWidth() * 2);
- space.setH(space.h() - (slit->area().h() + screen.getBorderWidth() * 2));
- } else if ((slit->direction() == Slit::Vertical &&
- (slit->placement() == Slit::TopRight ||
- slit->placement() == Slit::BottomRight)) ||
- slit->placement() == Slit::CenterRight) {
- // exclude right
- space.setW(space.w() - (slit->area().w() + screen.getBorderWidth() * 2));
- if (tbartop)
- space.setY(space.y() + tbarh);
- space.setH(space.h() - tbarh);
- } else if ((slit->direction() == Slit::Horizontal &&
- (slit->placement() == Slit::BottomLeft ||
- slit->placement() == Slit::BottomRight)) ||
- slit->placement() == Slit::BottomCenter) {
- // exclude bottom
- space.setH(space.h() - (screen.size().h() - slit->area().y()));
- } else {// if ((slit->direction() == Slit::Vertical &&
- // (slit->placement() == Slit::TopLeft ||
- // slit->placement() == Slit::BottomLeft)) ||
- // slit->placement() == Slit::CenterLeft)
- // exclude left
- space.setX(slit->area().w() + screen.getBorderWidth() * 2);
- space.setW(space.w() - (slit->area().w() + screen.getBorderWidth() * 2));
- if (tbartop)
- space.setY(space.y() + tbarh);
- space.setH(space.h() - tbarh);
- }
-#else // !SLIT
- Toolbar *toolbar = screen.getToolbar();
- int tbarh = screen.hideToolbar() ? 0 :
- toolbar->getExposedHeight() + screen.getBorderWidth() * 2;
- switch (toolbar->placement()) {
- case Toolbar::TopLeft:
- case Toolbar::TopCenter:
- case Toolbar::TopRight:
- space.setY(toolbar->getExposedHeight());
- space.setH(space.h() - toolbar->getExposedHeight());
- break;
- case Toolbar::BottomLeft:
- case Toolbar::BottomCenter:
- case Toolbar::BottomRight:
- space.setH(space.h() - tbarh);
- break;
- default:
- ASSERT(false); // unhandled placement