diff --git a/src/tests/kits/interface/NewRegion/ClipRegion.cpp b/src/tests/kits/interface/NewRegion/ClipRegion.cpp index c64a52bc81..88471151dc 100644 --- a/src/tests/kits/interface/NewRegion/ClipRegion.cpp +++ b/src/tests/kits/interface/NewRegion/ClipRegion.cpp @@ -449,6 +449,22 @@ ClipRegion::_RecalculateBounds(const clipping_rect &rect) } +int32 +ClipRegion::_FindSmallestBottom(const int32 &top, const int32 &startIndex) const +{ + int32 bottom = kMaxVerticalExtent; + for (int32 i = startIndex; i < fCount; i++) { + const int32 n = fData[i].top - 1; + if (n >= top && n < bottom) + bottom = n; + if (fData[i].bottom >= top && fData[i].bottom < bottom) + bottom = fData[i].bottom; + } + + return bottom; +} + + void ClipRegion::_Append(const ClipRegion ®ion, const bool &aboveThis) { diff --git a/src/tests/kits/interface/NewRegion/ClipRegion.h b/src/tests/kits/interface/NewRegion/ClipRegion.h index eec44e5890..b8512f667b 100644 --- a/src/tests/kits/interface/NewRegion/ClipRegion.h +++ b/src/tests/kits/interface/NewRegion/ClipRegion.h @@ -17,13 +17,7 @@ public: ~ClipRegion(); clipping_rect Frame() const { return fBound; } - clipping_rect RectAt(const int32 &index) const - { - if (index >= 0 && index < fCount) - return fData[index]; - clipping_rect rect = { 0, 0, -1, -1 }; - return rect; - } + clipping_rect RectAt(const int32 &index) const; int32 CountRects() const { return fCount; } @@ -75,9 +69,21 @@ private: void _AddRect(const clipping_rect &rect); void _RecalculateBounds(const clipping_rect &newRect); + int32 _FindSmallestBottom(const int32 &top, const int32 &startIndex) const; + void _Invalidate(); bool _Resize(const int32 &newSize, const bool &keepOld = true); void _Adopt(ClipRegion ®ion); }; + +inline clipping_rect +ClipRegion::RectAt(const int32 &index) const +{ + if (index >= 0 && index < fCount) + return fData[index]; + clipping_rect rect = { 0, 0, -1, -1 }; + return rect; +} + #endif // __CLIPREGION_H diff --git a/src/tests/kits/interface/NewRegion/Region.cpp b/src/tests/kits/interface/NewRegion/Region.cpp index cbfa696e64..508d7b9712 100644 --- a/src/tests/kits/interface/NewRegion/Region.cpp +++ b/src/tests/kits/interface/NewRegion/Region.cpp @@ -45,10 +45,10 @@ #include #include -#include +#include "Region.h" -#include -#include +#include "clipping.h" +#include "ClipRegion.h"