# Ipe Attributes

Attributes for Ipe objects. More...

## Classes

- struct ipe::Tiling
    A tiling pattern. More...
- struct ipe::Gradient
    A gradient pattern. More...
- struct ipe::Layout
    Layout of a Page. 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

ipe::AttributeSeq

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 |

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

enum ipe::TPathMode

Path mode (stroked, filled, or both).

Enumerator:

  EStrokedOnly |
  EStrokedAndFilled |
  EFilledOnly |

enum ipe::THorizontalAlignment

Horizontal alignment.

Enumerator:

  EAlignLeft |
  EAlignRight |
  EAlignHCenter |

enum ipe::TVerticalAlignment

Vertical alignment.

Enumerator:

  EAlignBottom |
  EAlignBaseline |
  EAlignTop |
  EAlignVCenter |

enum ipe::TLineJoin

Line join style.

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

Enumerator:

  EDefaultJoin |
  EMiterJoin |
  ERoundJoin |
  EBevelJoin |

enum ipe::TLineCap

Line cap style.

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

Enumerator:

  EDefaultCap |
  EButtCap |
  ERoundCap |
  ESquareCap |

enum ipe::TFillRule

Fill rule.

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

Enumerator:

  EDefaultRule |
  EWindRule |
  EEvenOddRule |

enum ipe::TPinned

Pinning status of objects.

Enumerator:

  ENoPin |
  EHorizontalPin |
  EVerticalPin |
  EFixedPin |

enum ipe::TTransformations

Transformations that are permitted for an object.

Enumerator:

  ETransformationsTranslations |
  ETransformationsRigidMotions |
  ETransformationsAffine |

enum ipe::TSelect

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 }