Ipelib
Classes | Public Member Functions | Static Public Member Functions
ipe::StyleSheet Class Reference

#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 SymbolfindSymbol (Attribute sym) const
void addGradient (Attribute name, const Gradient &s)
const GradientfindGradient (Attribute sym) const
void addTiling (Attribute name, const Tiling &s)
const TilingfindTiling (Attribute sym) const
void addEffect (Attribute name, const Effect &e)
const EffectfindEffect (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 Layoutlayout () const
void setLayout (const Layout &margins)
const TextPaddingtextPadding () const
void setTextPadding (const TextPadding &pad)
const TitleStyletitleStyle () const
void setTitleStyle (const TitleStyle &ts)
const PageNumberStylepageNumberStyle ()
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 StyleSheetstandard ()

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: