Jump to content

Krita/Recording System

From KDE Community Wiki
Revision as of 22:11, 23 June 2011 by Dimula73 (talk | contribs) (Created page with '==Action Recording System== ===Requirements=== # All the types of tool actions should fit into action recorder system. # Ensure that KisMacroPlayer is thread-safe (d->pause) ===...')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Action Recording System

Requirements

  1. All the types of tool actions should fit into action recorder system.
  2. Ensure that KisMacroPlayer is thread-safe (d->pause)

Desrciption

Current Framework

Current action recording framework is base onto KisRecordedAction class. This class represents a single user action that can be serialized into XML and be replayed later. It has id() and name() for identification and UI representation as well. Each KisRecordedAction-based class has a corresponding KisRecordedActionFactory-based class. This factory is stored in the registry and supposed to map XML-data into a real constructed object.

KisRecordedNodeAction is an action that has some helper functions to save/load the real pointer of the node into/from a path written as a string.

KisMacro represents a container for KisRecordedAction objects. It has convenience methods for managing the sequence of actions, one method for running all the actions and two methods for serialization of the whole macro into XML.

KisActionRecorder is a simple wrapper around KisMacro. It just emits a signal on the addition of every action.