Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
path: root/tablock.py
diff options
context:
space:
mode:
authorWalter Bender <walter@walter-laptop.(none)>2010-02-03 22:36:43 (GMT)
committer Walter Bender <walter@walter-laptop.(none)>2010-02-03 22:36:43 (GMT)
commit6913d97067e79a86045d0e306e15367dd5e48ea8 (patch)
tree587e23a9b076f603bad137e54beb43d32a538e12 /tablock.py
parentebb2f2da5760329d5c15785f4429a009806d25a2 (diff)
dynamic scaling of blocks
Diffstat (limited to 'tablock.py')
-rw-r--r--tablock.py19
1 files changed, 19 insertions, 0 deletions
diff --git a/tablock.py b/tablock.py
index e740c9e..f85e541 100644
--- a/tablock.py
+++ b/tablock.py
@@ -53,6 +53,12 @@ class Blocks:
if block_type is None or block_type == block.type:
print "%d: %s" % (i, block.name)
+ def set_scale(self, scale):
+ for b in self.list:
+ for i in range(len(b._font_size)):
+ b._font_size[i] *= b.scale*scale/self.font_scale_factor
+ self.font_scale_factor = scale
+
#
# sprite utilities
#
@@ -124,11 +130,24 @@ class Block:
def rescale(self, scale):
for i in range(len(self._font_size)):
self._font_size[i] /= self.scale
+ self._dx /= self.scale
+ self._ex /= self.scale
+ self._ey /= self.scale
self.scale = scale
for i in range(len(self._font_size)):
self._font_size[i] *= self.scale
+ self._dx *= self.scale
+ self._ex *= self.scale
+ self._ey *= self.scale
+ for i in range(len(self.spr.labels)):
+ if i == 0:
+ self.spr.set_label_attributes(int(self._font_size[0]+0.5))
+ else:
+ self.spr.set_label_attributes(int(self._font_size[1]+0.5))
+ self.svg.set_scale(self.scale)
self._make_block(self.svg)
self.spr.set_shape(self.shapes[0])
+ self.spr.draw()
# We may want to add "innies"
def add_arg(self):