MyScript Interactive Ink SDK 4.5.0
HistoryManager.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5#include <iink/String.h>
6
7#include <vector>
8
9namespace myscript {
10namespace 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{
42public:
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 std::vector< ChangesetOperation > getUndoChangesetTo(const String &id)=0
virtual String getUndoRedoIdAt(int stackIndex)=0
virtual int getPossibleRedoCount()=0
virtual ~HistoryManager()=default
virtual std::vector< ChangesetOperation > getRedoChangesetFrom(const String &id)=0
virtual int getPossibleUndoCount()=0
virtual int getUndoRedoStackIndex()=0
Definition: String.h:17
ChangesetOperationType
Definition: HistoryManager.h:17
Definition: Configuration.h:10
Definition: HistoryManager.h:29
ChangesetOperationType type
Definition: HistoryManager.h:30
std::vector< myscript::iink::String > strokeIds
Definition: HistoryManager.h:31