Ipelib
Public Member Functions | List of all members
ipe::Cascade Class Reference

#include <ipestyle.h>

Public Member Functions

 Cascade ()
 
 Cascade (const Cascade &rhs)
 
Cascadeoperator= (const Cascade &rhs)
 
 ~Cascade ()
 
int count () const
 
StyleSheetsheet (int index)
 
const StyleSheetsheet (int index) const
 
void insert (int index, StyleSheet *sheet)
 
void remove (int index)
 
void saveAsXml (Stream &stream) const
 
bool has (Kind kind, Attribute sym) const
 
Attribute find (Kind, Attribute sym) const
 
const SymbolfindSymbol (Attribute sym) const
 
const GradientfindGradient (Attribute sym) const
 
const TilingfindTiling (Attribute sym) const
 
const EffectfindEffect (Attribute sym) const
 
const LayoutfindLayout () const
 
const TextPaddingfindTextPadding () const
 
const StyleSheet::TitleStylefindTitleStyle () const
 
const StyleSheet::PageNumberStylefindPageNumberStyle () const
 
String findPreamble () const
 
TLineCap lineCap () const
 
TLineJoin lineJoin () const
 
TFillRule fillRule () const
 
void allNames (Kind kind, AttributeSeq &seq) const
 
int findDefinition (Kind kind, Attribute sym) const
 

Detailed Description

A cascade of style sheets.

The StyleSheets of a document cascade in the sense that a document can refer to several StyleSheets, which are arranged in a stack. A lookup is done from top to bottom, and returns as soon as a match is found. Ipe always appends the built-in "standard" style sheet at the bottom of the cascade.

Constructor & Destructor Documentation

◆ Cascade() [1/2]

Cascade::Cascade ( )

Create an empty cascade.

This does not add the standard style sheet.

◆ Cascade() [2/2]

Cascade::Cascade ( const Cascade rhs)

Copy constructor.

References count().

◆ ~Cascade()

Cascade::~Cascade ( )

Destructor.

Member Function Documentation

◆ operator=()

Cascade & Cascade::operator= ( const Cascade rhs)

Assignment operator.

References count().

◆ count()

int ipe::Cascade::count ( ) const
inline

◆ sheet() [1/2]

StyleSheet* ipe::Cascade::sheet ( int  index)
inline

Return StyleSheet at index.

Referenced by insert().

◆ sheet() [2/2]

const StyleSheet* ipe::Cascade::sheet ( int  index) const
inline

Return StyleSheet at index.

◆ insert()

void Cascade::insert ( int  index,
StyleSheet sheet 
)

Insert a style sheet into the cascade.

Takes ownership of sheet.

References sheet().

Referenced by ipe::Document::Document(), and ipe::ImlParser::parseDocument().

◆ remove()

void Cascade::remove ( int  index)

Remove a style sheet from the cascade.

The old sheet is deleted.

◆ saveAsXml()

void Cascade::saveAsXml ( Stream stream) const

References count().

Referenced by ipe::Document::saveAsXml().

◆ has()

bool Cascade::has ( Kind  kind,
Attribute  sym 
) const

References count().

Referenced by allNames(), and findDefinition().

◆ find()

Attribute Cascade::find ( Kind  kind,
Attribute  sym 
) const

◆ findSymbol()

const Symbol * Cascade::findSymbol ( Attribute  sym) const

◆ findGradient()

const Gradient * Cascade::findGradient ( Attribute  sym) const

◆ findTiling()

const Tiling * Cascade::findTiling ( Attribute  sym) const

◆ findEffect()

const Effect * Cascade::findEffect ( Attribute  sym) const

References count().

Referenced by ipe::PdfWriter::createPageView().

◆ findLayout()

const Layout * Cascade::findLayout ( ) const

◆ findTextPadding()

const TextPadding * Cascade::findTextPadding ( ) const

Find text padding (for text bbox computation).

References count().

Referenced by ipe::BBoxPainter::doDrawText().

◆ findTitleStyle()

const StyleSheet::TitleStyle * Cascade::findTitleStyle ( ) const

Get style of page titles (or 0 if none defined).

References count().

Referenced by ipe::Page::applyTitleStyle().

◆ findPageNumberStyle()

const StyleSheet::PageNumberStyle * Cascade::findPageNumberStyle ( ) const

Return style of page numbering (or 0 if none defined).

References count().

Referenced by ipe::Latex::addPageNumber().

◆ findPreamble()

String Cascade::findPreamble ( ) const

Return total LaTeX preamble (of the whole cascade).

References count().

Referenced by ipe::Latex::createLatexSource().

◆ lineCap()

TLineCap Cascade::lineCap ( ) const

◆ lineJoin()

TLineJoin Cascade::lineJoin ( ) const

◆ fillRule()

TFillRule Cascade::fillRule ( ) const

◆ allNames()

void Cascade::allNames ( Kind  kind,
AttributeSeq seq 
) const

◆ findDefinition()

int Cascade::findDefinition ( Kind  kind,
Attribute  sym 
) const

Find stylesheet defining the attribute.

This method goes through the cascade looking for a definition of the symbolic attribute sym. It returns the index of the stylesheet defining the attribute, or -1 if the attribute is not defined.

The method panics if sym is not symbolic. It also works for ESymbol, EGradient, ETiling, and EEffect.

References count(), has(), and ipe::Attribute::isSymbolic().

Referenced by ipe::Object::checkSymbol().


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