# ipe::StyleSheet Class Reference
Ipe Document

A style sheet maps symbolic names to absolute values. More...

`#include <ipestyle.h>`

List of all members.

## Classes

- struct PageNumberStyle
    How to show page numbers on the paper. More...
- struct TitleStyle
    Style of the title on a page. More...

## Public Member Functions

- StyleSheet ()
- void addSymbol (Attribute name, const Symbol &symbol)
- const Symbol * findSymbol (Attribute sym) const
- void addGradient (Attribute name, const Gradient &s)
- const Gradient * findGradient (Attribute sym) const
- void addTiling (Attribute name, const Tiling &s)
- const Tiling * findTiling (Attribute sym) const
- void addEffect (Attribute name, const Effect &e)
- const Effect * findEffect (Attribute sym) const
- void add (Kind kind, Attribute name, Attribute value)
- bool has (Kind kind, Attribute sym) const
- Attribute find (Kind, Attribute sym) const
- void saveAsXml (Stream &stream, bool saveBitmaps=false) const
- void allNames (Kind kind, AttributeSeq &seq) const
- bool isStandard () const
- String preamble () const
- void setPreamble (const String &str)
- String encoding () const
- void setEncoding (const String &enc)
- const Layout * layout () const
- void setLayout (const Layout &margins)
- const TextPadding * textPadding () const
- void setTextPadding (const TextPadding &pad)
- const TitleStyle * titleStyle () const
- void setTitleStyle (const TitleStyle &ts)
- const PageNumberStyle * pageNumberStyle ()
- void setPageNumberStyle (const PageNumberStyle &pns)
- void addCMap (String s)
- void allCMaps (std::vector< String > &seq) const
- void setLineCap (TLineCap s)
- void setLineJoin (TLineJoin s)
- void setFillRule (TFillRule s)
- TLineCap lineCap () const
- TLineJoin lineJoin () const
- TFillRule fillRule () const
- String name () const
- void setName (const String &name)

## Static Public Member Functions

- static StyleSheet * standard ()

## Detailed Description

A style sheet maps symbolic names to absolute values.

Ipe documents can use symbolic attributes, such as 'normal', 'fat', or 'thin' for line thickness, or 'red', 'navy', 'turquoise' for color. The mapping to an absolute pen thickness or RGB value is performed by a StyleSheet.

Style sheets are always included when the document is saved, so that an Ipe document is self-contained.

The built-in standard style sheet is minimal, and only needed to provide sane fallbacks for all the "normal" settings.

## Constructor & Destructor Documentation

StyleSheet::StyleSheet | ( |  | ) |

The default constructor creates an empty style sheet.

## Member Function Documentation

StyleSheet * StyleSheet::standard | ( |  | ) | `[static]`

Create standard built-in style sheet.

void StyleSheet::addSymbol | ( | Attribute | name,
|  | const Symbol & | symbol
| ) |  |

Add a symbol object.

const Symbol * StyleSheet::findSymbol | ( | Attribute | attr | ) | const

Find a symbol object with given name.

If attr is not symbolic or if the symbol doesn't exist, returns 0.

void StyleSheet::addGradient | ( | Attribute | name,
|  | const Gradient & | s
| ) |  |

Add gradient to this style sheet.

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

Find gradient in style sheet cascade.

void StyleSheet::addTiling | ( | Attribute | name,
|  | const Tiling & | s
| ) |  |

Add tiling to this style sheet.

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

Find tiling in style sheet cascade.

void StyleSheet::addEffect | ( | Attribute | name,
|  | const Effect & | e
| ) |  |

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

void StyleSheet::add | ( | Kind | kind,
|  | Attribute | name,
|  | Attribute | value
| ) |  |

Add an attribute.

Does nothing if name is not symbolic.

bool StyleSheet::has | ( | Kind | kind,
|  | Attribute | sym
| ) |  | const

Check whether symbolic attribute is defined.

This method also works for ESymbol, EGradient, ETiling, and EEffect.

Returns true if sym is not symbolic.

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

Find a symbolic attribute.

If sym is not symbolic, returns sym itself. If sym cannot be found, returns the "undefined" attribute. In all other cases, the returned attribute is guaranteed to be absolute.

void StyleSheet::saveAsXml | ( | Stream & | stream,
|  | bool | saveBitmaps = `false`
| ) |  | const

Save style sheet in XML format.

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

Return all symbolic names in the style sheet cascade.

Names are simply appended from top to bottom of the cascade. Names are inserted only once.

bool ipe::StyleSheet::isStandard | ( |  | ) | const`[inline]`

Return whether this is the standard style sheet built into Ipe.

String ipe::StyleSheet::preamble | ( |  | ) | const`[inline]`

Return Latex preamble.

void ipe::StyleSheet::setPreamble | ( | const String & | str | ) | `[inline]`

Set LaTeX preamble.

String ipe::StyleSheet::encoding | ( |  | ) | const`[inline]`

Return Latex encoding.

void ipe::StyleSheet::setEncoding | ( | const String & | enc | ) | `[inline]`

Set Latex encoding.

const Layout * StyleSheet::layout | ( |  | ) | const

Return page layout (or 0 if none defined).

void StyleSheet::setLayout | ( | const Layout & | margins | ) |

Set page layout.

const TextPadding * StyleSheet::textPadding | ( |  | ) | const

Return text object padding (for bbox computation).

void StyleSheet::setTextPadding | ( | const TextPadding & | pad | ) |

Set padding for text object bbox computation.

const StyleSheet::TitleStyle * StyleSheet::titleStyle | ( |  | ) | const

Return title style (or 0 if none defined).

void StyleSheet::setTitleStyle | ( | const TitleStyle & | ts | ) |

Set style of page titles.

const StyleSheet::PageNumberStyle * StyleSheet::pageNumberStyle | ( |  | ) |

Return page number style.

void StyleSheet::setPageNumberStyle | ( | const PageNumberStyle & | pns | ) |

Set style of page numbering.

void StyleSheet::addCMap | ( | String | s | ) |

Add font s to list of fonts with cmap generation.

void StyleSheet::allCMaps | ( | std::vector< String > & | seq | ) | const

void StyleSheet::setLineCap | ( | TLineCap | s | ) |

Set line cap.

void StyleSheet::setLineJoin | ( | TLineJoin | s | ) |

Set line join.

void StyleSheet::setFillRule | ( | TFillRule | s | ) |

Set fill rule.

TLineCap ipe::StyleSheet::lineCap | ( |  | ) | const`[inline]`

Return line cap.

TLineJoin ipe::StyleSheet::lineJoin | ( |  | ) | const`[inline]`

Return line join.

TFillRule ipe::StyleSheet::fillRule | ( |  | ) | const`[inline]`

Return path fill rule.

String ipe::StyleSheet::name | ( |  | ) | const`[inline]`

Return name of style sheet.

void ipe::StyleSheet::setName | ( | const String & | name | ) | `[inline]`

Set name of style sheet.

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

- ipestyle.h
- ipestdstyles.cpp
- ipestyle.cpp