(self, canvas=None,
shape=_CFG["shape"],
undobuffersize=_CFG["undobuffersize"],
visible=_CFG["visible"])
| 2518 | screens = [] |
| 2519 | |
| 2520 | def __init__(self, canvas=None, |
| 2521 | shape=_CFG["shape"], |
| 2522 | undobuffersize=_CFG["undobuffersize"], |
| 2523 | visible=_CFG["visible"]): |
| 2524 | if isinstance(canvas, _Screen): |
| 2525 | self.screen = canvas |
| 2526 | elif isinstance(canvas, TurtleScreen): |
| 2527 | if canvas not in RawTurtle.screens: |
| 2528 | RawTurtle.screens.append(canvas) |
| 2529 | self.screen = canvas |
| 2530 | elif isinstance(canvas, (ScrolledCanvas, Canvas)): |
| 2531 | for screen in RawTurtle.screens: |
| 2532 | if screen.cv == canvas: |
| 2533 | self.screen = screen |
| 2534 | break |
| 2535 | else: |
| 2536 | self.screen = TurtleScreen(canvas) |
| 2537 | RawTurtle.screens.append(self.screen) |
| 2538 | else: |
| 2539 | raise TurtleGraphicsError("bad canvas argument %s" % canvas) |
| 2540 | |
| 2541 | screen = self.screen |
| 2542 | TNavigator.__init__(self, screen.mode()) |
| 2543 | TPen.__init__(self) |
| 2544 | screen._turtles.append(self) |
| 2545 | self.drawingLineItem = screen._createline() |
| 2546 | self.turtle = _TurtleImage(screen, shape) |
| 2547 | self._poly = None |
| 2548 | self._creatingPoly = False |
| 2549 | self._fillitem = self._fillpath = None |
| 2550 | self._shown = visible |
| 2551 | self._hidden_from_screen = False |
| 2552 | self.currentLineItem = screen._createline() |
| 2553 | self.currentLine = [self._position] |
| 2554 | self.items = [self.currentLineItem] |
| 2555 | self.stampItems = [] |
| 2556 | self._undobuffersize = undobuffersize |
| 2557 | self.undobuffer = Tbuffer(undobuffersize) |
| 2558 | self._update() |
| 2559 | |
| 2560 | def reset(self): |
| 2561 | """Delete the turtle's drawings and restore its default values. |
nothing calls this directly
no test coverage detected