Skip to content

Commit 28407c2

Browse files
Merge branch 'master' into copilot/refactor-item-draw-method
2 parents 8a4fee1 + 75b2e19 commit 28407c2

1 file changed

Lines changed: 27 additions & 36 deletions

File tree

‎engine/cairoShim.h‎

Lines changed: 27 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -12,56 +12,47 @@
1212
#include <string>
1313
#include <memory>
1414

15-
namespace ravel
15+
namespace minsky
1616
{
17-
template <class G> class CairoShimImpl;
18-
19-
template <class G>
20-
class CairoShim
17+
class ICairoShim
2118
{
22-
CairoShimImpl<G>* impl;
23-
CairoShim(const CairoShim&)=delete;
24-
void operator=(const CairoShim&)=delete;
2519
public:
26-
// template parameter G = cairo_t* or HDC
27-
CairoShim(G);
28-
~CairoShim();
29-
30-
void moveTo(double x, double y);
31-
void lineTo(double x, double y);
32-
void relMoveTo(double x, double y);
33-
void relLineTo(double x, double y);
34-
void arc(double x, double y, double radius, double start, double end);
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;
3526

36-
void setLineWidth(double);
27+
virtual void setLineWidth(double)=0;
3728

3829
// paths
39-
void newPath();
40-
void closePath();
41-
void fill();
42-
void clip();
43-
void stroke();
44-
void strokePreserve();
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;
4536

4637
// sources
47-
void setSourceRGB(double r, double g, double b);
48-
void setSourceRGBA(double r, double g, double b, double a);
38+
virtual void setSourceRGB(double r, double g, double b)=0;
39+
virtual void setSourceRGBA(double r, double g, double b, double a)=0;
4940

5041
// text. Argument is in UTF8 encoding
51-
void showText(const std::string&);
52-
void setTextExtents(const std::string&);
53-
double textWidth() const;
54-
double textHeight() const;
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;
5546

5647
// matrix transformation
57-
void identityMatrix();
58-
void translate(double x, double y);
59-
void scale(double sx, double sy);
60-
void rotate(double angle); ///< 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
6152

6253
// context manipulation
63-
void save();
64-
void restore();
54+
virtual void save()=0;
55+
virtual void restore()=0;
6556

6657
};
6758

0 commit comments

Comments
 (0)