summaryrefslogtreecommitdiff
path: root/asciifarm/client/display
diff options
context:
space:
mode:
Diffstat (limited to 'asciifarm/client/display')
-rw-r--r--asciifarm/client/display/field.py7
-rw-r--r--asciifarm/client/display/health.py3
-rw-r--r--asciifarm/client/display/info.py3
-rw-r--r--asciifarm/client/display/inventory.py3
-rw-r--r--asciifarm/client/display/messages.py3
-rw-r--r--asciifarm/client/display/textinput.py3
-rw-r--r--asciifarm/client/display/widget.py4
-rw-r--r--asciifarm/client/display/window.py1
8 files changed, 9 insertions, 18 deletions
diff --git a/asciifarm/client/display/field.py b/asciifarm/client/display/field.py
index 2ebb1b0..d18516d 100644
--- a/asciifarm/client/display/field.py
+++ b/asciifarm/client/display/field.py
@@ -21,10 +21,6 @@ class Field:
self.size = (width, height)
self.pad.resize(height+1, width*self.charSize)
self.widget.change()
- win = self.widget.getWin()
- if win:
- win.erase()
- win.noutrefresh()
def changeCell(self, x, y, sprites):
""" sprites must always have at least one element """
@@ -56,8 +52,7 @@ class Field:
def _roundWidth(self, x):
return x // self.charSize * self.charSize
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
x, y = win.getPos()
xmax = x + width
diff --git a/asciifarm/client/display/health.py b/asciifarm/client/display/health.py
index 0450449..3a3595b 100644
--- a/asciifarm/client/display/health.py
+++ b/asciifarm/client/display/health.py
@@ -19,8 +19,7 @@ class Health:
self.maxHealth = maxHealth or 0
self.widget.change()
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
width -= 1
barEnd = round(self.health/self.maxHealth * width) if self.maxHealth > 0 else 0
diff --git a/asciifarm/client/display/info.py b/asciifarm/client/display/info.py
index 378bcea..e049b83 100644
--- a/asciifarm/client/display/info.py
+++ b/asciifarm/client/display/info.py
@@ -18,8 +18,7 @@ class Info:
self.widget.change()
self.lastString = string
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
lines = [line[:width-1] for line in self.lines][:height]
win.erase()
diff --git a/asciifarm/client/display/inventory.py b/asciifarm/client/display/inventory.py
index a583e25..f2ef19d 100644
--- a/asciifarm/client/display/inventory.py
+++ b/asciifarm/client/display/inventory.py
@@ -40,8 +40,7 @@ class Inventory:
def getNumItems(self):
return len(self.items)
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
height -= 1
selected = self.selector
diff --git a/asciifarm/client/display/messages.py b/asciifarm/client/display/messages.py
index 39cc970..356b8e2 100644
--- a/asciifarm/client/display/messages.py
+++ b/asciifarm/client/display/messages.py
@@ -27,8 +27,7 @@ class Messages():
self.widget.update()
self.widget.doUpdate()
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
if height < 1:
return
diff --git a/asciifarm/client/display/textinput.py b/asciifarm/client/display/textinput.py
index fb27a08..3b5def2 100644
--- a/asciifarm/client/display/textinput.py
+++ b/asciifarm/client/display/textinput.py
@@ -16,8 +16,7 @@ class TextInput:
self.cursor = cursor
self.widget.change()
- def update(self):
- win = self.widget.getWin()
+ def update(self, win):
width, height = win.getSize()
win.erase()
win.addLine((0, 0), self.text[:width])
diff --git a/asciifarm/client/display/widget.py b/asciifarm/client/display/widget.py
index 868514a..c5c0dfc 100644
--- a/asciifarm/client/display/widget.py
+++ b/asciifarm/client/display/widget.py
@@ -32,7 +32,7 @@ class Widget:
return self.changed
def update(self):
- if not self.getWin():
+ if not self.getWin() or self.getWin().hidden:
return
- self.impl.update()
+ self.impl.update(self.getWin())
self.changed = False
diff --git a/asciifarm/client/display/window.py b/asciifarm/client/display/window.py
index d5c3945..b6ac782 100644
--- a/asciifarm/client/display/window.py
+++ b/asciifarm/client/display/window.py
@@ -8,6 +8,7 @@ class Window:
self.win = win
self.colours = colours
+ self.hidden = False
def getSize(self):
if not self.win: