LibreOffice Module vcl (master) 1
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
RegionBand Class Reference

#include <regionband.hxx>

Collaboration diagram for RegionBand:
[legend]

Public Member Functions

 RegionBand ()
 
 RegionBand (const RegionBand &)
 
RegionBandoperator= (const RegionBand &)
 
 RegionBand (const tools::Rectangle &)
 
 ~RegionBand ()
 
bool operator== (const RegionBand &rRegionBand) const
 
bool load (SvStream &rIStrm)
 
void save (SvStream &rIStrm) const
 
bool isSingleRectangle () const
 
ImplRegionBandImplGetFirstRegionBand () const
 
void ImplAddMissingBands (const tools::Long nTop, const tools::Long nBottom)
 This function is similar to the RegionBand::InsertBands() method. More...
 
void InsertBand (ImplRegionBand *pPreviousBand, ImplRegionBand *pBandToInsert)
 
void processPoints ()
 
void CreateBandRange (tools::Long nYTop, tools::Long nYBottom)
 
void InsertLine (const Point &rStartPt, const Point &rEndPt, tools::Long nLineId)
 
void InsertPoint (const Point &rPoint, tools::Long nLineID, bool bEndPoint, LineType eLineType)
 
bool OptimizeBandList ()
 
void Move (tools::Long nHorzMove, tools::Long nVertMove)
 
void Scale (double fScaleX, double fScaleY)
 
void InsertBands (tools::Long nTop, tools::Long nBottom)
 
void Union (tools::Long nLeft, tools::Long nTop, tools::Long nRight, tools::Long nBottom)
 
void Intersect (tools::Long nLeft, tools::Long nTop, tools::Long nRight, tools::Long nBottom)
 
void Union (const RegionBand &rSource)
 
void Exclude (tools::Long nLeft, tools::Long nTop, tools::Long nRight, tools::Long nBottom)
 
void XOr (tools::Long nLeft, tools::Long nTop, tools::Long nRight, tools::Long nBottom)
 
void Intersect (const RegionBand &rSource)
 
bool Exclude (const RegionBand &rSource)
 
void XOr (const RegionBand &rSource)
 
tools::Rectangle GetBoundRect () const
 
bool Contains (const Point &rPoint) const
 
sal_uInt32 getRectangleCount () const
 
void GetRegionRectangles (RectangleVector &rTarget) const
 

Static Public Member Functions

static bool InsertSingleBand (ImplRegionBand *pBand, tools::Long nYBandPosition)
 

Private Member Functions

void implReset ()
 
bool CheckConsistency () const
 

Private Attributes

ImplRegionBandmpFirstBand
 
ImplRegionBandmpLastCheckedBand
 

Friends

const char * ImplDbgTestRegionBand (const void *)
 

Detailed Description

Definition at line 30 of file regionband.hxx.

Constructor & Destructor Documentation

◆ RegionBand() [1/3]

RegionBand::RegionBand ( )

Definition at line 30 of file regionband.cxx.

◆ RegionBand() [2/3]

RegionBand::RegionBand ( const RegionBand rRef)

Definition at line 36 of file regionband.cxx.

◆ RegionBand() [3/3]

RegionBand::RegionBand ( const tools::Rectangle rRect)

◆ ~RegionBand()

RegionBand::~RegionBand ( )

Definition at line 103 of file regionband.cxx.

References implReset().

Member Function Documentation

◆ CheckConsistency()

bool RegionBand::CheckConsistency ( ) const
private

Definition at line 1172 of file regionband.cxx.

References mpFirstBand, ImplRegionBand::mpFirstSep, and ImplRegionBand::mpNextBand.

Referenced by load().

◆ Contains()

bool RegionBand::Contains ( const Point rPoint) const

◆ CreateBandRange()

void RegionBand::CreateBandRange ( tools::Long  nYTop,
tools::Long  nYBottom 
)

◆ Exclude() [1/2]

bool RegionBand::Exclude ( const RegionBand rSource)

◆ Exclude() [2/2]

void RegionBand::Exclude ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)

◆ GetBoundRect()

