@@ -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
0 commit comments