diff options
Diffstat (limited to 'Lib/fontTools/pens/teePen.py')
-rw-r--r-- | Lib/fontTools/pens/teePen.py | 78 |
1 files changed, 43 insertions, 35 deletions
diff --git a/Lib/fontTools/pens/teePen.py b/Lib/fontTools/pens/teePen.py index 2f30e922..2828175a 100644 --- a/Lib/fontTools/pens/teePen.py +++ b/Lib/fontTools/pens/teePen.py @@ -6,41 +6,49 @@ __all__ = ["TeePen"] class TeePen(AbstractPen): - """Pen multiplexing drawing to one or more pens. - - Use either as TeePen(pen1, pen2, ...) or TeePen(iterableOfPens).""" - - def __init__(self, *pens): - if len(pens) == 1: - pens = pens[0] - self.pens = pens - def moveTo(self, p0): - for pen in self.pens: - pen.moveTo(p0) - def lineTo(self, p1): - for pen in self.pens: - pen.lineTo(p1) - def qCurveTo(self, *points): - for pen in self.pens: - pen.qCurveTo(*points) - def curveTo(self, *points): - for pen in self.pens: - pen.curveTo(*points) - def closePath(self): - for pen in self.pens: - pen.closePath() - def endPath(self): - for pen in self.pens: - pen.endPath() - def addComponent(self, glyphName, transformation): - for pen in self.pens: - pen.addComponent(glyphName, transformation) + """Pen multiplexing drawing to one or more pens. + + Use either as TeePen(pen1, pen2, ...) or TeePen(iterableOfPens).""" + + def __init__(self, *pens): + if len(pens) == 1: + pens = pens[0] + self.pens = pens + + def moveTo(self, p0): + for pen in self.pens: + pen.moveTo(p0) + + def lineTo(self, p1): + for pen in self.pens: + pen.lineTo(p1) + + def qCurveTo(self, *points): + for pen in self.pens: + pen.qCurveTo(*points) + + def curveTo(self, *points): + for pen in self.pens: + pen.curveTo(*points) + + def closePath(self): + for pen in self.pens: + pen.closePath() + + def endPath(self): + for pen in self.pens: + pen.endPath() + + def addComponent(self, glyphName, transformation): + for pen in self.pens: + pen.addComponent(glyphName, transformation) if __name__ == "__main__": - from fontTools.pens.basePen import _TestPen - pen = TeePen(_TestPen(), _TestPen()) - pen.moveTo((0, 0)) - pen.lineTo((0, 100)) - pen.curveTo((50, 75), (60, 50), (50, 25)) - pen.closePath() + from fontTools.pens.basePen import _TestPen + + pen = TeePen(_TestPen(), _TestPen()) + pen.moveTo((0, 0)) + pen.lineTo((0, 100)) + pen.curveTo((50, 75), (60, 50), (50, 25)) + pen.closePath() |