LibreOffice Module editeng (master) 1
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
TextRanger Class Reference

#include <txtrange.hxx>

Collaboration diagram for TextRanger:
[legend]

Classes

struct  RangeCacheItem
 The RangeCache class is used to cache the result of a single range calculation. More...
 

Public Member Functions

 TextRanger (const basegfx::B2DPolyPolygon &rPolyPolygon, const basegfx::B2DPolyPolygon *pLinePolyPolygon, sal_uInt16 nCacheSize, sal_uInt16 nLeft, sal_uInt16 nRight, bool bSimple, bool bInner, bool bVert=false)
 
 ~TextRanger ()
 
std::deque< tools::Long > * GetTextRanges (const Range &rRange)
 
sal_uInt16 GetRight () const
 
sal_uInt16 GetLeft () const
 
sal_uInt16 GetUpper () const
 
sal_uInt16 GetLower () const
 
sal_uInt32 GetPointCount () const
 
bool IsSimple () const
 
bool IsInner () const
 
bool IsVertical () const
 
const tools::RectangleGetBoundRect () const
 
void SetUpper (sal_uInt16 nNew)
 
void SetLower (sal_uInt16 nNew)
 
void SetVertical (bool bNew)
 

Private Member Functions

 TextRanger (const TextRanger &)=delete
 
const tools::RectangleGetBoundRect_ () const
 

Private Attributes

std::deque< RangeCacheItemmRangeCache
 Cached range calculations. More...
 
tools::PolyPolygon maPolyPolygon
 
std::optional< tools::PolyPolygonmpLinePolyPolygon
 
std::optional< tools::RectanglemxBound
 
sal_uInt16 nCacheSize
 
sal_uInt16 nRight
 
sal_uInt16 nLeft
 
sal_uInt16 nUpper
 
sal_uInt16 nLower
 
sal_uInt32 nPointCount
 
bool bSimple: 1
 
bool bInner: 1
 
bool bVertical:1
 

Detailed Description

Definition at line 33 of file txtrange.hxx.

Constructor & Destructor Documentation

◆ TextRanger() [1/2]

TextRanger::TextRanger ( const TextRanger )
privatedelete

◆ TextRanger() [2/2]

TextRanger::TextRanger ( const basegfx::B2DPolyPolygon rPolyPolygon,
const basegfx::B2DPolyPolygon pLinePolyPolygon,
sal_uInt16  nCacheSize,
sal_uInt16  nLeft,
sal_uInt16  nRight,
bool  bSimple,
bool  bInner,
bool  bVert = false 
)

◆ ~TextRanger()

TextRanger::~TextRanger ( )

Definition at line 71 of file txtrange.cxx.

References mRangeCache.

Member Function Documentation

◆ GetBoundRect()

const tools::Rectangle & TextRanger::GetBoundRect ( ) const
inline

Definition at line 74 of file txtrange.hxx.

Referenced by ImpEditEngine::CreateLines(), and EditEngine::SetPolygon().

◆ GetBoundRect_()

const tools::Rectangle & TextRanger::GetBoundRect_ ( ) const
private

Definition at line 659 of file txtrange.cxx.

References DBG_ASSERT, tools::PolyPolygon::GetBoundRect(), maPolyPolygon, and mxBound.

◆ GetLeft()

sal_uInt16 TextRanger::GetLeft ( ) const
inline

Definition at line 67 of file txtrange.hxx.

◆ GetLower()

sal_uInt16 TextRanger::GetLower ( ) const
inline

Definition at line 69 of file txtrange.hxx.

◆ GetPointCount()

sal_uInt32 TextRanger::GetPointCount ( ) const
inline

Definition at line 70 of file txtrange.hxx.

◆ GetRight()

sal_uInt16 TextRanger::GetRight ( ) const
inline

Definition at line 66 of file txtrange.hxx.

◆ GetTextRanges()

std::deque< tools::Long > * TextRanger::GetTextRanges ( const Range rRange)

◆ GetUpper()

sal_uInt16 TextRanger::GetUpper ( ) const
inline

Definition at line 68 of file txtrange.hxx.

◆ IsInner()

bool TextRanger::IsInner ( ) const
inline

Definition at line 72 of file txtrange.hxx.

◆ IsSimple()

bool TextRanger::IsSimple ( ) const
inline

Definition at line 71 of file txtrange.hxx.

◆ IsVertical()

bool TextRanger::IsVertical ( ) const
inline

Definition at line 73 of file txtrange.hxx.

Referenced by SetVertical().

◆ SetLower()

void TextRanger::SetLower ( sal_uInt16  nNew)
inline

Definition at line 77 of file txtrange.hxx.

◆ SetUpper()

void TextRanger::SetUpper ( sal_uInt16  nNew)
inline

Definition at line 76 of file txtrange.hxx.

◆ SetVertical()

void TextRanger::SetVertical ( bool  bNew)

Definition at line 80 of file txtrange.cxx.

References bVertical, IsVertical(), and mRangeCache.

Referenced by ImpEditEngine::CreateLines().

Member Data Documentation

◆ bInner

bool TextRanger::bInner
private

Definition at line 53 of file txtrange.hxx.

◆ bSimple

bool TextRanger::bSimple
private

Definition at line 52 of file txtrange.hxx.

◆ bVertical

bool TextRanger::bVertical
private

Definition at line 55 of file txtrange.hxx.

Referenced by SetVertical().

◆ maPolyPolygon

tools::PolyPolygon TextRanger::maPolyPolygon
private

Definition at line 43 of file txtrange.hxx.

Referenced by GetBoundRect_(), GetTextRanges(), and TextRanger().

◆ mpLinePolyPolygon

std::optional<tools::PolyPolygon> TextRanger::mpLinePolyPolygon
private

Definition at line 44 of file txtrange.hxx.

Referenced by GetTextRanges(), and TextRanger().

◆ mRangeCache

std::deque<RangeCacheItem> TextRanger::mRangeCache
private

Cached range calculations.

Definition at line 42 of file txtrange.hxx.

Referenced by GetTextRanges(), SetVertical(), and ~TextRanger().

◆ mxBound

std::optional<tools::Rectangle> TextRanger::mxBound
mutableprivate

Definition at line 45 of file txtrange.hxx.

Referenced by GetBoundRect_().

◆ nCacheSize

sal_uInt16 TextRanger::nCacheSize
private

Definition at line 46 of file txtrange.hxx.

Referenced by GetTextRanges().

◆ nLeft

sal_uInt16 TextRanger::nLeft
private

Definition at line 48 of file txtrange.hxx.

◆ nLower

sal_uInt16 TextRanger::nLower
private

Definition at line 50 of file txtrange.hxx.

◆ nPointCount

sal_uInt32 TextRanger::nPointCount
private

Definition at line 51 of file txtrange.hxx.

Referenced by TextRanger().

◆ nRight

sal_uInt16 TextRanger::nRight
private

Definition at line 47 of file txtrange.hxx.

◆ nUpper

sal_uInt16 TextRanger::nUpper
private

Definition at line 49 of file txtrange.hxx.


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