MyScript Interactive Ink SDK  4.0.0
OffscreenEditor.h
1 // Copyright @ MyScript. All rights reserved.
2 
3 #pragma once
4 
5 #include <iink/Editor.h>
6 #include <iink/String.h>
7 #include <iink/MimeType.h>
8 
9 #include <vector>
10 #include <memory>
11 
12 namespace myscript {
13 namespace iink {
14 
15 class Engine;
16 class HistoryManager;
17 class ParameterSet;
18 class Configuration;
19 class ContentPart;
20 class IOffscreenEditorListener;
21 class IOffscreenGestureHandler;
22 
23 namespace graphics {
24  struct Transform;
25 }
26 
34 {
35 public:
36 
37  virtual ~OffscreenEditor() = default;
38 
44  virtual void addListener(std::shared_ptr<IOffscreenEditorListener> listener) = 0;
45 
51  virtual void removeListener(std::shared_ptr<IOffscreenEditorListener> listener) = 0;
52 
60  virtual void setGestureHandler(std::shared_ptr<IOffscreenGestureHandler> handler) = 0;
61 
65  virtual void removeGestureHandler() = 0;
66 
72  virtual std::shared_ptr<Engine> getEngine() = 0;
73 
79  virtual std::shared_ptr<Configuration> getConfiguration() = 0;
80 
88  virtual std::shared_ptr<HistoryManager> getHistoryManager() = 0;
89 
97  virtual std::shared_ptr<MathSolverController> getMathSolverController() = 0;
98 
105  virtual float getScaleX() const = 0;
106 
113  virtual float getScaleY() const = 0;
114 
120  virtual std::shared_ptr<ContentPart> getPart() = 0;
121 
133  virtual void setPart(std::shared_ptr<ContentPart> part) = 0;
134 
140  virtual void clear() = 0;
141 
147  virtual bool isIdle() = 0;
148 
152  virtual void waitForIdle() = 0;
153 
159  virtual String getRootBlockId() = 0;
160 
180  virtual std::vector<String> addStrokes(const std::vector<PointerEvent>& events, bool processGestures = true) = 0;
181 
200  virtual std::vector<String> replaceStrokes(const std::vector<String>& itemIds, const std::vector<PointerEvent>& events) = 0;
201 
212  virtual void erase(const std::vector<String>& itemIds) = 0;
213 
227  virtual std::underlying_type<TransformError>::type getTransformStatus(const std::vector<String>& itemIds, const myscript::iink::graphics::Transform& transform) = 0;
228 
242  virtual void transform(const std::vector<String>& itemIds, const myscript::iink::graphics::Transform& transform) = 0;
243 
258  virtual std::vector<String> getAvailableItemsTypes(const std::vector<String>& itemIds) = 0;
259 
275  virtual void setItemsType(const std::vector<String>& itemIds, const String& type, bool forceSingleBlock) = 0;
276 
286  virtual std::vector<MimeType> getSupportedExportMimeTypes(const std::vector<String>& itemIds) = 0;
287 
308  virtual String export_(const std::vector<String>& itemIds, MimeType mimeType, std::shared_ptr<ParameterSet> overrideConfiguration = nullptr) = 0;
309 };
310 
311 }
312 }
Definition: OffscreenEditor.h:34
virtual float getScaleX() const =0
virtual std::vector< String > replaceStrokes(const std::vector< String > &itemIds, const std::vector< PointerEvent > &events)=0
virtual std::underlying_type< TransformError >::type getTransformStatus(const std::vector< String > &itemIds, const myscript::iink::graphics::Transform &transform)=0
virtual std::shared_ptr< MathSolverController > getMathSolverController()=0
virtual void addListener(std::shared_ptr< IOffscreenEditorListener > listener)=0
virtual void removeGestureHandler()=0
virtual std::shared_ptr< Engine > getEngine()=0
virtual std::shared_ptr< ContentPart > getPart()=0
virtual ~OffscreenEditor()=default
virtual void transform(const std::vector< String > &itemIds, const myscript::iink::graphics::Transform &transform)=0
virtual std::vector< String > getAvailableItemsTypes(const std::vector< String > &itemIds)=0
virtual std::vector< String > addStrokes(const std::vector< PointerEvent > &events, bool processGestures=true)=0
virtual void erase(const std::vector< String > &itemIds)=0
virtual float getScaleY() const =0
virtual std::shared_ptr< Configuration > getConfiguration()=0
virtual std::shared_ptr< HistoryManager > getHistoryManager()=0
virtual void setItemsType(const std::vector< String > &itemIds, const String &type, bool forceSingleBlock)=0
virtual std::vector< MimeType > getSupportedExportMimeTypes(const std::vector< String > &itemIds)=0
virtual String export_(const std::vector< String > &itemIds, MimeType mimeType, std::shared_ptr< ParameterSet > overrideConfiguration=nullptr)=0
virtual void removeListener(std::shared_ptr< IOffscreenEditorListener > listener)=0
virtual void setGestureHandler(std::shared_ptr< IOffscreenGestureHandler > handler)=0
virtual void setPart(std::shared_ptr< ContentPart > part)=0
virtual String getRootBlockId()=0
Definition: String.h:27
MimeType
Definition: MimeType.h:15
Definition: Configuration.h:11
Definition: Transform.h:31