LibreOffice Module basegfx (master) 1
Public Types | Public Member Functions | Private Attributes | List of all members
basegfx::utils::B2DClipState Class Reference

This class provides an optimized, symbolic clip state for graphical output. More...

#include <b2dclipstate.hxx>

Collaboration diagram for basegfx::utils::B2DClipState:
[legend]

Public Types

typedef o3tl::cow_wrapper< ImplB2DClipStateImplType
 

Public Member Functions

 B2DClipState ()
 Init clip, in 'cleared' state - everything is visible. More...
 
 ~B2DClipState ()
 
 B2DClipState (const B2DClipState &)
 
 B2DClipState (B2DClipState &&)
 
 B2DClipState (const B2DPolyPolygon &)
 
B2DClipStateoperator= (const B2DClipState &)
 
B2DClipStateoperator= (B2DClipState &&)
 
void makeNull ()
 Set clip to 'null' - nothing is visible. More...
 
bool isCleared () const
 returns true when clip is 'cleared' - everything is visible More...
 
bool operator== (const B2DClipState &) const
 
bool operator!= (const B2DClipState &) const
 
void unionRange (const B2DRange &)
 
void unionPolyPolygon (const B2DPolyPolygon &)
 
void intersectRange (const B2DRange &)
 
void intersectPolyPolygon (const B2DPolyPolygon &)
 
void subtractRange (const B2DRange &)
 
void subtractPolyPolygon (const B2DPolyPolygon &)
 
void xorRange (const B2DRange &)
 
void xorPolyPolygon (const B2DPolyPolygon &)
 
void transform (const B2DHomMatrix &)
 
B2DPolyPolygon const & getClipPoly () const
 

Private Attributes

ImplType mpImpl
 

Detailed Description

This class provides an optimized, symbolic clip state for graphical output.

Having a current 'clip' state is a common attribute of almost all graphic output APIs, most of which internally represent it via a list of rectangular bands. In contrast, this implementation purely uses symbolic clips, but in a quite efficient manner, deferring actual evaluation until a clip representation is requested, and using faster code paths for common special cases (like all-rectangle clips)

Definition at line 47 of file b2dclipstate.hxx.

Member Typedef Documentation

◆ ImplType

Definition at line 50 of file b2dclipstate.hxx.

Constructor & Destructor Documentation

◆ B2DClipState() [1/4]

basegfx::utils::B2DClipState::B2DClipState ( )
default

Init clip, in 'cleared' state - everything is visible.

◆ ~B2DClipState()

basegfx::utils::B2DClipState::~B2DClipState ( )
default

◆ B2DClipState() [2/4]

basegfx::utils::B2DClipState::B2DClipState ( const B2DClipState )
default

◆ B2DClipState() [3/4]

basegfx::utils::B2DClipState::B2DClipState ( B2DClipState &&  )
default

◆ B2DClipState() [4/4]

basegfx::utils::B2DClipState::B2DClipState ( const B2DPolyPolygon rPolyPoly)
explicit

Definition at line 392 of file b2dclipstate.cxx.

Member Function Documentation

◆ getClipPoly()

B2DPolyPolygon const & basegfx::utils::B2DClipState::getClipPoly ( ) const

Definition at line 463 of file b2dclipstate.cxx.

References mpImpl.

◆ intersectPolyPolygon()

void basegfx::utils::B2DClipState::intersectPolyPolygon ( const B2DPolyPolygon rPolyPoly)

Definition at line 438 of file b2dclipstate.cxx.

References mpImpl.

◆ intersectRange()

void basegfx::utils::B2DClipState::intersectRange ( const B2DRange rRange)

Definition at line 433 of file b2dclipstate.cxx.

References mpImpl.

◆ isCleared()

bool basegfx::utils::B2DClipState::isCleared ( ) const

returns true when clip is 'cleared' - everything is visible

Definition at line 405 of file b2dclipstate.cxx.

References mpImpl.

◆ makeNull()

void basegfx::utils::B2DClipState::makeNull ( )

Set clip to 'null' - nothing is visible.

Definition at line 400 of file b2dclipstate.cxx.

References mpImpl.

◆ operator!=()

bool basegfx::utils::B2DClipState::operator!= ( const B2DClipState rRHS) const

Definition at line 418 of file b2dclipstate.cxx.

◆ operator=() [1/2]

B2DClipState & basegfx::utils::B2DClipState::operator= ( B2DClipState &&  )
default

References operator!=(), and operator==().

◆ operator=() [2/2]

B2DClipState & basegfx::utils::B2DClipState::operator= ( const B2DClipState )
default

◆ operator==()

bool basegfx::utils::B2DClipState::operator== ( const B2DClipState rRHS) const

◆ subtractPolyPolygon()

void basegfx::utils::B2DClipState::subtractPolyPolygon ( const B2DPolyPolygon rPolyPoly)

Definition at line 448 of file b2dclipstate.cxx.

References mpImpl.

◆ subtractRange()

void basegfx::utils::B2DClipState::subtractRange ( const B2DRange rRange)

Definition at line 443 of file b2dclipstate.cxx.

References mpImpl.

◆ transform()

void basegfx::utils::B2DClipState::transform ( const B2DHomMatrix rTranslate)

Definition at line 468 of file b2dclipstate.cxx.

References mpImpl.

◆ unionPolyPolygon()

void basegfx::utils::B2DClipState::unionPolyPolygon ( const B2DPolyPolygon rPolyPoly)

Definition at line 428 of file b2dclipstate.cxx.

References mpImpl.

◆ unionRange()

void basegfx::utils::B2DClipState::unionRange ( const B2DRange rRange)

Definition at line 423 of file b2dclipstate.cxx.

References mpImpl.

◆ xorPolyPolygon()

void basegfx::utils::B2DClipState::xorPolyPolygon ( const B2DPolyPolygon rPolyPoly)

Definition at line 458 of file b2dclipstate.cxx.

References mpImpl.

◆ xorRange()

void basegfx::utils::B2DClipState::xorRange ( const B2DRange rRange)

Definition at line 453 of file b2dclipstate.cxx.

References mpImpl.

Member Data Documentation

◆ mpImpl

ImplType basegfx::utils::B2DClipState::mpImpl
private

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