Ipelib
Classes | Typedefs | Enumerations | Variables
Ipe Attributes

Classes

struct  ipe::Tiling
 
struct  ipe::Gradient
 
struct  ipe::Layout
 
struct  ipe::TextPadding
 
class  ipe::Color
 
class  ipe::Effect
 
class  ipe::Repository
 
class  ipe::Attribute
 
class  ipe::AllAttributes
 
class  ipe::Symbol
 

Typedefs

typedef std::vector< Attributeipe::AttributeSeq
 

Enumerations

enum  ipe::Kind {
  ipe::EPen = 0 , ipe::ESymbolSize , ipe::EArrowSize , ipe::EColor ,
  ipe::EDashStyle , ipe::ETextSize , ipe::ETextStretch , ipe::ETextStyle ,
  ipe::ELabelStyle , ipe::EGridSize , ipe::EAngleSize , ipe::EOpacity ,
  ipe::ETiling , ipe::ESymbol , ipe::EGradient , ipe::EEffect
}
 
enum  ipe::Property {
  ipe::EPropPen = 0 , ipe::EPropSymbolSize , ipe::EPropFArrow , ipe::EPropRArrow ,
  ipe::EPropFArrowSize , ipe::EPropRArrowSize , ipe::EPropFArrowShape , ipe::EPropRArrowShape ,
  ipe::EPropStrokeColor , ipe::EPropFillColor , ipe::EPropMarkShape , ipe::EPropPathMode ,
  ipe::EPropDashStyle , ipe::EPropTextSize , ipe::EPropTextStyle , ipe::EPropLabelStyle ,
  ipe::EPropOpacity , ipe::EPropStrokeOpacity , ipe::EPropTiling , ipe::EPropGradient ,
  ipe::EPropHorizontalAlignment , ipe::EPropVerticalAlignment , ipe::EPropLineJoin , ipe::EPropLineCap ,
  ipe::EPropFillRule , ipe::EPropPinned , ipe::EPropTransformations , ipe::EPropTransformableText ,
  ipe::EPropSplineType , ipe::EPropMinipage , ipe::EPropWidth , ipe::EPropDecoration
}
 
enum  ipe::TPathMode { ipe::EStrokedOnly , ipe::EStrokedAndFilled , ipe::EFilledOnly }
 
enum  ipe::THorizontalAlignment { ipe::EAlignLeft , ipe::EAlignRight , ipe::EAlignHCenter }
 
enum  ipe::TVerticalAlignment { ipe::EAlignBottom , ipe::EAlignBaseline , ipe::EAlignTop , ipe::EAlignVCenter }
 
enum  ipe::TSplineType { ipe::EBSpline , ipe::ECardinalSpline , ipe::ESpiroSpline }
 
enum  ipe::TLineJoin { ipe::EDefaultJoin , ipe::EMiterJoin , ipe::ERoundJoin , ipe::EBevelJoin }
 
enum  ipe::TLineCap { ipe::EDefaultCap , ipe::EButtCap , ipe::ERoundCap , ipe::ESquareCap }
 
enum  ipe::TFillRule { ipe::EDefaultRule , ipe::EWindRule , ipe::EEvenOddRule }
 
enum  ipe::TPinned { ipe::ENoPin = 0x00 , ipe::EHorizontalPin = 0x01 , ipe::EVerticalPin = 0x02 , ipe::EFixedPin = 0x03 }
 
enum  ipe::TTransformations { ipe::ETransformationsTranslations , ipe::ETransformationsRigidMotions , ipe::ETransformationsAffine }
 
enum  ipe::TSelect { ipe::ENotSelected = 0 , ipe::EPrimarySelected , ipe::ESecondarySelected }
 

Variables

const char *const ipe::kind_names []
 
const char *const ipe::property_names []
 

Detailed Description

Attributes for Ipe objects.

Ipe objects have attributes such as color, line width, dash pattern, etc. Most attributes can be symbolic (the need to be looked up in a style sheet before rendering) or absolute.

The Color class represents absolute values of colors. The class Attribute encapsulates all attributes that can be either symbolic or absolute.

The Lua bindings for attributes are described here.

Typedef Documentation

◆ AttributeSeq

A sequence of attribute values.

Enumeration Type Documentation

◆ Kind

enum ipe::Kind

The different kinds of attributes.

