Corner
if (Corner() == UP_RIGHT_CORNER)
else if (Corner() == DOWN_RIGHT_CORNER)
if (Corner() == UP_LEFT_CORNER)
else if (Corner() == DOWN_LEFT_CORNER)
deskbar_location Corner() const;
if (Corner() == UP_RIGHT_CORNER)
else if (Corner() == DOWN_RIGHT_CORNER)
if (Corner() == UP_LEFT_CORNER)
else if (Corner() == DOWN_LEFT_CORNER)
if (Corner() == DOWN_LEFT_CORNER)
else if (Corner() == DOWN_RIGHT_CORNER)
if (Corner() == UP_LEFT_CORNER)
else if (Corner() == UP_RIGHT_CORNER)
screen_corner Corner() const;
fSettings.SetBlankCorner(fFadeNow->Corner());
fSettings.SetNeverBlankCorner(fFadeNever->Corner());
Corner* corner = crossingList->ItemAt(i)->LeftTopCorner();
if (corner->status != Corner::kUsed)
Corner* corner = crossingList->ItemAt(i)->LeftTopCorner();
if (corner->status != Corner::kUsed)
Corner* corner = crossingList->ItemAt(i)->RightTopCorner();
if (corner->status != Corner::kUsed)
Corner* corner = crossingList->ItemAt(i)->LeftBottomCorner();
if (corner->status != Corner::kUsed)
WindowArea::_SetToWindowCorner(Corner* corner)
corner->status = Corner::kUsed;
WindowArea::_SetToNeighbourCorner(Corner* neighbour)
if (neighbour->status == Corner::kNotDockable)
neighbour->status = Corner::kFree;
WindowArea::_UnsetWindowCorner(Corner* corner)
corner->status = Corner::kFree;
WindowArea::_UnsetNeighbourCorner(Corner* neighbour, Corner* opponent)
if (neighbour->status == Corner::kFree && opponent->status != Corner::kUsed)
neighbour->status = Corner::kNotDockable;
Corner::Corner()
Corner::Trace() const
Corner*
Crossing::GetCorner(Corner::position_t corner) const
return &const_cast<Corner*>(fCorners)[corner];
Corner*
Crossing::GetOppositeCorner(Corner::position_t corner) const
return &const_cast<Corner*>(fCorners)[3 - corner];
fCorners[Corner::kLeftTop].Trace();
fCorners[Corner::kRightTop].Trace();
fCorners[Corner::kLeftBottom].Trace();
fCorners[Corner::kRightBottom].Trace();
inline void _SetToWindowCorner(Corner* corner);
inline void _SetToNeighbourCorner(Corner* neighbour);
inline void _UnsetWindowCorner(Corner* corner);
inline void _UnsetNeighbourCorner(Corner* neighbour,
Corner* opponent);
class Corner {
Corner();
Corner* GetCorner(Corner::position_t corner) const;
Corner* GetOppositeCorner(
Corner::position_t corner) const;
Corner* LeftTopCorner()
{ return &fCorners[Corner::kLeftTop]; }
Corner* RightTopCorner()
{ return &fCorners[Corner::kRightTop]; }
Corner* LeftBottomCorner()
{ return &fCorners[Corner::kLeftBottom]; }
Corner* RightBottomCorner()
{ return &fCorners[Corner::kRightBottom]; }
Corner fCorners[4];
if (_FindFreeAreaInGroup(group, Corner::kLeftTop))
if (_FindFreeAreaInGroup(group, Corner::kRightTop))
if (_FindFreeAreaInGroup(group, Corner::kLeftBottom))
if (_FindFreeAreaInGroup(group, Corner::kRightBottom))
SATTiling::_FindFreeAreaInGroup(SATGroup* group, Corner::position_t cor)
Corner::position_t cor, BRect& windowFrame)
const Corner* corner = crossing->GetOppositeCorner(cor);
if (corner->status != Corner::kFree)
case Corner::kLeftTop:
if (crossing->RightBottomCorner()->status == Corner::kUsed)
if (crossing->LeftBottomCorner()->status == Corner::kUsed)
if (crossing->RightTopCorner()->status == Corner::kUsed)
case Corner::kRightTop:
if (crossing->LeftBottomCorner()->status == Corner::kUsed)
if (crossing->RightBottomCorner()->status == Corner::kUsed)
if (crossing->LeftTopCorner()->status == Corner::kUsed)
case Corner::kLeftBottom:
if (crossing->RightTopCorner()->status == Corner::kUsed)
if (crossing->LeftTopCorner()->status == Corner::kUsed)
if (crossing->RightBottomCorner()->status == Corner::kUsed)
case Corner::kRightBottom:
if (crossing->LeftTopCorner()->status == Corner::kUsed)
if (crossing->RightTopCorner()->status == Corner::kUsed)
if (crossing->LeftBottomCorner()->status == Corner::kUsed)
Corner::position_t corner, BRect& windowFrame)
case Corner::kLeftTop:
case Corner::kRightTop:
case Corner::kLeftBottom:
case Corner::kRightBottom:
Corner* corner = leftTopCrossing->RightBottomCorner();
if (corner->status != Corner::kUsed)
SATTiling::_CheckArea(SATGroup* group, Corner::position_t corner,
SATTiling::_IsCornerInFreeArea(Corner::position_t corner, BRect& frame)
case Corner::kLeftTop:
case Corner::kRightTop:
case Corner::kLeftBottom:
case Corner::kRightBottom:
fFreeAreaTop ? Corner::kLeftBottom : Corner::kLeftTop,
fFreeAreaLeft ? Corner::kRightTop : Corner::kLeftTop,
fFreeAreaTop ? Corner::kRightBottom : Corner::kRightTop,
vTabs, fFreeAreaLeft ? Corner::kRightBottom : Corner::kLeftBottom,
Tab* secondOrthTab, const TabList* orthTabs, Corner::position_t areaCorner,
Corner* corner = crossing->GetCorner(areaCorner);
Corner::position_t corner);
Corner::position_t corner, BRect& windowFrame);
Corner::position_t areaCorner,
Corner::position_t corner, BRect& windowFrame,
bool _IsCornerInFreeArea(Corner::position_t corner,
Corner::position_t areaCorner,