Ipelib

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

`#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.

## ◆ 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 allNames(), Cascade(), fillRule(), find(), findDefinition(), findEffect(), findGradient(), findLayout(), findPageNumberStyle(), findPreamble(), findSymbol(), findTextPadding(), findTiling(), findTitleStyle(), has(), lineCap(), lineJoin(), operator=(), and saveAsXml().

## ◆ 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(), and has().

Referenced by allNames(), findDefinition(), and has().

## ◆ find()

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

References count(), ipe::Attribute::normal(), and ipe::Attribute::UNDEFINED().

Referenced by ipe::Latex::createLatexSource(), ipe::Path::drawArrow(), ipe::Reference::drawSimple(), ipe::Painter::lookup(), ipe::Painter::Painter(), and ipe::PdfWriter::PdfWriter().

## ◆ findSymbol()

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

References count().

Referenced by ipe::Reference::checkStyle(), ipe::PdfWriter::createPageView(), ipe::Painter::doDrawSymbol(), ipe::PdfPainter::doDrawSymbol(), ipe::Reference::draw(), ipe::Path::drawArrow(), ipe::CanvasBase::drawObjects(), ipe::Reference::drawSimple(), ipe::Document::findBitmaps(), ipe::PdfWriter::PdfWriter(), ipe::Document::runLatexAsync(), and ipe::Thumbnail::saveRender().

## ◆ findGradient()

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

References count().

Referenced by ipe::PdfPainter::doDrawPath(), ipe::CairoPainter::doDrawPath(), and ipe::PdfWriter::PdfWriter().

## ◆ findTiling()

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

References count().

Referenced by ipe::CairoPainter::doDrawPath(), and ipe::PdfWriter::PdfWriter().

## ◆ findEffect()

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

References count().

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

## ◆ findLayout()

const Layout * Cascade::findLayout | ( |  | ) | const

Find page layout (such as text margins).

References count().

Referenced by ipe::PdfWriter::createPageView(), ipe::PanTool::draw(), ipe::CanvasBase::drawFrame(), ipe::CanvasBase::drawGrid(), ipe::CanvasBase::drawObjects(), ipe::CanvasBase::drawPaper(), ipe::CanvasBase::snapToPaperAndFrame(), and ipe::Thumbnail::Thumbnail().

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

References count(), ipe::EButtCap, ipe::EDefaultCap, and lineCap().

Referenced by lineCap(), ipe::Painter::Painter(), and ipe::PdfPainter::PdfPainter().

## ◆ lineJoin()

TLineJoin Cascade::lineJoin | ( |  | ) | const

References count(), ipe::EDefaultJoin, ipe::ERoundJoin, and lineJoin().

Referenced by lineJoin(), ipe::Painter::Painter(), and ipe::PdfPainter::PdfPainter().

## ◆ fillRule()

TFillRule Cascade::fillRule | ( |  | ) | const

References count(), ipe::EDefaultRule, ipe::EEvenOddRule, and fillRule().

Referenced by fillRule(), and ipe::Painter::Painter().

## ◆ allNames()

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

References allNames(), count(), has(), and ipe::Attribute::NORMAL().

Referenced by allNames(), ipe::Latex::createLatexSource(), ipe::Document::findBitmaps(), ipe::PdfWriter::PdfWriter(), and ipe::Document::runLatexAsync().

## ◆ 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:

- ipestyle.h
- ipestyle.cpp