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

#include <regband.hxx>

Collaboration diagram for ImplRegionBand:

Public Member Functions

 ImplRegionBand (tools::Long nYTop, tools::Long nYBottom)
 ImplRegionBand (const ImplRegionBand &theSourceBand, const bool bIgnorePoints=true)
 copy y-band with all data More...
 ~ImplRegionBand ()
tools::Long GetXLeftBoundary () const
tools::Long GetXRightBoundary () const
void OptimizeBand ()
void ProcessPoints ()
bool InsertPoint (tools::Long nX, tools::Long nLineID, bool bEndPoint, LineType eLineType)
void Union (tools::Long nXLeft, tools::Long nXRight)
void Intersect (tools::Long nXLeft, tools::Long nXRight)
void Exclude (tools::Long nXLeft, tools::Long nXRight)
void XOr (tools::Long nXLeft, tools::Long nXRight)
void MoveX (tools::Long nHorzMove)
void ScaleX (double fHorzScale)
bool Contains (tools::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

tools::Long mnYTop
tools::Long mnYBottom
bool mbTouched: 1

Detailed Description

Definition at line 57 of file regband.hxx.

Constructor & Destructor Documentation

◆ ImplRegionBand() [1/2]

ImplRegionBand::ImplRegionBand ( tools::Long  nYTop,
tools::Long  nYBottom 

Definition at line 40 of file regband.cxx.

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

Referenced by SplitBand().

◆ ImplRegionBand() [2/2]

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

copy y-band with all data

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

Member Function Documentation

◆ Contains()

bool ImplRegionBand::Contains ( tools::Long  nX)

◆ Exclude()

void ImplRegionBand::Exclude ( tools::Long  nXLeft,
tools::Long  nXRight 

◆ GetXLeftBoundary()

tools::Long ImplRegionBand::GetXLeftBoundary ( ) const

Definition at line 816 of file regband.cxx.

References ImplRegionBandSep::mnXLeft, mpFirstSep, and SAL_WARN_IF.

Referenced by RegionBand::GetBoundRect().

◆ GetXRightBoundary()

tools::Long ImplRegionBand::GetXRightBoundary ( ) const

◆ InsertPoint()

bool ImplRegionBand::InsertPoint ( tools::Long  nX,
tools::Long  nLineID,
bool  bEndPoint,
LineType  eLineType 

◆ Intersect()

void ImplRegionBand::Intersect ( tools::Long  nXLeft,
tools::Long  nXRight 

◆ IsEmpty()

bool ImplRegionBand::IsEmpty ( ) const

Definition at line 111 of file regband.hxx.

References mpFirstBandPoint, and mpFirstSep.

Referenced by RegionBand::OptimizeBandList().

◆ MoveX()

void ImplRegionBand::MoveX ( tools::Long  nHorzMove)

◆ operator==()

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

◆ OptimizeBand()

void ImplRegionBand::OptimizeBand ( )

◆ ProcessPoints()

void ImplRegionBand::ProcessPoints ( )

◆ ScaleX()

void ImplRegionBand::ScaleX ( double  fHorzScale)

◆ SplitBand()

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.

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

Definition at line 863 of file regband.cxx.

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

◆ Union()

void ImplRegionBand::Union ( tools::Long  nXLeft,
tools::Long  nXRight 

◆ XOr()

void ImplRegionBand::XOr ( tools::Long  nXLeft,
tools::Long  nXRight 

Member Data Documentation

◆ mbTouched

bool ImplRegionBand::mbTouched

Definition at line 67 of file regband.hxx.

Referenced by Exclude(), ImplRegionBand(), RegionBand::Intersect(), and Intersect().

◆ mnYBottom

tools::Long ImplRegionBand::mnYBottom

◆ mnYTop

tools::Long ImplRegionBand::mnYTop

◆ mpFirstBandPoint

ImplRegionBandPoint* ImplRegionBand::mpFirstBandPoint

Definition at line 63 of file regband.hxx.

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

◆ mpFirstSep

ImplRegionBandSep* ImplRegionBand::mpFirstSep

◆ mpNextBand

ImplRegionBand* ImplRegionBand::mpNextBand

◆ mpPrevBand

ImplRegionBand* ImplRegionBand::mpPrevBand

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