22 lines
566 B
Python
22 lines
566 B
Python
from fontTools.pens.basePen import BasePen
|
|
|
|
class QuartzPen(BasePen):
|
|
|
|
"""Pen to draw onto a Quartz drawing context (Carbon.CG)."""
|
|
|
|
def __init__(self, glyphSet, quartzContext):
|
|
BasePen.__init__(self, glyphSet)
|
|
self._context = quartzContext
|
|
|
|
def _moveTo(self, (x, y)):
|
|
self._context.CGContextMoveToPoint(x, y)
|
|
|
|
def _lineTo(self, (x, y)):
|
|
self._context.CGContextAddLineToPoint(x, y)
|
|
|
|
def _curveToOne(self, (x1, y1), (x2, y2), (x3, y3)):
|
|
self._context.CGContextAddCurveToPoint(x1, y1, x2, y2, x3, y3)
|
|
|
|
def _closePath(self):
|
|
self._context.closePath()
|