jvr | e028b38 | 2003-08-26 18:20:27 +0000 | [diff] [blame] | 1 | from fontTools.pens.basePen import BasePen |
Behdad Esfahbod | 7ed91ec | 2013-11-27 15:16:28 -0500 | [diff] [blame^] | 2 | from fontTools.misc.py23 import * |
jvr | e028b38 | 2003-08-26 18:20:27 +0000 | [diff] [blame] | 3 | |
| 4 | |
| 5 | __all__ = ["CocoaPen"] |
| 6 | |
| 7 | |
| 8 | class CocoaPen(BasePen): |
| 9 | |
| 10 | def __init__(self, glyphSet, path=None): |
| 11 | BasePen.__init__(self, glyphSet) |
| 12 | if path is None: |
| 13 | from AppKit import NSBezierPath |
| 14 | path = NSBezierPath.bezierPath() |
| 15 | self.path = path |
| 16 | |
Behdad Esfahbod | 3a9fd30 | 2013-11-27 03:19:32 -0500 | [diff] [blame] | 17 | def _moveTo(self, p): |
| 18 | self.path.moveToPoint_(p) |
jvr | e028b38 | 2003-08-26 18:20:27 +0000 | [diff] [blame] | 19 | |
Behdad Esfahbod | 3a9fd30 | 2013-11-27 03:19:32 -0500 | [diff] [blame] | 20 | def _lineTo(self, p): |
| 21 | self.path.lineToPoint_(p) |
jvr | e028b38 | 2003-08-26 18:20:27 +0000 | [diff] [blame] | 22 | |
Behdad Esfahbod | 3a9fd30 | 2013-11-27 03:19:32 -0500 | [diff] [blame] | 23 | def _curveToOne(self, p1, p2, p3): |
| 24 | self.path.curveToPoint_controlPoint1_controlPoint2_(p3, p1, p2) |
jvr | e028b38 | 2003-08-26 18:20:27 +0000 | [diff] [blame] | 25 | |
| 26 | def _closePath(self): |
| 27 | self.path.closePath() |