diff options
author | Thomas Jourdan <b.vehikel@googlemail.com> | 2010-01-25 17:14:52 (GMT) |
---|---|---|
committer | Thomas Jourdan <b.vehikel@googlemail.com> | 2010-01-25 17:14:52 (GMT) |
commit | 5997b56f004cea4d7ee344f47e6ba2f41e10f119 (patch) | |
tree | 6989069656cb4d3875a48743a4240245c4d7a6e0 /ep_modifier_rectangulartile.py | |
parent | 23467385171f296ab2f3e2f040ff6ae9a8438733 (diff) |
Cancel obsolete rendering task during start up. This may reduce time when starting from journal.
Diffstat (limited to 'ep_modifier_rectangulartile.py')
-rw-r--r-- | ep_modifier_rectangulartile.py | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/ep_modifier_rectangulartile.py b/ep_modifier_rectangulartile.py index 59a4fcc..9cdaa90 100644 --- a/ep_modifier_rectangulartile.py +++ b/ep_modifier_rectangulartile.py @@ -74,7 +74,7 @@ class RectangularTileModifier(model_allele.Allele): new_one.y_tiles = self.y_tiles if cross_sequence[1] else other.y_tiles return new_one - def render_single_layer(self, single_layer, single_treenode, ctx, width, height): + def render_single_layer(self, task, single_layer, single_treenode, ctx, width, height): """ pre: single_layer is not None pre: ctx is not None @@ -86,13 +86,15 @@ class RectangularTileModifier(model_allele.Allele): delta_x, delta_y = 1.0 / self.x_tiles, 1.0 / self.y_tiles for tix in range(self.x_tiles): for tiy in range(self.y_tiles): + if task.quit: + return ctx.save() ctx.translate((tix-0.5*self.x_tiles)*delta_x+0.5*delta_x, \ (tiy-0.5*self.y_tiles)*delta_y+0.5*delta_y) ctx.scale(delta_x, delta_y) ctx.save() - single_layer.render(ctx, width, height) - single_treenode.render(ctx, width, height) + single_layer.render(task, ctx, width, height) + single_treenode.render(task, ctx, width, height) ctx.restore() ctx.restore() |