The same symbolic attribute (say "normal") has a different value in the StyleSheet depending on the Kind of attribute. The main use for Kind is as an argument to StyleSheet::find.

ESymbol, EGradient, ETiling, and EEffect have their own lookup methods in the StyleSheet. The values are still useful as an argument to allNames(), has(), and findDefinition().

Enumerator
EPen 
ESymbolSize 
EArrowSize 
EColor 
EDashStyle 
ETextSize 
ETextStretch 
ETextStyle 
ELabelStyle 
EGridSize 
EAngleSize 
EOpacity 
ETiling 
ESymbol 
EGradient 
EEffect 

◆ Property

A Property identifies an attribute that an object can have.

The Property identifies a unique attribute of an object, while different Property values can be of the same ipe::Kind. For instance, both EPropStrokeColor and EPropFillColor identify an Attribute of Kind EColor.

Enumerator
EPropPen 
EPropSymbolSize 
EPropFArrow 
EPropRArrow 
EPropFArrowSize 
EPropRArrowSize 
EPropFArrowShape 
EPropRArrowShape 
EPropStrokeColor 
EPropFillColor 
EPropMarkShape 
EPropPathMode 
EPropDashStyle 
EPropTextSize 
EPropTextStyle 
EPropLabelStyle 
EPropOpacity 
EPropStrokeOpacity 
EPropTiling 
EPropGradient 
EPropHorizontalAlignment 
EPropVerticalAlignment 
EPropLineJoin 
EPropLineCap 
EPropFillRule 
EPropPinned 
EPropTransformations 
EPropTransformableText 
EPropSplineType 
EPropMinipage 
EPropWidth 
EPropDecoration 

◆ TPathMode

Path mode (stroked, filled, or both).

Enumerator
EStrokedOnly 
EStrokedAndFilled 
EFilledOnly 

◆ THorizontalAlignment

Horizontal alignment.

Enumerator
EAlignLeft 
EAlignRight 
EAlignHCenter 

◆ TVerticalAlignment

Vertical alignment.

Enumerator
EAlignBottom 
EAlignBaseline 
EAlignTop 
EAlignVCenter 

◆ TSplineType

Spline type.

Enumerator
EBSpline 
ECardinalSpline 
ESpiroSpline 

◆ TLineJoin

Line join style.

The EDefaultJoin means to use the setting from the style sheet.

Enumerator
EDefaultJoin 
EMiterJoin 
ERoundJoin 
EBevelJoin 

◆ TLineCap

Line cap style.

The EDefaultCap means to use the setting from the style sheet.

Enumerator
EDefaultCap 
EButtCap 
ERoundCap 
ESquareCap 

◆ TFillRule

Fill rule.

The EDefaultRule means to use the setting from the style sheet.

Enumerator
EDefaultRule 
EWindRule 
EEvenOddRule 

◆ TPinned

Pinning status of objects.

Enumerator
ENoPin 
EHorizontalPin 
EVerticalPin 
EFixedPin 

◆ TTransformations

Transformations that are permitted for an object.

Enumerator
ETransformationsTranslations 
ETransformationsRigidMotions 
ETransformationsAffine 

◆ TSelect

Selection status of an object on the page.

Enumerator
ENotSelected 
EPrimarySelected 
ESecondarySelected 

Variable Documentation

◆ kind_names

const char *const ipe::kind_names
Initial value:
= {
"pen", "symbolsize", "arrowsize", "color",
"dashstyle", "textsize", "textstretch", "textstyle", "labelstyle",
"gridsize", "anglesize", "opacity", "tiling",
"symbol", "gradient", "effect", nullptr }

Referenced by ipe::AttributeMap::saveAsXml(), and ipe::StyleSheet::saveAsXml().

◆ property_names

const char *const ipe::property_names
Initial value:
= {
"pen", "symbolsize",
"farrow", "rarrow",
"farrowsize", "rarrowsize",
"farrowshape", "rarrowshape",
"stroke", "fill", "markshape",
"pathmode", "dashstyle",
"textsize", "textstyle", "labelstyle",
"opacity", "strokeopacity", "tiling", "gradient",
"horizontalalignment", "verticalalignment",
"linejoin", "linecap", "fillrule",
"pinned", "transformations",
"transformabletext", "splinetype",
"minipage", "width", "decoration", nullptr }