From a03eb1137b503393f24650390d58aae68a99bafd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20T=C3=A9tar?= Date: Fri, 7 Apr 2017 20:50:20 +0200 Subject: [PATCH] pens: add a wx pen --- Lib/fontTools/pens/wxPen.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 Lib/fontTools/pens/wxPen.py diff --git a/Lib/fontTools/pens/wxPen.py b/Lib/fontTools/pens/wxPen.py new file mode 100644 index 000000000..8e0e46390 --- /dev/null +++ b/Lib/fontTools/pens/wxPen.py @@ -0,0 +1,31 @@ +from __future__ import print_function, division, absolute_import +from fontTools.misc.py23 import * +from fontTools.pens.basePen import BasePen + + +__all__ = ["WxPen"] + + +class WxPen(BasePen): + + def __init__(self, glyphSet, path=None): + BasePen.__init__(self, glyphSet) + if path is None: + import wx + path = wx.GraphicsRenderer.GetDefaultRenderer().CreatePath() + self.path = path + + def _moveTo(self, p): + self.path.MoveToPoint(*p) + + def _lineTo(self, p): + self.path.AddLineToPoint(*p) + + def _curveToOne(self, p1, p2, p3): + self.path.AddCurveToPoint(*p1+p2+p3) + + def _qCurveToOne(self, p1, p2): + self.path.AddQuadCurveToPoint(*p1+p2) + + def _closePath(self): + self.path.CloseSubpath()