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 long nTop, const long nBottom)
 This function is similar to the RegionBand::InsertBands() method. More...
 
void InsertBand (ImplRegionBand *pPreviousBand, ImplRegionBand *pBandToInsert)
 
void processPoints ()
 
void CreateBandRange (long nYTop, long nYBottom)
 
void InsertLine (const Point &rStartPt, const Point &rEndPt, long nLineId)
 
void InsertPoint (const Point &rPoint, long nLineID, bool bEndPoint, LineType eLineType)
 
bool OptimizeBandList ()
 
void Move (long nHorzMove, long nVertMove)
 
void Scale (double fScaleX, double fScaleY)
 
void InsertBands (long nTop, long nBottom)
 
void Union (long nLeft, long nTop, long nRight, long nBottom)
 
void Intersect (long nLeft, long nTop, long nRight, long nBottom)
 
void Union (const RegionBand &rSource)
 
void Exclude (long nLeft, long nTop, long nRight, long nBottom)
 
void XOr (long nLeft, long nTop, long nRight, long nBottom)
 
void Intersect (const RegionBand &rSource)
 
bool Exclude (const RegionBand &rSource)
 
void XOr (const RegionBand &rSource)
 
tools::Rectangle GetBoundRect () const
 
bool IsInside (const Point &rPoint) const
 
sal_uInt32 getRectangleCount () const
 
void GetRegionRectangles (RectangleVector &rTarget) const
 

Static Public Member Functions

static bool InsertSingleBand (ImplRegionBand *pBand, 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::RegionBand ( )

Definition at line 25 of file regionband.cxx.

RegionBand::RegionBand ( const RegionBand rRef)

Definition at line 31 of file regionband.cxx.

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

Definition at line 98 of file regionband.cxx.

References implReset().

Member Function Documentation

bool RegionBand::CheckConsistency ( ) const
private

Definition at line 1163 of file regionband.cxx.

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

Referenced by load().

void RegionBand::CreateBandRange ( long  nYTop,
long  nYBottom 
)
void RegionBand::Exclude ( long  nLeft,
long  nTop,
long  nRight,
long  nBottom 
)
bool RegionBand::Exclude ( const RegionBand rSource)
tools::Rectangle RegionBand::GetBoundRect ( ) const
sal_uInt32 RegionBand::getRectangleCount ( ) const
void RegionBand::GetRegionRectangles ( RectangleVector rTarget) const
void RegionBand::ImplAddMissingBands ( const long  nTop,
const 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 368 of file regionband.cxx.

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

ImplRegionBand* RegionBand::ImplGetFirstRegionBand ( ) const
inline

Definition at line 54 of file regionband.hxx.

References mpFirstBand.

Referenced by ImplAddMissingBands(), and ImplDbgTestRegionBand().

void RegionBand::implReset ( )
private

Definition at line 83 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 326 of file regionband.cxx.

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

Referenced by ImplAddMissingBands().

void RegionBand::InsertBands ( long  nTop,
long  nBottom 
)
void RegionBand::InsertLine ( const Point rStartPt,
const Point rEndPt,
long  nLineId 
)

Definition at line 437 of file regionband.cxx.

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

void RegionBand::InsertPoint ( const Point rPoint,
long  nLineID,
bool  bEndPoint,
LineType  eLineType 
)
bool RegionBand::InsertSingleBand ( ImplRegionBand pBand,
long  nYBandPosition 
)
static
void RegionBand::Intersect ( long  nLeft,
long  nTop,
long  nRight,
long  nBottom 
)
void RegionBand::Intersect ( const RegionBand rSource)
bool RegionBand::IsInside ( const Point rPoint) const
bool RegionBand::isSingleRectangle ( ) const
bool RegionBand::load ( SvStream rIStrm)
void RegionBand::Move ( long  nHorzMove,
long  nVertMove 
)
RegionBand & RegionBand::operator= ( const RegionBand rRef)

Definition at line 38 of file regionband.cxx.

References mpFirstBand, and ImplRegionBand::mpNextBand.

bool RegionBand::operator== ( const RegionBand rRegionBand) const
bool RegionBand::OptimizeBandList ( )
void RegionBand::processPoints ( )
void RegionBand::save ( SvStream rIStrm) const
void RegionBand::Scale ( double  fScaleX,
double  fScaleY 
)
void RegionBand::Union ( long  nLeft,
long  nTop,
long  nRight,
long  nBottom 
)
void RegionBand::Union ( const RegionBand rSource)
void RegionBand::XOr ( long  nLeft,
long  nTop,
long  nRight,
long  nBottom 
)
void RegionBand::XOr ( const RegionBand rSource)

Friends And Related Function Documentation

const char* ImplDbgTestRegionBand ( const void )
friend

Definition at line 1293 of file regionband.cxx.

Member Data Documentation

ImplRegionBand* RegionBand::mpFirstBand
private
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: