xref: /aosp_15_r20/external/fonttools/Lib/fontTools/pens/wxPen.py (revision e1fe3e4ad2793916b15cccdc4a7da52a7e1dd0e9)
1from fontTools.pens.basePen import BasePen
2
3
4__all__ = ["WxPen"]
5
6
7class WxPen(BasePen):
8    def __init__(self, glyphSet, path=None):
9        BasePen.__init__(self, glyphSet)
10        if path is None:
11            import wx
12
13            path = wx.GraphicsRenderer.GetDefaultRenderer().CreatePath()
14        self.path = path
15
16    def _moveTo(self, p):
17        self.path.MoveToPoint(*p)
18
19    def _lineTo(self, p):
20        self.path.AddLineToPoint(*p)
21
22    def _curveToOne(self, p1, p2, p3):
23        self.path.AddCurveToPoint(*p1 + p2 + p3)
24
25    def _qCurveToOne(self, p1, p2):
26        self.path.AddQuadCurveToPoint(*p1 + p2)
27
28    def _closePath(self):
29        self.path.CloseSubpath()
30