From f72c658220a78ec058ceca25118e3e9a499a6c2b Mon Sep 17 00:00:00 2001 From: troido Date: Wed, 17 Jan 2018 20:26:16 +0100 Subject: updated maps and refactored client: renamed display parts and removed selector --- asciifarm/client/display/fieldpad.py | 72 ------------------------------------ 1 file changed, 72 deletions(-) delete mode 100644 asciifarm/client/display/fieldpad.py (limited to 'asciifarm/client/display/fieldpad.py') diff --git a/asciifarm/client/display/fieldpad.py b/asciifarm/client/display/fieldpad.py deleted file mode 100644 index f64634e..0000000 --- a/asciifarm/client/display/fieldpad.py +++ /dev/null @@ -1,72 +0,0 @@ - -import curses - - -class FieldPad: - - - def __init__(self, size=(1,1), charSize=1, colours=False): - self.pad = curses.newpad(size[1]+1, (size[0]+1)*charSize) - self.size = size - self.charSize = charSize - self.center = (0, 0) - self.colours = colours - self.changed = False - self.widget = None - - def setWidget(self, widget): - self.widget = widget - - def resize(self, width, height): - 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 """ - char, colour, bgcolour = sprites[0] - if bgcolour is None: - for (ch, co, bg) in sprites: - if bg is not None: - bgcolour = bg - break - else: - bgcolour = 0 - if colour is not None and self.colours: - self.pad.addstr(y, x*self.charSize, char, self.colours.get(colour, bgcolour)) - else: - self.pad.addstr(y, x*self.charSize, char) - self.widget.change() - - def setCenter(self, pos): - self.center = pos - self.widget.change() - - def getWidth(self): - return self.size[0]*self.charSize - - def getHeight(self): - return self.size[1] - - def _roundWidth(self, x): - return x // self.charSize * self.charSize - - def update(self): - win = self.widget.getWin() - width, height = win.getSize() - x, y = win.getPos() - xmax = x + width - ymax = y + height - self.pad.noutrefresh( - max(0, min(self.getHeight()-height, self.center[1] - int(height/2))), - max(0, min( - self._roundWidth(self.getWidth()-width), - self._roundWidth(self.center[0]*self.charSize - int(width/2)))), - y, - x + max(0, (width - self.getWidth()) // 2), - ymax, - xmax) -- cgit