def test_box_drawing(self): prerendered = len(self.sprites) s = self.create_screen(cols=len(box_chars) + 1, lines=1, scrollback=0) s.draw(''.join(box_chars)) line = s.line(0) test_render_line(line) self.assertEqual(len(self.sprites) - prerendered, len(box_chars))
def render_string(text: str, family: str = 'monospace', size: float = 11.0, dpi: float = 96.0) -> Tuple[int, int, List[bytes]]: with setup_for_testing(family, size, dpi) as (sprites, cell_width, cell_height): s = Screen(None, 1, len(text)*2) line = s.line(0) s.draw(text) test_render_line(line) cells = [] found_content = False for i in reversed(range(s.columns)): sp = list(line.sprite_at(i)) sp[2] &= 0xfff tsp = sp[0], sp[1], sp[2] if tsp == (0, 0, 0) and not found_content: continue found_content = True cells.append(sprites[tsp]) return cell_width, cell_height, list(reversed(cells))
def render_string(text, family='monospace', size=11.0, dpi=96.0): with setup_for_testing(family, size, dpi) as (sprites, cell_width, cell_height): s = Screen(None, 1, len(text) * 2) line = s.line(0) s.draw(text) test_render_line(line) cells = [] found_content = False for i in reversed(range(s.columns)): sp = list(line.sprite_at(i)) sp[2] &= 0xfff sp = tuple(sp) if sp == (0, 0, 0) and not found_content: continue found_content = True cells.append(sprites[sp]) return cell_width, cell_height, list(reversed(cells))