def render(self, size, focus=False): """ Render GraphVScale. """ (maxcol, maxrow) = size pl = scale_bar_values(self.pos, self.top, maxrow) combinelist = [] rows = 0 for p, t in zip(pl, self.txt): p -= 1 if p >= maxrow: break if p < rows: continue c = t.render((maxcol, )) if p > rows: run = p - rows c = CompositeCanvas(c) c.pad_trim_top_bottom(run, 0) rows += c.rows() combinelist.append((c, None, False)) if not combinelist: return SolidCanvas(" ", size[0], size[1]) c = CanvasCombine(combinelist) if maxrow - rows: c.pad_trim_top_bottom(0, maxrow - rows) return c
def render(self, size, focus=False): """ Render GraphVScale. """ (maxcol, maxrow) = size pl = scale_bar_values(self.pos, self.top, maxrow) combinelist = [] rows = 0 for p, t in zip(pl, self.txt): p -= 1 if p >= maxrow: break if p < rows: continue c = t.render((maxcol,)) if p > rows: run = p - rows c = CompositeCanvas(c) c.pad_trim_top_bottom(run, 0) rows += c.rows() combinelist.append((c, None, False)) if not combinelist: return SolidCanvas(" ", size[0], size[1]) c = CanvasCombine(combinelist) if maxrow - rows: c.pad_trim_top_bottom(0, maxrow - rows) return c
def render(self, size, focus=False): """Render top_w overlayed on bottom_w.""" left, right, top, bottom = self.calculate_padding_filler(size, focus) bottom_c = self.bottom_w.render(size) top_c = self.top_w.render(self.top_w_size(size, left, right, top, bottom), focus) top_c = CompositeCanvas(top_c) if left < 0 or right < 0: top_c.pad_trim_left_right(min(0, left), min(0, right)) if top < 0 or bottom < 0: top_c.pad_trim_top_bottom(min(0, top), min(0, bottom)) return CanvasOverlay(top_c, bottom_c, left, top)
def render(self, size, focus=False): """Render top_w overlayed on bottom_w.""" left, right, top, bottom = self.calculate_padding_filler(size, focus) bottom_c = self.bottom_w.render(size) top_c = self.top_w.render( self.top_w_size(size, left, right, top, bottom), focus) top_c = CompositeCanvas(top_c) if left < 0 or right < 0: top_c.pad_trim_left_right(min(0, left), min(0, right)) if top < 0 or bottom < 0: top_c.pad_trim_top_bottom(min(0, top), min(0, bottom)) return CanvasOverlay(top_c, bottom_c, left, top)
def render(self, size, focus=False): """Render self.original_widget with space above and/or below.""" (maxcol, maxrow) = size top, bottom = self.filler_values(size, focus) if self.height_type is None: canv = self._original_widget.render((maxcol,), focus) else: canv = self._original_widget.render((maxcol,maxrow-top-bottom),focus) canv = CompositeCanvas(canv) if maxrow and canv.rows() > maxrow and canv.cursor is not None: cx, cy = canv.cursor if cy >= maxrow: canv.trim(cy-maxrow+1,maxrow-top-bottom) if canv.rows() > maxrow: canv.trim(0, maxrow) return canv canv.pad_trim_top_bottom(top, bottom) return canv
def render(self, size, focus=False): """Render self.original_widget with space above and/or below.""" (maxcol, maxrow) = size top, bottom = self.filler_values(size, focus) if self.height_type == PACK: canv = self._original_widget.render((maxcol,), focus) else: canv = self._original_widget.render((maxcol,maxrow-top-bottom),focus) canv = CompositeCanvas(canv) if maxrow and canv.rows() > maxrow and canv.cursor is not None: cx, cy = canv.cursor if cy >= maxrow: canv.trim(cy-maxrow+1,maxrow-top-bottom) if canv.rows() > maxrow: canv.trim(0, maxrow) return canv canv.pad_trim_top_bottom(top, bottom) return canv