ArtPaint Add-On Developer Kit

ArtPaint Add-On Developer Kit contains API-descriptions, header-files and object-files for creating add-ons that can be used in ArtPaint image processing and painting program.

The add-on API used by ArtPaint allows for quite powerful add-ons while being still relatively simple. One of the main points in the API is allowing the real-time preview of the effect that the add-on is making. The API also allows the tracking of the mouse while user has buttons pressed. As an example of what can be done with this API are all currently available add-ons. Also rotation, translation,layer transparency and even the text tool follow this exact API.

The API is examined more closely in the other chapters of this document, but here is a brief introduction to it. Add-ons need to export these things:

  • A function that returns a pointer to an instance of a class that is sub-class of class Manipulator.
  • A pointer to character string that represents the add-on's name as it will appear in the menu.
  • An integer that contains the add-on API version number.
  • An integer that describes the add-on's type.
The most important thing in the API is the manipulator that the add-on provides. The manipulator is a instance of a class that inherits from class named Manipulator. All the work will be done by the manipulator. The manipulator can ask the application to do certain things by sending it messages, but usually the application will ask the manipulator to do some work.

You should start the add-on development by examining what is required of a manipulator. After you have built a manipulator it is easy to add the necessary exports in your file. You may also want to check out some general information regarding the add-ons. As it has turned out, perhaps the easiest way of making a new add-on is taking the source-code of an existing (simple) add-on and then modifying it. The development package contains several example add-ons that can be used for this purpose.