From c66a597464db2d07ffaeb7856f34d4533ea14a18 Mon Sep 17 00:00:00 2001 From: Walter Bender Date: Fri, 22 Feb 2013 19:28:26 +0000 Subject: fixed drifting dot problem --- (limited to 'TurtleArt/tasprite_factory.py') diff --git a/TurtleArt/tasprite_factory.py b/TurtleArt/tasprite_factory.py index 52ecdf6..3278e8a 100755 --- a/TurtleArt/tasprite_factory.py +++ b/TurtleArt/tasprite_factory.py @@ -304,9 +304,9 @@ class SVG: svg += self._rline_to(0, -self._radius * 3.5 - self._innie_y2 - \ self._innie_spacer - self._stroke_width) - self._hide_x = self._x + self._radius + self._stroke_width * 2 - self._hide_y = self._y + self._radius * .25 - self._show_x = self._x + self._radius + self._stroke_width * 2 + self._hide_x = self._x + self._radius + self._stroke_width + self._hide_y = self._y + self._show_x = self._x + self._radius + self._stroke_width svg += self._rarc_to(1, -1) svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0) @@ -323,7 +323,6 @@ class SVG: self._show_y = self._y self._show_y -= (self._innie_y1 + self._innie_y2 + self._stroke_width) - self._show_y += self._radius * .75 svg += self.line_to(xx, self._y) svg += self._rline_to(-self._expand_x, 0) @@ -402,9 +401,9 @@ class SVG: yoffset = -2 * self._innie_y2 - self._innie_spacer - self._stroke_width svg += self._rline_to(0, yoffset) - self._hide_x = self._x + self._radius + self._stroke_width * 2 - self._hide_y = self._y + self._radius * .25 - self._show_x = self._x + self._radius + self._stroke_width * 2 + self._hide_x = self._x + self._radius + self._stroke_width + self._hide_y = self._y + self._show_x = self._x + self._radius + self._stroke_width svg += self._rarc_to(1, -1) svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0) @@ -425,7 +424,6 @@ class SVG: self._show_y = self._y self._show_y -= \ (self._innie_y1 + self._innie_y2 + self._stroke_width * 2) - self._show_y += self._radius * .75 svg += self._end_boolean() self.margins[0] = int((self._radius + self._stroke_width) * \ @@ -950,26 +948,19 @@ class SVG: def _corner(self, sign_x, sign_y, a=90, l=0, s=1, start=True, end=True): svg_str = "" - if sign_x == 1 and sign_y == -1: - if self._outie: - self._hide_x = self._x + self._radius + self._stroke_width * 2 - self._show_x = self._x + self._radius + self._stroke_width * 2 - else: - self._hide_x = self._x + self._radius + self._stroke_width - self._show_x = self._x + self._radius + self._stroke_width - self._hide_y = self._y + self._stroke_width + self._radius * .25 - if sign_x == 1 and sign_y == 1: + if sign_x == 1 and sign_y == -1: # Upper-left corner + self._hide_x = self._x + self._radius + self._stroke_width + self._show_x = self._x + self._radius + self._stroke_width + self._hide_y = self._y + self._stroke_width + elif sign_x == 1 and sign_y == 1: # Upper-right corner if len(self._innie) == 1 and self._innie[0]: self._show_x = self._x - self._radius self._show_y = self._hide_y - if sign_x == -1 and sign_y == 1: + elif sign_x == -1 and sign_y == 1: # Lower-right corner if not (len(self._innie) == 1 and self._innie[0]): - if not self._innie[0]: - self._show_y = \ - self._y - self._stroke_width + self._radius * .25 - else: - self._show_y = \ - self._y - self._stroke_width + self._radius * .75 + self._show_y = \ + self._y - self._stroke_width + if self._radius > 0: r2 = self._radius / 2.0 if start: @@ -1015,10 +1006,10 @@ class SVG: else: scale = self._scale * 1.75 scale2 = scale / 2 - x = self._hide_x * scale2 - y = self._hide_y * scale2 + x = self._hide_x * self._scale + y = self._hide_y * self._scale r = self._dot_radius * scale2 - y2 = y - scale + scale2 / 2 + y2 = y - scale2 svg += self._circle(r, x, y) self._fill, self._stroke = HIDE_WHITE, HIDE_WHITE svg += self._rect(10 * scale2, scale, x - 5 * scale2, y2) @@ -1031,15 +1022,16 @@ class SVG: svg = "/n/n" scale = self._scale * 1.75 scale2 = scale / 2 - svg += self._circle(self._dot_radius * scale2, self._show_x * scale2, - self._show_y * scale2) + svg += self._circle(self._dot_radius * scale2, + self._show_x * self._scale, + self._show_y * self._scale) self._fill, self._stroke = SHOW_WHITE, SHOW_WHITE svg += self._rect(10 * scale2, - 2 * scale2, self._show_x * scale2 - 5 * scale2, - self._show_y * scale2 - scale2 + scale2 / 2) + 2 * scale2, self._show_x * self._scale - 5 * scale2, + self._show_y * self._scale - scale2 + scale2 / 2) svg += self._rect(2 * scale2, 10 * scale2, - self._show_x * scale2 - scale2 + scale2 / 2, - self._show_y * scale2 - 5 * scale2) + self._show_x * self._scale - scale2 + scale2 / 2, + self._show_y * self._scale - 5 * scale2) self._fill, self._stroke = _saved_fill, _saved_stroke return svg -- cgit v0.9.1