MyScript Interactive Ink SDK  4.0.0
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  SET_TYPE = 3
22 };
23 
24 /*
25  * Represents a changeset operation.
26  * @since 3.0
27  */
29 {
31  std::vector<myscript::iink::String> strokeIds;
32 };
33 
41 {
42 public:
43 
44  virtual ~HistoryManager() = default;
45 
54  virtual void undo() = 0;
55 
64  virtual void redo() = 0;
65 
82  virtual int getUndoRedoStackIndex() = 0;
83 
94  virtual int getPossibleUndoCount() = 0;
95 
106  virtual int getPossibleRedoCount() = 0;
107 
122  virtual String getUndoRedoIdAt(int stackIndex) = 0;
123 
134  virtual std::vector<ChangesetOperation> getUndoChangesetTo(const String& id) = 0;
135 
146  virtual std::vector<ChangesetOperation> getRedoChangesetFrom(const String& id) = 0;
147 };
148 
149 }
150 }
Definition: HistoryManager.h:41
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:27
ChangesetOperationType
Definition: HistoryManager.h:17
Definition: Configuration.h:11
Definition: HistoryManager.h:29
ChangesetOperationType type
Definition: HistoryManager.h:30
std::vector< myscript::iink::String > strokeIds
Definition: HistoryManager.h:31