diff options
Diffstat (limited to 'asciifarm/client/display/field.py')
| -rw-r--r-- | asciifarm/client/display/field.py | 70 |
1 files changed, 0 insertions, 70 deletions
diff --git a/asciifarm/client/display/field.py b/asciifarm/client/display/field.py deleted file mode 100644 index 64c4bfc..0000000 --- a/asciifarm/client/display/field.py +++ /dev/null @@ -1,70 +0,0 @@ - -import curses -from .widimp import WidImp - -class Field(WidImp): - - - 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.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): - """ 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, " "*self.charSize, self.colours.get(7, 0)) - self.pad.addstr(y, x*self.charSize, char, self.colours.get(colour, bgcolour)) - else: - self.pad.addstr(y, x*self.charSize, char) - self.change() - - def setCenter(self, pos): - self.center = pos - self.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): - if self.redraw: - win.erase() - win.noutrefresh() - self.redraw = False - 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) |
