diff --git a/engine/cairoShim.h b/engine/cairoShim.h index 47e8a3bfb..d185fa836 100644 --- a/engine/cairoShim.h +++ b/engine/cairoShim.h @@ -17,41 +17,42 @@ namespace minsky class ICairoShim { public: - volatile void moveTo(double x, double y)=0; - volatile void lineTo(double x, double y)=0; - volatile void relMoveTo(double x, double y)=0; - volatile void relLineTo(double x, double y)=0; - volatile void arc(double x, double y, double radius, double start, double end)=0; + virtual ~ICairoShim() = default; + virtual void moveTo(double x, double y)=0; + virtual void lineTo(double x, double y)=0; + virtual void relMoveTo(double x, double y)=0; + virtual void relLineTo(double x, double y)=0; + virtual void arc(double x, double y, double radius, double start, double end)=0; - volatile void setLineWidth(double)=0; + virtual void setLineWidth(double)=0; // paths - volatile void newPath()=0; - volatile void closePath()=0; - volatile void fill()=0; - volatile void clip()=0; - volatile void stroke()=0; - volatile void strokePreserve()=0; + virtual void newPath()=0; + virtual void closePath()=0; + virtual void fill()=0; + virtual void clip()=0; + virtual void stroke()=0; + virtual void strokePreserve()=0; // sources - volatile void setSourceRGB(double r, double g, double b)=0; - volatile void setSourceRGBA(double r, double g, double b, double a)=0; + virtual void setSourceRGB(double r, double g, double b)=0; + virtual void setSourceRGBA(double r, double g, double b, double a)=0; // text. Argument is in UTF8 encoding - volatile void showText(const std::string&)=0; - volatile void setTextExtents(const std::string&)=0; - volatile double textWidth() const=0; - volatile double textHeight() const=0; + virtual void showText(const std::string&)=0; + virtual void setTextExtents(const std::string&)=0; + virtual double textWidth() const=0; + virtual double textHeight() const=0; // matrix transformation - volatile void identityMatrix()=0; - volatile void translate(double x, double y)=0; - volatile void scale(double sx, double sy)=0; - volatile void rotate(double angle)=0; ///< angle in radians + virtual void identityMatrix()=0; + virtual void translate(double x, double y)=0; + virtual void scale(double sx, double sy)=0; + virtual void rotate(double angle)=0; ///< angle in radians // context manipulation - volatile void save()=0; - volatile void restore()=0; + virtual void save()=0; + virtual void restore()=0; }; diff --git a/package-lock.json b/package-lock.json index 283967596..a3ea4db8a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,6 +92,7 @@ "integrity": "sha512-ENHwaH+JIRTDIEEbDK6QSQntAYGtbvdDXnMXnZaZ6k13Du1dPMmprkEHIL7ok2Wl2aZevetwTAb5S+7yIF+enA==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "undici-types": "~7.8.0" } @@ -227,6 +228,7 @@ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", "license": "Apache-2.0", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver"