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