Ipelib
Classes | Typedefs | Enumerations | Variables
Ipe Attributes

Classes

struct  ipe::Tiling
 A tiling pattern. More...
struct  ipe::Gradient
 A gradient pattern. More...
struct  ipe::Layout
 Layout of a Page. More...
struct  ipe::TextPadding
 Padding for text bounding box. More...
class  ipe::Color
 An absolute RGB color. More...
class  ipe::Effect
 Effect that Acrobat Reader will show on page change. More...
class  ipe::Repository
 Repository of strings. More...
class  ipe::Attribute
 An attribute of an Ipe Object. More...
class  ipe::AllAttributes
 Collection of all object attributes. More...
class  ipe::Symbol
 A symbol is a named object defined in an ipe::StyleSheet. More...

Typedefs

typedef std::vector< Attribute > ipe::AttributeSeq

Enumerations

enum  ipe::Kind {
  ipe::EPen = 0, ipe::ESymbolSize, ipe::EArrowSize, ipe::EColor,
  ipe::EDashStyle, ipe::ETextSize, ipe::ETextStretch, ipe::ETextStyle,
  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::EPropOpacity,
  ipe::EPropTiling, ipe::EPropGradient, ipe::EPropHorizontalAlignment, ipe::EPropVerticalAlignment,
  ipe::EPropLineJoin, ipe::EPropLineCap, ipe::EPropFillRule, ipe::EPropPinned,
  ipe::EPropTransformations, ipe::EPropTransformableText, ipe::EPropMinipage, ipe::EPropWidth
}
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::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

A sequence of attribute values.

Enumeration Type Documentation

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 
EGridSize 
EAngleSize 
EOpacity 
ETiling 
ESymbol 
EGradient 
EEffect 

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 
EPropOpacity 
EPropTiling 
EPropGradient 
EPropHorizontalAlignment 
EPropVerticalAlignment 
EPropLineJoin 
EPropLineCap 
EPropFillRule 
EPropPinned 
EPropTransformations 
EPropTransformableText 
EPropMinipage 
EPropWidth 

Path mode (stroked, filled, or both).

Enumerator:
EStrokedOnly 
EStrokedAndFilled 
EFilledOnly 

Horizontal alignment.

Enumerator:
EAlignLeft 
EAlignRight 
EAlignHCenter 

Vertical alignment.

Enumerator:
EAlignBottom 
EAlignBaseline 
EAlignTop 
EAlignVCenter 

Line join style.

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

Enumerator:
EDefaultJoin 
EMiterJoin 
ERoundJoin 
EBevelJoin 

Line cap style.

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

Enumerator:
EDefaultCap 
EButtCap 
ERoundCap 
ESquareCap 

Fill rule.

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

Enumerator:
EDefaultRule 
EWindRule 
EEvenOddRule 

Pinning status of objects.

Enumerator:
ENoPin 
EHorizontalPin 
EVerticalPin 
EFixedPin 

Transformations that are permitted for an object.

Enumerator:
ETransformationsTranslations 
ETransformationsRigidMotions 
ETransformationsAffine 

Selection status of an object on the page.

Enumerator:
ENotSelected 
EPrimarySelected 
ESecondarySelected 

Variable Documentation

const char *const ipe::kind_names
Initial value:
{
"pen", "symbolsize", "arrowsize", "color",
"dashstyle", "textsize", "textstretch", "textstyle",
"gridsize", "anglesize", "opacity", "tiling",
"symbol", "gradient", "effect", 0 }
const char *const ipe::property_names
Initial value:
{
"pen", "symbolsize",
"farrow", "rarrow",
"farrowsize", "rarrowsize",
"farrowshape", "rarrowshape",
"stroke", "fill", "markshape",
"pathmode", "dashstyle",
"textsize", "textstyle",
"opacity", "tiling", "gradient",
"horizontalalignment", "verticalalignment",
"linejoin", "linecap", "fillrule",
"pinned", "transformations", "transformabletext",
"minipage", "width", 0 }