LibreOffice Module vcl (master)  1
Public Member Functions | Public Attributes | List of all members
ImplRegionBand Class Reference

#include <regband.hxx>

Collaboration diagram for ImplRegionBand:
[legend]

Public Member Functions

 ImplRegionBand (long nYTop, long nYBottom)
 
 ImplRegionBand (const ImplRegionBand &theSourceBand, const bool bIgnorePoints=true)
 copy y-band with all data More...
 
 ~ImplRegionBand ()
 
long GetXLeftBoundary () const
 
long GetXRightBoundary () const
 
void OptimizeBand ()
 
void ProcessPoints ()
 
bool InsertPoint (long nX, long nLineID, bool bEndPoint, LineType eLineType)
 
void Union (long nXLeft, long nXRight)
 
void Intersect (long nXLeft, long nXRight)
 
void Exclude (long nXLeft, long nXRight)
 
void XOr (long nXLeft, long nXRight)
 
void MoveX (long nHorzMove)
 
void ScaleX (double fHorzScale)
 
bool IsInside (long nX)
 
bool IsEmpty () const
 
bool operator== (const ImplRegionBand &rRegionBand) const
 
ImplRegionBandSplitBand (const sal_Int32 nY)
 Split the called band at the given vertical coordinate. More...
 

Public Attributes

ImplRegionBandmpNextBand
 
ImplRegionBandmpPrevBand
 
ImplRegionBandSepmpFirstSep
 
ImplRegionBandPointmpFirstBandPoint
 
long mnYTop
 
long mnYBottom
 
bool mbTouched: 1
 

Detailed Description

Definition at line 57 of file regband.hxx.

Constructor & Destructor Documentation

ImplRegionBand::ImplRegionBand ( long  nYTop,
long  nYBottom 
)

Definition at line 40 of file regband.cxx.

References mbTouched, mnYBottom, mnYTop, mpFirstBandPoint, mpFirstSep, mpNextBand, and mpPrevBand.

Referenced by SplitBand().

ImplRegionBand::ImplRegionBand ( const ImplRegionBand theSourceBand,
const bool  bIgnorePoints = true 
)

copy y-band with all data

Parameters
theSourceBandThe new ImplRegionBand object will be a copy of this band.
bIgnorePointsWhen true (the default) the band points pointed to by mpFirstBandPoint are not copied. When false they are copied. You need the points when you are planning to call ProcessPoints() later on.

Definition at line 54 of file regband.cxx.

References ImplRegionBandPoint::mbEndPoint, ImplRegionBandSep::mbRemoved, mbTouched, ImplRegionBandPoint::meLineType, ImplRegionBandPoint::mnLineId, ImplRegionBandPoint::mnX, ImplRegionBandSep::mnXLeft, ImplRegionBandSep::mnXRight, mnYBottom, mnYTop, mpFirstBandPoint, mpFirstSep, mpNextBand, ImplRegionBandPoint::mpNextBandPoint, ImplRegionBandSep::mpNextSep, and mpPrevBand.

ImplRegionBand::~ImplRegionBand ( )

Member Function Documentation

void ImplRegionBand::Exclude ( long  nXLeft,
long  nXRight 
)
long ImplRegionBand::GetXLeftBoundary ( ) const

Definition at line 816 of file regband.cxx.

References ImplRegionBandSep::mnXLeft, and mpFirstSep.

Referenced by RegionBand::GetBoundRect().

long ImplRegionBand::GetXRightBoundary ( ) const
bool ImplRegionBand::InsertPoint ( long  nX,
long  nLineID,
bool  bEndPoint,
LineType  eLineType 
)
void ImplRegionBand::Intersect ( long  nXLeft,
long  nXRight 
)
bool ImplRegionBand::IsEmpty ( ) const
inline

Definition at line 111 of file regband.hxx.

Referenced by RegionBand::OptimizeBandList().

bool ImplRegionBand::IsInside ( long  nX)
void ImplRegionBand::MoveX ( long  nHorzMove)
bool ImplRegionBand::operator== ( const ImplRegionBand rRegionBand) const
void ImplRegionBand::OptimizeBand ( )
void ImplRegionBand::ProcessPoints ( )
void ImplRegionBand::ScaleX ( double  fHorzScale)
ImplRegionBand * ImplRegionBand::SplitBand ( const sal_Int32  nY)

Split the called band at the given vertical coordinate.

After the split the called band will cover the upper part not including nY. The new band will cover the lower part including nY.

Parameters
nYThe band is split at this y coordinate. The new, lower band will include this very value.
Returns
Returns the new, lower band.

Definition at line 862 of file regband.cxx.

References ImplRegionBand(), mnYBottom, mnYTop, mpNextBand, and mpPrevBand.

void ImplRegionBand::Union ( long  nXLeft,
long  nXRight 
)
void ImplRegionBand::XOr ( long  nXLeft,
long  nXRight 
)

Member Data Documentation

bool ImplRegionBand::mbTouched
long ImplRegionBand::mnYBottom
long ImplRegionBand::mnYTop
ImplRegionBandPoint* ImplRegionBand::mpFirstBandPoint

Definition at line 63 of file regband.hxx.

Referenced by ImplRegionBand(), InsertPoint(), ProcessPoints(), and ~ImplRegionBand().

ImplRegionBandSep* ImplRegionBand::mpFirstSep
ImplRegionBand* ImplRegionBand::mpNextBand
ImplRegionBand* ImplRegionBand::mpPrevBand

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