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

#include <ipestyle.h>

Public Member Functions

 Cascade ()
 
 Cascade (const Cascade &rhs)
 
Cascade & operator= (const Cascade &rhs)
 
 ~Cascade ()
 
int count () const
 
StyleSheet * sheet (int index)
 
const StyleSheet * sheet (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 Symbol * findSymbol (Attribute sym) const
 
const Gradient * findGradient (Attribute sym) const
 
const Tiling * findTiling (Attribute sym) const
 
const Effect * findEffect (Attribute sym) const
 
const Layout * findLayout () const
 
const TextPadding * findTextPadding () const
 
const StyleSheet::TitleStyle * findTitleStyle () const
 
const StyleSheet::PageNumberStyle * findPageNumberStyle () 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.

References ipe::size().

◆ 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

Return number of style sheets.

Referenced by Cascade(), and operator=().

◆ sheet() [1/2]

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

Return StyleSheet at index.

◆ 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.

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

◆ has()

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

◆ 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

◆ findLayout()

const Layout * Cascade::findLayout ( ) const

Find page layout (such as text margins).

Referenced by ipe::PanTool::draw(), and ipe::Thumbnail::Thumbnail().

◆ findTextPadding()

const TextPadding * Cascade::findTextPadding ( ) const

Find text padding (for text bbox computation).

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

◆ findTitleStyle()

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

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

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

◆ findPageNumberStyle()

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

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

◆ findPreamble()

String Cascade::findPreamble ( ) const

Return total LaTeX preamble (of the whole cascade).

◆ 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 ipe::Attribute::isSymbolic().

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


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