MyScript Interactive Ink SDK 4.4.2
Engine.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5#include <iink/String.h>
6#include <iink/APIVisibility.h>
7
8#include <memory>
9#include <vector>
10#include <stdexcept>
11
12namespace myscript {
13namespace iink {
14
15class Configuration;
16class ContentPackage;
17class Editor;
18class HandwritingGenerator;
19class IRenderTarget;
20class ItemIdHelper;
21class OffscreenEditor;
22class ParameterSet;
23class RecognitionAssetsBuilder;
24class Recognizer;
25class Renderer;
26class ToolController;
27
28#if !defined(CREATE_NEW) && !defined(TRUNCATE_EXISTING)
34{
39};
40#else
47{
48 OPEN,
49 OPEN_OR_CREATE,
50 CREATE,
51 CREATE_OR_TRUNCATE,
52};
53#endif
54
58class Engine
59{
60public:
61
73 IINK_API static std::shared_ptr<Engine> create(const char* certificateBytes, size_t certificateLength);
74
75 virtual ~Engine() = default;
76
84 virtual String getVersion() = 0;
85
91 virtual std::shared_ptr<Configuration> getConfiguration() noexcept = 0;
92
105 virtual std::shared_ptr<Renderer> createRenderer(float dpiX, float dpiY, std::shared_ptr<IRenderTarget> target) = 0;
106
114 virtual std::shared_ptr<ToolController> createToolController() noexcept = 0;
115
125 virtual std::shared_ptr<Editor> createEditor(std::shared_ptr<Renderer> renderer, std::shared_ptr<ToolController> toolController = nullptr) = 0;
126
138 virtual std::shared_ptr<OffscreenEditor> createOffscreenEditor(float scaleX, float scaleY) = 0;
139
149 virtual std::shared_ptr<ItemIdHelper> createItemIdHelper(std::shared_ptr<OffscreenEditor> offscreenEditor) = 0;
150
170 virtual std::shared_ptr<Recognizer> createRecognizer(float scaleX, float scaleY, const String& type) = 0;
171
182 std::shared_ptr<ContentPackage> createPackage(const String& fileName)
183 {
184 return openPackage(fileName, (PackageOpenOption)2);
185 }
186
201 virtual std::shared_ptr<ContentPackage> openPackage(const String& fileName, PackageOpenOption openOption = (PackageOpenOption)0) = 0;
202
213 virtual void deletePackage(const String& fileName) = 0;
214
220 virtual std::vector<String> getSupportedPartTypes() noexcept = 0;
221
229 virtual std::shared_ptr<ParameterSet> createParameterSet() = 0;
230
239
247 virtual std::vector<String> getSupportedRecognizerTypes() = 0;
248
258 virtual std::shared_ptr<HandwritingGenerator> createHandwritingGenerator() = 0;
259};
260
261}
262}
Definition: ContentPackage.h:22
Definition: Editor.h:116
Definition: Engine.h:59
virtual std::shared_ptr< Recognizer > createRecognizer(float scaleX, float scaleY, const String &type)=0
virtual std::shared_ptr< OffscreenEditor > createOffscreenEditor(float scaleX, float scaleY)=0
virtual std::shared_ptr< Configuration > getConfiguration() noexcept=0
virtual std::shared_ptr< HandwritingGenerator > createHandwritingGenerator()=0
virtual std::shared_ptr< ToolController > createToolController() noexcept=0
virtual std::shared_ptr< ContentPackage > openPackage(const String &fileName, PackageOpenOption openOption=(PackageOpenOption) 0)=0
virtual std::shared_ptr< Editor > createEditor(std::shared_ptr< Renderer > renderer, std::shared_ptr< ToolController > toolController=nullptr)=0
virtual String getVersion()=0
virtual std::shared_ptr< Renderer > createRenderer(float dpiX, float dpiY, std::shared_ptr< IRenderTarget > target)=0
virtual void deletePackage(const String &fileName)=0
static std::shared_ptr< Engine > create(const char *certificateBytes, size_t certificateLength)
virtual ~Engine()=default
std::shared_ptr< ContentPackage > createPackage(const String &fileName)
Definition: Engine.h:182
virtual std::vector< String > getSupportedPartTypes() noexcept=0
virtual std::vector< String > getSupportedRecognizerTypes()=0
virtual std::shared_ptr< ParameterSet > createParameterSet()=0
virtual std::shared_ptr< RecognitionAssetsBuilder > createRecognitionAssetsBuilder()=0
virtual std::shared_ptr< ItemIdHelper > createItemIdHelper(std::shared_ptr< OffscreenEditor > offscreenEditor)=0
Definition: HandwritingGenerator.h:29
Definition: IRenderTarget.h:30
Definition: ItemIdHelper.h:36
Definition: OffscreenEditor.h:34
Definition: ParameterSet.h:16
Definition: RecognitionAssetsBuilder.h:18
Definition: Recognizer.h:29
Definition: Renderer.h:21
Definition: String.h:17
Definition: ToolController.h:31
PackageOpenOption
Definition: Engine.h:34
@ EXISTING
Definition: Engine.h:35
@ CREATE_NEW
Definition: Engine.h:37
@ CREATE
Definition: Engine.h:36
@ TRUNCATE_EXISTING
Definition: Engine.h:38
Definition: Configuration.h:10