tools::Rectangle RegionBand::GetBoundRect ( ) const

◆ getRectangleCount()

sal_uInt32 RegionBand::getRectangleCount ( ) const

◆ GetRegionRectangles()

void RegionBand::GetRegionRectangles ( RectangleVector rTarget) const

◆ ImplAddMissingBands()

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 377 of file regionband.cxx.

References ImplGetFirstRegionBand(), InsertBand(), ImplRegionBand::mnYBottom, ImplRegionBand::mnYTop, and ImplRegionBand::mpNextBand.

◆ ImplGetFirstRegionBand()

ImplRegionBand * RegionBand::ImplGetFirstRegionBand ( ) const
inline

Definition at line 54 of file regionband.hxx.

References mpFirstBand.

Referenced by ImplAddMissingBands().

◆ implReset()

void RegionBand::implReset ( )
private

Definition at line 88 of file regionband.cxx.

References mpFirstBand, mpLastCheckedBand, and ImplRegionBand::mpNextBand.

Referenced by load(), and ~RegionBand().

◆ InsertBand()

void RegionBand::InsertBand ( ImplRegionBand pPreviousBand,
ImplRegionBand pBandToInsert 
)

Definition at line 335 of file regionband.cxx.

References mpFirstBand, ImplRegionBand::mpNextBand, and ImplRegionBand::mpPrevBand.

Referenced by ImplAddMissingBands().

◆ InsertBands()

void RegionBand::InsertBands ( tools::Long  nTop,
tools::Long  nBottom 
)

◆ InsertLine()

void RegionBand::InsertLine ( const Point rStartPt,
const Point rEndPt,
tools::Long  nLineId 
)

Definition at line 446 of file regionband.cxx.

References Ascending, Descending, InsertPoint(), Point::X(), and Point::Y().

◆ InsertPoint()

void RegionBand::InsertPoint ( const Point rPoint,
tools::Long  nLineID,
bool  bEndPoint,
LineType  eLineType 
)

◆ InsertSingleBand()

bool RegionBand::InsertSingleBand ( ImplRegionBand pBand,
tools::Long  nYBandPosition 
)
static

◆ Intersect() [1/2]

void RegionBand::Intersect ( const RegionBand rSource)

◆ Intersect() [2/2]

void RegionBand::Intersect ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)

◆ isSingleRectangle()

bool RegionBand::isSingleRectangle ( ) const

◆ load()

bool RegionBand::load ( SvStream rIStrm)

◆ Move()

void RegionBand::Move ( tools::Long  nHorzMove,
tools::Long  nVertMove 
)

◆ operator=()

RegionBand & RegionBand::operator= ( const RegionBand rRef)

Definition at line 43 of file regionband.cxx.

References mpFirstBand, and ImplRegionBand::mpNextBand.

◆ operator==()

bool RegionBand::operator== ( const RegionBand rRegionBand) const

◆ OptimizeBandList()

bool RegionBand::OptimizeBandList ( )

◆ processPoints()

void RegionBand::processPoints ( )

◆ save()

void RegionBand::save ( SvStream rIStrm) const

◆ Scale()

void RegionBand::Scale ( double  fScaleX,
double  fScaleY 
)

◆ Union() [1/2]

void RegionBand::Union ( const RegionBand rSource)

◆ Union() [2/2]

void RegionBand::Union ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)

◆ XOr() [1/2]

void RegionBand::XOr ( const RegionBand rSource)

◆ XOr() [2/2]

void RegionBand::XOr ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)

Friends And Related Function Documentation

◆ ImplDbgTestRegionBand

const char * ImplDbgTestRegionBand ( const void *  )
friend

Definition at line 1304 of file regionband.cxx.

Member Data Documentation

◆ mpFirstBand

ImplRegionBand* RegionBand::mpFirstBand
private

◆ mpLastCheckedBand

ImplRegionBand* RegionBand::mpLastCheckedBand
private

Definition at line 36 of file regionband.hxx.

Referenced by CreateBandRange(), implReset(), and InsertPoint().


The documentation for this class was generated from the following files: