MyScript Interactive Ink SDK  4.1.2
IPath.h
1 // Copyright @ MyScript. All rights reserved.
2 
3 #pragma once
4 
5 #include <type_traits>
6 
7 namespace myscript {
8 namespace iink {
9 namespace graphics {
10 
15 {
16  NONE = 0,
17  CURVE_OPS = 1 << 0,
18  QUAD_OPS = 1 << 1,
19  ARC_OPS = 1 << 2,
20 };
21 
28 class IPath
29 {
30 public:
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