Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/TurtleArt/tasprite_factory.py
diff options
context:
space:
mode:
authorWalter Bender <walter.bender@gmail.com>2012-11-15 23:30:30 (GMT)
committer Walter Bender <walter.bender@gmail.com>2012-11-15 23:30:30 (GMT)
commit1e74d47a4f233dc72e7c9698b1ab3ed66d4d19fc (patch)
tree98cfbb8254efe6bb2dddc410cc3ffddaa26a8ded /TurtleArt/tasprite_factory.py
parent23ac499e6a5b1171ebede0e10aff5c40b0e6166f (diff)
add new block style: boolean-1arg-block-style
Diffstat (limited to 'TurtleArt/tasprite_factory.py')
-rwxr-xr-xTurtleArt/tasprite_factory.py37
1 files changed, 32 insertions, 5 deletions
diff --git a/TurtleArt/tasprite_factory.py b/TurtleArt/tasprite_factory.py
index 4ad377a..3291ccd 100755
--- a/TurtleArt/tasprite_factory.py
+++ b/TurtleArt/tasprite_factory.py
@@ -337,7 +337,11 @@ class SVG:
def boolean_not(self, notnot):
''' Booleans are in a class of their own: not and not not '''
self.reset_min_max()
- if not notnot:
+ if self._innie[0]:
+ svg = self._start_boolean(
+ self._stroke_width / 2.0,
+ self._radius * 1.25 + self._stroke_width / 2.0)
+ elif not notnot:
svg = self._start_boolean(
self._stroke_width / 2.0,
self._radius * 2.0 + self._stroke_width / 2.0)
@@ -345,19 +349,32 @@ class SVG:
svg = self._start_boolean(
self._stroke_width / 2.0,
self._radius + self._stroke_width / 2.0)
+
svg += self._rline_to(0, -self._stroke_width)
- if not notnot:
+
+ if self._innie[0]:
+ svg += self._rline_to(0, -self._radius / 4.0)
+ elif not notnot:
svg += self._rarc_to(1, -1)
svg += self._rline_to(self._radius / 2.0 + self._expand_x, 0)
xx = self._x
- if not notnot:
+
+ if self._innie[0]:
+ svg += self._rline_to(0, self._radius)
+ svg += self._do_innie()
+ svg += self._rline_to(0, self._radius)
+ elif not notnot:
svg += self._rline_to(0, self._radius / 2.0)
svg += self._do_boolean()
svg += self._rline_to(0, self._radius / 2.0)
else:
svg += self._rline_to(0, self._radius * 2)
+
svg += self.line_to(xx, self._y)
- if not notnot:
+ if self._innie[0]:
+ svg += self._rline_to(-self._radius / 2.0 - self._expand_x, 0)
+ svg += self._rline_to(0, -self._radius / 4.0)
+ elif not notnot:
svg += self._rline_to(-self._expand_x, 0)
else:
svg += self._rline_to(-self._radius / 2.0 - self._expand_x, 0)
@@ -1215,6 +1232,16 @@ def generator(datapath):
close_file(f)
svg = SVG()
+ f = open_file(datapath, "boolean-arg.svg")
+ svg.set_scale(2)
+ svg.expand(30, 0, 0, 0)
+ svg.set_innie([True])
+ svg_str = svg.boolean_not(True)
+ f.write(svg_str)
+ close_file(f)
+
+ '''
+ svg = SVG()
f = open_file(datapath, "basic.svg")
svg.set_scale(2)
svg.expand(30, 0, 0, 0)
@@ -1438,7 +1465,7 @@ def generator(datapath):
svg_str = svg.clamp()
f.write(svg_str)
close_file(f)
-
+ '''
def main():
return 0