Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2010-02-07 20:17:14 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2010-02-07 20:17:14 (GMT)
commitd033f704b8eef619f3f62b12264e6158a95edc1f (patch)
treeddbc2c403a31100296ec87a9fa6658e5c1931106
parent7f89371dee627acaf6e60953551a1e596cabe6a6 (diff)
growing/shrinking margins now working reliably
-rw-r--r--tablock.py6
-rwxr-xr-xtasprite_factory.py40
2 files changed, 29 insertions, 17 deletions
diff --git a/tablock.py b/tablock.py
index 0f8ca8c..8d6ec68 100644
--- a/tablock.py
+++ b/tablock.py
@@ -255,14 +255,10 @@ class Block:
self._right = self.svg.margins[2]
if self._bottom == 0:
self._bottom = self.svg.margins[3]
- print "margins for block %s: %d,%d %d,%d" % (self.name, self._left,
- self._top, self._right, self._bottom)
- # self.spr.set_margins(self._left, self.svg.get_slot_depth()*2,
- # self._right,self.svg.get_slot_depth()*3)
self.spr.set_margins(self._left, self._top, self._right, self._bottom)
def _set_label_attributes(self):
- if self.name in CONTENT_BLOCKS and len(self.values) > 0:
+ if self.name in CONTENT_BLOCKS:
n = len(self.values)
else:
n = len(BLOCK_NAMES[self.name])
diff --git a/tasprite_factory.py b/tasprite_factory.py
index 55c338f..c471b50 100755
--- a/tasprite_factory.py
+++ b/tasprite_factory.py
@@ -118,13 +118,10 @@ class SVG:
svg += self._hide_dot(x,self._height-12-self._innie_y2-self._slot_y)
svg += self._footer()
- print "margins: ", self.margins
return self._header() + svg
def basic_flow(self):
(x, y) = self._calculate_x_y()
- self.margins[0] = int(x+2*self._stroke_width+0.5)
- self.margins[1] = int(y+self._stroke_width+0.5+self._slot_y)
self.margins[2] = 0
self.margins[3] = 0
svg = self._new_path(x, y)
@@ -137,6 +134,9 @@ class SVG:
if self._innie[i] is True:
svg += self._do_innie()
svg += self._rline_to(0, 2*self._innie_y2+self._innie_spacer)
+ else:
+ self.margins[2] =\
+ int((self._x-self._stroke_width+0.5)*self._scale)
if self._bool is True:
svg += self._rline_to(0,self._radius/2.0)
svg += self._do_boolean()
@@ -217,8 +217,8 @@ class SVG:
def basic_box(self):
self.set_outie(True)
x = self._stroke_width/2.0+self._innie_x1+self._innie_x2
- self.margins[0] = int(x+2*self._stroke_width+0.5)
- self.margins[1] = int(self._stroke_width+0.5+self._slot_y)
+ self.margins[0] = int((x+self._stroke_width+0.5)*self._scale)
+ self.margins[1] = int((self._stroke_width+0.5)*self._scale)
self.margins[2] = 0
self.margins[3] = 0
svg = self._new_path(x, self._stroke_width/2.0)
@@ -252,6 +252,10 @@ class SVG:
svg += self._line_to(xx, self._y)
svg += self._rline_to(-self._expand_x, 0)
svg += self._end_boolean()
+ self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale)
+ self.margins[1] = int(self._stroke_width*self._scale)
+ self.margins[2] = int(self._stroke_width*self._scale)
+ self.margins[3] = int(self._stroke_width*self._scale)
return self._header() + svg
def boolean_not(self):
@@ -267,6 +271,10 @@ class SVG:
svg += self._line_to(xx, self._y)
svg += self._rline_to(-self._expand_x, 0)
svg += self._end_boolean()
+ self.margins[0] = int((self._radius+self._stroke_width+0.5)*self._scale)
+ self.margins[1] = int(self._stroke_width*self._scale)
+ self.margins[2] = int((self._radius+self._stroke_width+0.5)*self._scale)
+ self.margins[3] = int(self._stroke_width*self._scale)
return self._header() + svg
def boolean_compare(self):
@@ -293,6 +301,10 @@ class SVG:
svg += self._line_to(xx, self._y)
svg += self._rline_to(-self._expand_x, 0)
svg += self._end_boolean()
+ self.margins[0] = int((self._radius+self._stroke_width)*self._scale)
+ self.margins[1] = int(self._stroke_width*self._scale)
+ self.margins[2] = int(self._stroke_width*self._scale)
+ self.margins[3] = int(self._stroke_width*self._scale)
return self._header() + svg
def turtle(self, colors):
@@ -667,14 +679,11 @@ class SVG:
self.docks.append((int((self._x+self._stroke_width)*self._scale),
int((self._y+self._innie_y2)*self._scale)))
if self.margins[2] == 0:
- self.margins[1] = int(self._y*self._scale)
+ self.margins[1] = int((self._y-self._innie_y1)*self._scale)
self.margins[2] = int((self._x-self._innie_x1-self._innie_x2-\
self._stroke_width*2)*self._scale)
- print "resetting top and right to: %d, %d" % (self.margins[1],
- self.margins[2])
- self.margins[3] = int((self._y+self._innie_y2)*self._scale)
- print "setting bottom to %d" % int((self._y+self._innie_y2)*self._scale)
- # print "x: %d (%d, %d)" % (self._x, self._innie_x1, self._innie_x2)
+ self.margins[3] =\
+ int((self._y+self._innie_y2+self._innie_y1)*self._scale)
return "%s%s%s%s%s%s%s" % (
self._rline_to(-self._innie_x1, 0),
self._rline_to(0, -self._innie_y1),
@@ -730,6 +739,8 @@ class SVG:
self.docks.append(
(int((self._x-self._radius+self._stroke_width)*self._scale),
int((self._y+self._radius)*self._scale)))
+ self.margins[2] =\
+ int((self._x-self._radius-self._stroke_width)*self._scale)
return self._rarc_to(-1, 1, 90, 0, 0) + self._rarc_to(1, 1, 90, 0, 0)
def _end_boolean(self):
@@ -754,7 +765,12 @@ class SVG:
self._height = (self._max_y-self._min_y+self._stroke_width)*\
self._scale
if self.margins[3] == 0:
- self.margins[3] = int((self._stroke_width+0.5)*self._scale)
+ if self._tab:
+ self.margins[3] =\
+ int((self._slot_y+self._stroke_width+0.5)*self._scale)
+ else:
+ self.margins[3] =\
+ int((self._slot_y*2+self._stroke_width+0.5)*self._scale)
else:
self.margins[3] = int(self._height - self.margins[3])