# The Ipelet interface

Implementation of Ipe plugins. More...

## Classes

- class ipe::Ipelet
    Abstract base class for Ipelets. More...
- class ipe::IpeletHelper
    Service provider for Ipelets. More...

## Detailed Description

Implementation of Ipe plugins.

Ipelets are dynamically loaded plugins for Ipe written in Lua.

The Ipelet class makes it easy for ipelet authors to write ipelets in C++ without using Lua's C API. They only need to provide some boilerplate Lua code to define the labels and functions of the ipelet, and use the Lua function "loadIpelet" to load a DLL containing a C++ class derived from Ipelet. The run() method of this class can then be called from Lua. The C++ code has access to services provided by Ipe through an IpeletHelper object.

Ipelet derived classes are restricted to operate on the current page of the document, and cannot modify the StyleSheet or other properties of the document. If you wish to write an ipelet doing this, you need to work in Lua (or create a C++ library using the Lua C API).