diff options
Diffstat (limited to 'asciifarm/client/display/inventorypad.py')
| -rw-r--r-- | asciifarm/client/display/inventorypad.py | 39 |
1 files changed, 22 insertions, 17 deletions
diff --git a/asciifarm/client/display/inventorypad.py b/asciifarm/client/display/inventorypad.py index f10b138..8ef3296 100644 --- a/asciifarm/client/display/inventorypad.py +++ b/asciifarm/client/display/inventorypad.py @@ -5,32 +5,37 @@ class InventoryPad: def __init__(self, title, maxItems=20): self.title = title - self.maxItems = maxItems - self.pad = curses.newpad(maxItems+2, 100) + #self.maxItems = maxItems + #self.pad = curses.newpad(maxItems+2, 100) self.setInventory([]) self.changed = False - self.lastView = None + #self.lastView = None def setInventory(self, items): self.items = items - self.pad.erase() - self.pad.addstr(0,0, self.title + ":\n") - for i, item in enumerate(items[:self.maxItems]): - self.pad.addstr(i+1, 2, item) + #self.pad.erase() + #self.pad.addstr(0,0, self.title + ":\n") + #for i, item in enumerate(items[:self.maxItems]): + #self.pad.addstr(i+1, 2, item) self.changed = True def getHeight(self): return self.maxItems+2 - def update(self, screen, x, y, xmax, ymax, force=False): - if not self.changed and (x, y, xmax, ymax) == self.lastView or xmax <= x or ymax <= y and not force: + def update(self, win, force=False): + if not self.changed and not force or not win: return - self.lastView = (x, y, xmax, ymax) + #self.lastView = (x, y, xmax, ymax) self.changed = False - self.pad.noutrefresh( - 0, - 0, - y, - x, - ymax-1, - xmax-1) + height, width = win.getmaxyx() + win.erase() + win.addstr(0,0, self.title + ":\n") + for i, item in enumerate(self.items[:height-1]): + win.addstr(i+1, 2, item) + win.noutrefresh() + #0, + #0, + #y, + #x, + #ymax-1, + #xmax-1) |
