From 5e6ffab74b56c35ecfbf00a69c708bcf1c329954 Mon Sep 17 00:00:00 2001 From: troido Date: Sun, 20 Jan 2019 18:45:43 +0100 Subject: when going to a smaller area, the bachground is now cleared --- asciifarm/client/display/display.py | 1 + asciifarm/client/display/field.py | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/asciifarm/client/display/display.py b/asciifarm/client/display/display.py index 92136b1..edc3f95 100644 --- a/asciifarm/client/display/display.py +++ b/asciifarm/client/display/display.py @@ -87,6 +87,7 @@ class Display: def resizeField(self, size): self.getWidget("field").resize(*size) + self.forced = True def drawFieldCells(self, cells): field = self.getWidget("field") diff --git a/asciifarm/client/display/field.py b/asciifarm/client/display/field.py index 712169e..64c4bfc 100644 --- a/asciifarm/client/display/field.py +++ b/asciifarm/client/display/field.py @@ -12,10 +12,12 @@ class Field(WidImp): self.center = (0, 0) self.colours = colours self.changed = False + self.redraw = False def resize(self, width, height): self.size = (width, height) self.pad.resize(height+1, width*self.charSize) + self.redraw = True self.change() def changeCell(self, x, y, sprites): @@ -49,6 +51,10 @@ class Field(WidImp): return x // self.charSize * self.charSize def update(self, win): + if self.redraw: + win.erase() + win.noutrefresh() + self.redraw = False width, height = win.getSize() x, y = win.getPos() xmax = x + width -- cgit