Krita/Recording System
Action Recording System
Requirements
- All the types of tool actions should fit into action recorder system.
- 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.