MCPcopy Create free account
hub / github.com/PageBot/PageBot / build

Method build

Lib/pagebot/elements/glyphpath.py:96–121  ·  view source on GitHub ↗
(self, view, origin=ORIGIN, **kwargs)

Source from the content-addressed store, hash-verified

94 h = property(_get_h, _set_h)
95
96 def build(self, view, origin=ORIGIN, **kwargs):
97 p = self.getPosition(view, origin)
98 self.buildFrame(view, p) # Draw optional frame, shadow or borders.
99 px, py, _ = p
100
101 #self.context.save() # TODO: fix in Flat.
102 self.context.translate(px, py)
103 # Scale needs to bev a ratio value, not a unit.
104 sx, sy = (self.w/self.iw).rv, (self.h/self.ih).rv
105 self.context.scale(sx, sy)
106
107 # If a path filter is defined, call it and ignore regular drawing.
108 if self.pathFilter is not None:
109 self.pathFilter(self, self.glyph, view)
110 else:
111 # No path filter defined, draws regular stroke and fill.
112 self.context.fill(self.css('fill'))
113 self.context.stroke(self.css('stroke', noColor), (self.css('strokeWidth') or 0.5))
114 self.context.drawGlyphPath(self.glyph)
115 #self.context.restore() # TODO: fix in Flat.
116 self.context.scale(1/sx, 1/sy)
117 self.context.translate(-px, -py)
118
119 self.buildChildElements(view, p, **kwargs)
120 self.restore(view, p)
121 self.drawMeta(view, origin)
122
123if __name__ == '__main__':
124 import doctest

Callers

nothing calls this directly

Calls 11

getPositionMethod · 0.80
buildFrameMethod · 0.80
buildChildElementsMethod · 0.80
drawMetaMethod · 0.80
translateMethod · 0.45
scaleMethod · 0.45
fillMethod · 0.45
cssMethod · 0.45
strokeMethod · 0.45
drawGlyphPathMethod · 0.45
restoreMethod · 0.45

Tested by

no test coverage detected