Skip to content

Commit 75b2e19

Browse files
Merge pull request #613 from highperformancecoder/copilot/fix-icairoshim-interface
Fix ICairoShim interface: replace volatile with virtual
2 parents 7177383 + 5d65b59 commit 75b2e19

2 files changed

Lines changed: 27 additions & 24 deletions

File tree

engine/cairoShim.h

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -17,41 +17,42 @@ namespace minsky
1717
class ICairoShim
1818
{
1919
public:
20-
volatile void moveTo(double x, double y)=0;
21-
volatile void lineTo(double x, double y)=0;
22-
volatile void relMoveTo(double x, double y)=0;
23-
volatile void relLineTo(double x, double y)=0;
24-
volatile void arc(double x, double y, double radius, double start, double end)=0;
20+
virtual ~ICairoShim() = default;
21+
virtual void moveTo(double x, double y)=0;
22+
virtual void lineTo(double x, double y)=0;
23+
virtual void relMoveTo(double x, double y)=0;
24+
virtual void relLineTo(double x, double y)=0;
25+
virtual void arc(double x, double y, double radius, double start, double end)=0;
2526

26-
volatile void setLineWidth(double)=0;
27+
virtual void setLineWidth(double)=0;
2728

2829
// paths
29-
volatile void newPath()=0;
30-
volatile void closePath()=0;
31-
volatile void fill()=0;
32-
volatile void clip()=0;
33-
volatile void stroke()=0;
34-
volatile void strokePreserve()=0;
30+
virtual void newPath()=0;
31+
virtual void closePath()=0;
32+
virtual void fill()=0;
33+
virtual void clip()=0;
34+
virtual void stroke()=0;
35+
virtual void strokePreserve()=0;
3536

3637
// sources
37-
volatile void setSourceRGB(double r, double g, double b)=0;
38-
volatile void setSourceRGBA(double r, double g, double b, double a)=0;
38+
virtual void setSourceRGB(double r, double g, double b)=0;
39+
virtual void setSourceRGBA(double r, double g, double b, double a)=0;
3940

4041
// text. Argument is in UTF8 encoding
41-
volatile void showText(const std::string&)=0;
42-
volatile void setTextExtents(const std::string&)=0;
43-
volatile double textWidth() const=0;
44-
volatile double textHeight() const=0;
42+
virtual void showText(const std::string&)=0;
43+
virtual void setTextExtents(const std::string&)=0;
44+
virtual double textWidth() const=0;
45+
virtual double textHeight() const=0;
4546

4647
// matrix transformation
47-
volatile void identityMatrix()=0;
48-
volatile void translate(double x, double y)=0;
49-
volatile void scale(double sx, double sy)=0;
50-
volatile void rotate(double angle)=0; ///< angle in radians
48+
virtual void identityMatrix()=0;
49+
virtual void translate(double x, double y)=0;
50+
virtual void scale(double sx, double sy)=0;
51+
virtual void rotate(double angle)=0; ///< angle in radians
5152

5253
// context manipulation
53-
volatile void save()=0;
54-
volatile void restore()=0;
54+
virtual void save()=0;
55+
virtual void restore()=0;
5556

5657
};
5758

package-lock.json

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)