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 IsInside (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::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)
RegionBand::~RegionBand ( )

Definition at line 102 of file regionband.cxx.

References implReset().

Member Function Documentation

bool RegionBand::CheckConsistency ( ) const
private

Definition at line 1171 of file regionband.cxx.

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

Referenced by load().

void RegionBand::CreateBandRange ( tools::Long  nYTop,
tools::Long  nYBottom 
)
void RegionBand::Exclude ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::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 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.

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 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 
)
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 
)
bool RegionBand::InsertSingleBand ( ImplRegionBand pBand,
tools::Long  nYBandPosition 
)
static
void RegionBand::Intersect ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::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 ( tools::Long  nHorzMove,
tools::Long  nVertMove 
)
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
bool RegionBand::OptimizeBandList ( )
void RegionBand::processPoints ( )
void RegionBand::save ( SvStream rIStrm) const
void RegionBand::Scale ( double  fScaleX,
double  fScaleY 
)
void RegionBand::Union ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)
void RegionBand::Union ( const RegionBand rSource)
void RegionBand::XOr ( tools::Long  nLeft,
tools::Long  nTop,
tools::Long  nRight,
tools::Long  nBottom 
)
void RegionBand::XOr ( const RegionBand rSource)

Friends And Related Function Documentation

const char* ImplDbgTestRegionBand ( const void )
friend

Definition at line 1301 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: