MyScript Interactive Ink SDK 4.2.0
Engine.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5
6#ifndef IINK_API
7#if defined(_WIN32)
8#ifdef IINK_IMPL
9#define IINK_API __declspec(dllexport)
10#else
11#define IINK_API __declspec(dllimport)
12#endif
13#else
14#define IINK_API
15#endif
16#endif
17
18#include <iink/String.h>
19#include <memory>
20#include <vector>
21#include <stdexcept>
22
23namespace myscript {
24namespace iink {
25
26class Configuration;
27class ContentPackage;
28class Editor;
29class HandwritingGenerator;
30class IRenderTarget;
31class ItemIdHelper;
32class OffscreenEditor;
33class ParameterSet;
34class RecognitionAssetsBuilder;
35class Recognizer;
36class Renderer;
37class ToolController;
38
39#if !defined(CREATE_NEW) && !defined(TRUNCATE_EXISTING)
45{
50};
51#else
58{
59 OPEN,
60 OPEN_OR_CREATE,
61 CREATE,
62 CREATE_OR_TRUNCATE,
63};
64#endif
65
69class Engine
70{
71public:
72
84 IINK_API static std::shared_ptr<Engine> create(const char* certificateBytes, size_t certificateLength);
85
86 virtual ~Engine() = default;
87
95 virtual String getVersion() = 0;
96
102 virtual std::shared_ptr<Configuration> getConfiguration() noexcept = 0;
103
116 virtual std::shared_ptr<Renderer> createRenderer(float dpiX, float dpiY, std::shared_ptr<IRenderTarget> target) = 0;
117
125 virtual std::shared_ptr<ToolController> createToolController() noexcept = 0;
126
136 virtual std::shared_ptr<Editor> createEditor(std::shared_ptr<Renderer> renderer, std::shared_ptr<ToolController> toolController = nullptr) = 0;
137
149 virtual std::shared_ptr<OffscreenEditor> createOffscreenEditor(float scaleX, float scaleY) = 0;
150
160 virtual std::shared_ptr<ItemIdHelper> createItemIdHelper(std::shared_ptr<OffscreenEditor> offscreenEditor) = 0;
161
181 virtual std::shared_ptr<Recognizer> createRecognizer(float scaleX, float scaleY, const String& type) = 0;
182
193 std::shared_ptr<ContentPackage> createPackage(const String& fileName)
194 {
195 return openPackage(fileName, (PackageOpenOption)2);
196 }
197
212 virtual std::shared_ptr<ContentPackage> openPackage(const String& fileName, PackageOpenOption openOption = (PackageOpenOption)0) = 0;
213
224 virtual void deletePackage(const String& fileName) = 0;
225
231 virtual std::vector<String> getSupportedPartTypes() noexcept = 0;
232
240 virtual std::shared_ptr<ParameterSet> createParameterSet() = 0;
241
250
258 virtual std::vector<String> getSupportedRecognizerTypes() = 0;
259
269 virtual std::shared_ptr<HandwritingGenerator> createHandwritingGenerator() = 0;
270};
271
272}
273}
Definition: ContentPackage.h:22
Definition: Editor.h:116
Definition: Engine.h:70
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:193
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:27
Definition: ToolController.h:31
PackageOpenOption
Definition: Engine.h:45
@ EXISTING
Definition: Engine.h:46
@ CREATE_NEW
Definition: Engine.h:48
@ CREATE
Definition: Engine.h:47
@ TRUNCATE_EXISTING
Definition: Engine.h:49
Definition: Configuration.h:10