# IpeLayer Class Reference
[Ipe Document]

A layer of an IpePage. More...

List of all members.

## Public Types

- enum { EDim = 0x01, ELocked = 0x02, ENoSnapping = 0x04 }

## Public Member Functions

- IpeLayer (IpeString name)
- IpeLayer (const IpeXmlAttributes &attr)
- void SaveAsXml (IpeStream &stream) const
- IpeString Name () const
- void SetName (const IpeString &name)
- bool IsDimmed () const
- bool IsLocked () const
- bool IsSnapping () const
- void SetDimmed (bool flag)
- void SetLocked (bool flag)
- void SetSnapping (bool flag)

## Public Attributes

- IpeString iName
- int iFlags

## Detailed Description

A layer of an IpePage.

The objects on one IpePage can belong to any number of layers. Layers are orthogonal to the back-to-front ordering of objects, so a "layer" is just another attribute of the object.

Layers have several attributes:

- They may be editable or locked. Objects in a locked layer cannot be selected, and a locked layer cannot be made active in the Ipe UI. This more or less means that the contents of such a layer cannot be modified---but that's a consequence of the UI, Ipelib contains no special handling of locked layers.

- A layer may be dimmed.

- A layer may have snapping on or off---objects will behave magnetically only if their layer has snapping on.

The PDF output generated for an IpePage depends on its views. Each view may list a number of layers to be displayed at that stage. Multiple views may show different subsets of layers.

## Constructor & Destructor Documentation

IpeLayer::IpeLayer | ( | IpeString | name | ) | `[explicit]`

| Construct with name. Default attributes.

IpeLayer::IpeLayer | ( | const IpeXmlAttributes & | attr | ) | `[explicit]`

| Construct from a single XML tag.

## Member Function Documentation

void IpeLayer::SaveAsXml | ( | IpeStream & | stream | ) | const

| Write a single XML tag describing this layer.

IpeString IpeLayer::Name | ( |  | ) | const`[inline]`

| Return name.

void IpeLayer::SetName | ( | const IpeString & | name | ) | `[inline]`

| Set name.

bool IpeLayer::IsDimmed | ( |  | ) | const`[inline]`

| Is dimmed?

bool IpeLayer::IsLocked | ( |  | ) | const`[inline]`

| Is locked?

bool IpeLayer::IsSnapping | ( |  | ) | const`[inline]`

| Is snapping enabled?

void IpeLayer::SetDimmed | ( | bool | flag | ) |

| Set dimming.

void IpeLayer::SetLocked | ( | bool | flag | ) |

| Set locking.

void IpeLayer::SetSnapping | ( | bool | flag | ) |

| Set snapping.

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

- ipepage.h
- ipepage.cpp