MyScript Interactive Ink SDK 4.2.0
IPath.h
1// Copyright @ MyScript. All rights reserved.
2
3#pragma once
4
5#include <type_traits>
6
7namespace myscript {
8namespace iink {
9namespace graphics {
10
15{
16 NONE = 0,
17 CURVE_OPS = 1 << 0,
18 QUAD_OPS = 1 << 1,
19 ARC_OPS = 1 << 2,
20};
21
28class IPath
29{
30public:
31
32 virtual ~IPath() = default;
33
39 virtual std::underlying_type<PathOperation>::type unsupportedOperations() const noexcept = 0;
40
49 virtual void moveTo(float x, float y) noexcept = 0;
50
60 virtual void lineTo(float x, float y) noexcept = 0;
61
76 virtual void curveTo(float x1, float y1, float x2, float y2, float x, float y) noexcept = 0;
77
89 virtual void quadTo(float x1, float y1, float x, float y) noexcept = 0;
90
109 virtual void arcTo(float rx, float ry, float phi, bool fA, bool fS, float x, float y) noexcept = 0;
110
117 virtual void closePath() noexcept = 0;
118};
119
120}
121}
122}
Definition: IPath.h:29
virtual void quadTo(float x1, float y1, float x, float y) noexcept=0
virtual void curveTo(float x1, float y1, float x2, float y2, float x, float y) noexcept=0
virtual void arcTo(float rx, float ry, float phi, bool fA, bool fS, float x, float y) noexcept=0
virtual std::underlying_type< PathOperation >::type unsupportedOperations() const noexcept=0
virtual void lineTo(float x, float y) noexcept=0
virtual void closePath() noexcept=0
virtual void moveTo(float x, float y) noexcept=0
PathOperation
Definition: IPath.h:15
@ CURVE_OPS
Definition: IPath.h:17
@ ARC_OPS
Definition: IPath.h:19
@ NONE
Definition: IPath.h:16
@ QUAD_OPS
Definition: IPath.h:18
Definition: Configuration.h:10