MyScript Interactive Ink SDK  3.0.1
HistoryManager.h
1 // Copyright @ MyScript. All rights reserved.
2 
3 #pragma once
4 
5 #include <iink/String.h>
6 
7 #include <vector>
8 
9 namespace myscript {
10 namespace iink {
11 
12 /*
13  * Changeset operation types.
14  * @since 3.0
15  */
17 {
18  ADD = 0,
19  ERASE = 1,
20  TRANSFORM = 2
21 };
22 
23 /*
24  * Represents a changeset operation.
25  * @since 3.0
26  */
28 {
30  std::vector<myscript::iink::String> strokeIds;
31 };
32 
40 {
41 public:
42 
43  virtual ~HistoryManager() = default;
44 
53  virtual void undo() = 0;
54 
63  virtual void redo() = 0;
64 
81  virtual int getUndoRedoStackIndex() = 0;
82 
93  virtual int getPossibleUndoCount() = 0;
94 
105  virtual int getPossibleRedoCount() = 0;
106 
121  virtual String getUndoRedoIdAt(int stackIndex) = 0;
122 
133  virtual std::vector<ChangesetOperation> getUndoChangesetTo(const String& id) = 0;
134 
145  virtual std::vector<ChangesetOperation> getRedoChangesetFrom(const String& id) = 0;
146 };
147 
148 }
149 }
Definition: HistoryManager.h:40
virtual String getUndoRedoIdAt(int stackIndex)=0
virtual std::vector< ChangesetOperation > getRedoChangesetFrom(const String &id)=0
virtual int getPossibleRedoCount()=0
virtual ~HistoryManager()=default
virtual std::vector< ChangesetOperation > getUndoChangesetTo(const String &id)=0
virtual int getPossibleUndoCount()=0
virtual int getUndoRedoStackIndex()=0
Definition: String.h:30
ChangesetOperationType
Definition: HistoryManager.h:17
Definition: Configuration.h:11
Definition: HistoryManager.h:28
ChangesetOperationType type
Definition: HistoryManager.h:29
std::vector< myscript::iink::String > strokeIds
Definition: HistoryManager.h:30