LibreOffice Module vcl (master)
1
|
#include <regionband.hxx>
Static Public Member Functions | |
static bool | InsertSingleBand (ImplRegionBand *pBand, tools::Long nYBandPosition) |
Private Member Functions | |
void | implReset () |
bool | CheckConsistency () const |
Private Attributes | |
ImplRegionBand * | mpFirstBand |
ImplRegionBand * | mpLastCheckedBand |
Friends | |
const char * | ImplDbgTestRegionBand (const void *) |
Definition at line 30 of file regionband.hxx.
RegionBand::RegionBand | ( | ) |
Definition at line 29 of file regionband.cxx.
RegionBand::RegionBand | ( | const RegionBand & | rRef | ) |
Definition at line 35 of file regionband.cxx.
RegionBand::RegionBand | ( | const tools::Rectangle & | rRect | ) |
Definition at line 70 of file regionband.cxx.
References tools::Rectangle::Bottom(), tools::Rectangle::Left(), mpFirstBand, tools::Rectangle::Right(), tools::Rectangle::Top(), and ImplRegionBand::Union().
RegionBand::~RegionBand | ( | ) |
Definition at line 102 of file regionband.cxx.
References implReset().
|
private |
Definition at line 1171 of file regionband.cxx.
References mpFirstBand, ImplRegionBand::mpFirstSep, and ImplRegionBand::mpNextBand.
Referenced by load().
bool RegionBand::Contains | ( | const Point & | rPoint | ) | const |
Definition at line 1232 of file regionband.cxx.
References ImplRegionBand::Contains(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, and ImplRegionBand::mpNextBand.
Referenced by vcl::Region::Contains().
void RegionBand::CreateBandRange | ( | tools::Long | nYTop, |
tools::Long | nYBottom | ||
) |
Definition at line 420 of file regionband.cxx.
References i, mpFirstBand, mpLastCheckedBand, ImplRegionBand::mpNextBand, and ImplRegionBand::mpPrevBand.
void RegionBand::Exclude | ( | tools::Long | nLeft, |
tools::Long | nTop, | ||
tools::Long | nRight, | ||
tools::Long | nBottom | ||
) |
Definition at line 977 of file regionband.cxx.
References ImplRegionBand::Exclude(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpNextBand, and SAL_WARN_IF.
Referenced by Exclude(), and Intersect().
bool RegionBand::Exclude | ( | const RegionBand & | rSource | ) |
Definition at line 1140 of file regionband.cxx.
References Exclude(), InsertBands(), ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, and OptimizeBandList().
tools::Rectangle RegionBand::GetBoundRect | ( | ) | const |
Definition at line 1186 of file regionband.cxx.
References ImplRegionBand::GetXLeftBoundary(), ImplRegionBand::GetXRightBoundary(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, and ImplRegionBand::mpNextBand.
sal_uInt32 RegionBand::getRectangleCount | ( | ) | const |
Definition at line 1279 of file regionband.cxx.
References mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, and nCount.
Referenced by vcl::Region::Intersect().
void RegionBand::GetRegionRectangles | ( | RectangleVector & | rTarget | ) | const |
Definition at line 1253 of file regionband.cxx.
References ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, tools::Rectangle::SetBottom(), tools::Rectangle::SetLeft(), tools::Rectangle::SetRight(), and tools::Rectangle::SetTop().
Referenced by vcl::Region::GetRegionRectangles().
void RegionBand::ImplAddMissingBands | ( | const tools::Long | nTop, |
const tools::Long | nBottom | ||
) |
This function is similar to the RegionBand::InsertBands() method.
It creates a minimal set of missing bands so that the entire vertical interval from nTop to nBottom is covered by bands.
Definition at line 376 of file regionband.cxx.
References ImplGetFirstRegionBand(), InsertBand(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, and ImplRegionBand::mpNextBand.
|
inline |
Definition at line 54 of file regionband.hxx.
References mpFirstBand.
Referenced by ImplAddMissingBands(), and ImplDbgTestRegionBand().
|
private |
Definition at line 87 of file regionband.cxx.
References mpFirstBand, mpLastCheckedBand, and ImplRegionBand::mpNextBand.
Referenced by load(), and ~RegionBand().
void RegionBand::InsertBand | ( | ImplRegionBand * | pPreviousBand, |
ImplRegionBand * | pBandToInsert | ||
) |
Definition at line 334 of file regionband.cxx.
References mpFirstBand, ImplRegionBand::mpNextBand, and ImplRegionBand::mpPrevBand.
Referenced by ImplAddMissingBands().
void RegionBand::InsertBands | ( | tools::Long | nTop, |
tools::Long | nBottom | ||
) |
Definition at line 718 of file regionband.cxx.
References InsertSingleBand(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, and ImplRegionBand::mpNextBand.
Referenced by Exclude(), Intersect(), Union(), and XOr().
void RegionBand::InsertLine | ( | const Point & | rStartPt, |
const Point & | rEndPt, | ||
tools::Long | nLineId | ||
) |
Definition at line 445 of file regionband.cxx.
References Ascending, Descending, InsertPoint(), and Point.
void RegionBand::InsertPoint | ( | const Point & | rPoint, |
tools::Long | nLineID, | ||
bool | bEndPoint, | ||
LineType | eLineType | ||
) |
Definition at line 540 of file regionband.cxx.
References ImplRegionBand::InsertPoint(), ImplRegionBand::mnYTop, mpFirstBand, mpLastCheckedBand, ImplRegionBand::mpNextBand, ImplRegionBand::mpPrevBand, and SAL_WARN_IF.
Referenced by InsertLine().
|
static |
Definition at line 799 of file regionband.cxx.
References ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, and ImplRegionBand::mpNextBand.
Referenced by InsertBands().
void RegionBand::Intersect | ( | tools::Long | nLeft, |
tools::Long | nTop, | ||
tools::Long | nRight, | ||
tools::Long | nBottom | ||
) |
Definition at line 917 of file regionband.cxx.
References ImplRegionBand::Intersect(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, and ImplRegionBand::mpNextBand.
void RegionBand::Intersect | ( | const RegionBand & | rSource | ) |
Definition at line 1059 of file regionband.cxx.
References Exclude(), InsertBands(), LONG_MAX, ImplRegionBand::mbTouched, ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, and ImplRegionBandSep::mpNextSep.
bool RegionBand::isSingleRectangle | ( | ) | const |
Definition at line 319 of file regionband.cxx.
References mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, and ImplRegionBandSep::mpNextSep.
Referenced by vcl::WriteRegion().
bool RegionBand::load | ( | SvStream & | rIStrm | ) |
Definition at line 203 of file regionband.cxx.
References CheckConsistency(), SvStream::eof(), SvStream::good(), implReset(), mpFirstBand, ImplRegionBand::mpNextBand, SvStream::ReadInt32(), SvStream::ReadUInt16(), SvStream::remainingSize(), and ImplRegionBand::Union().
void RegionBand::Move | ( | tools::Long | nHorzMove, |
tools::Long | nVertMove | ||
) |
Definition at line 670 of file regionband.cxx.
References ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, ImplRegionBand::MoveX(), mpFirstBand, and ImplRegionBand::mpNextBand.
Referenced by vcl::Region::Move().
RegionBand & RegionBand::operator= | ( | const RegionBand & | rRef | ) |
Definition at line 42 of file regionband.cxx.
References mpFirstBand, and ImplRegionBand::mpNextBand.
bool RegionBand::operator== | ( | const RegionBand & | rRegionBand | ) | const |
Definition at line 107 of file regionband.cxx.
References ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, and ImplRegionBandSep::mpNextSep.
bool RegionBand::OptimizeBandList | ( | ) |
Definition at line 591 of file regionband.cxx.
References ImplRegionBand::IsEmpty(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, and SAL_WARN_IF.
Referenced by Exclude().
void RegionBand::processPoints | ( | ) |
Definition at line 359 of file regionband.cxx.
References mpFirstBand, ImplRegionBand::mpNextBand, and ImplRegionBand::ProcessPoints().
Definition at line 287 of file regionband.cxx.
References ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, SvStream::WriteInt32(), and SvStream::WriteUInt16().
Referenced by vcl::WriteRegion().
void RegionBand::Scale | ( | double | fScaleX, |
double | fScaleY | ||
) |
Definition at line 694 of file regionband.cxx.
References basegfx::fround(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpNextBand, and ImplRegionBand::ScaleX().
Referenced by vcl::Region::Scale().
void RegionBand::Union | ( | tools::Long | nLeft, |
tools::Long | nTop, | ||
tools::Long | nRight, | ||
tools::Long | nBottom | ||
) |
Definition at line 881 of file regionband.cxx.
References ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpNextBand, SAL_WARN_IF, and ImplRegionBand::Union().
Referenced by Union().
void RegionBand::Union | ( | const RegionBand & | rSource | ) |
Definition at line 953 of file regionband.cxx.
References InsertBands(), ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, and Union().
void RegionBand::XOr | ( | tools::Long | nLeft, |
tools::Long | nTop, | ||
tools::Long | nRight, | ||
tools::Long | nBottom | ||
) |
Definition at line 1018 of file regionband.cxx.
References ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpNextBand, SAL_WARN_IF, and ImplRegionBand::XOr().
Referenced by XOr().
void RegionBand::XOr | ( | const RegionBand & | rSource | ) |
Definition at line 1210 of file regionband.cxx.
References InsertBands(), ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, mpFirstBand, ImplRegionBand::mpFirstSep, ImplRegionBand::mpNextBand, ImplRegionBandSep::mpNextSep, and XOr().
|
friend |
Definition at line 1301 of file regionband.cxx.
|
private |
Definition at line 35 of file regionband.hxx.
Referenced by CheckConsistency(), Contains(), CreateBandRange(), Exclude(), GetBoundRect(), getRectangleCount(), GetRegionRectangles(), ImplGetFirstRegionBand(), implReset(), InsertBand(), InsertBands(), InsertPoint(), Intersect(), isSingleRectangle(), load(), Move(), operator=(), operator==(), OptimizeBandList(), processPoints(), RegionBand(), save(), Scale(), Union(), and XOr().
|
private |
Definition at line 36 of file regionband.hxx.
Referenced by CreateBandRange(), implReset(), and InsertPoint().