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