From cc9ed734cf135b6d6d7ef4465f6b7b8aebdacddc Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 10 Sep 2017 14:21:06 +0530 Subject: [PATCH] Get rid of prepare_for_render as it is not needed anymore --- kitty/boss.py | 17 +++++------------ kitty/char_grid.py | 16 +++++++--------- kitty/window.py | 4 ++-- 3 files changed, 14 insertions(+), 23 deletions(-) diff --git a/kitty/boss.py b/kitty/boss.py index 2abc1a7f6..c7cf0a2d0 100644 --- a/kitty/boss.py +++ b/kitty/boss.py @@ -378,20 +378,13 @@ class Boss: with self.sprites: self.sprites.render_dirty_sprites() tab.render() - render_data = { - window: - window.char_grid.prepare_for_render(self.cell_program) - for window in tab.visible_windows() - if not window.needs_layout} with self.cell_program: self.tab_manager.render(self.cell_program, self.sprites) - for window, rd in render_data.items(): - if rd is not None: - window.render_cells( - rd, self.cell_program, self.sprites) + for window in tab.visible_windows(): + if not window.needs_layout: + window.render_cells(self.cell_program, self.sprites) active = self.active_window - rd = render_data.get(active) - if rd is not None: + if active is not None: draw_cursor = True if self.cursor_blinking and self.opts.cursor_blink_interval > 0 and self.window_is_focused: now = monotonic() - self.cursor_blink_zero_time @@ -404,7 +397,7 @@ class Boss: if draw_cursor: with self.cursor_program: active.char_grid.render_cursor( - rd, self.cursor_program, + self.cursor_program, self.window_is_focused) def gui_close_window(self, window): diff --git a/kitty/char_grid.py b/kitty/char_grid.py index 172e67073..9cf542f5a 100644 --- a/kitty/char_grid.py +++ b/kitty/char_grid.py @@ -96,7 +96,6 @@ class CharGrid: def __init__(self, screen, opts): self.vao_id = None self.screen_reversed = False - self.render_data = None self.data_buffer_size = None self.screen = screen self.opts = opts @@ -147,7 +146,6 @@ class CharGrid: with cell_program.mapped_vertex_data(self.vao_id, self.data_buffer_size) as address: cursor_changed, self.screen_reversed = self.screen.update_cell_data( address, False) - self.render_data = self.screen_geometry if cursor_changed: c = self.screen.cursor self.current_cursor = Cursor(c.x, c.y, c.shape, c.blink) @@ -232,21 +230,20 @@ class CharGrid: def text_for_selection(self): return ''.join(self.screen.text_for_selection()) - def prepare_for_render(self, cell_program): + def render_cells(self, cell_program, sprites, invert_colors=False): if self.vao_id is None: self.vao_id = cell_program.create_sprite_map() if self.screen.scroll_changed or self.screen.is_dirty: self.update_cell_data(cell_program) - sg = self.render_data if self.screen.is_selection_dirty(): with cell_program.mapped_vertex_data(self.vao_id, self.selection_buffer_size, bufnum=1) as address: self.screen.apply_selection(address, self.selection_buffer_size) - return sg + render_cells( + self.vao_id, self.screen_geometry, cell_program, sprites, + self.screen.color_profile, invert_colors=invert_colors, + screen_reversed=self.screen_reversed) - def render_cells(self, sg, cell_program, sprites, invert_colors=False): - render_cells(self.vao_id, sg, cell_program, sprites, self.screen.color_profile, invert_colors=invert_colors, screen_reversed=self.screen_reversed) - - def render_cursor(self, sg, cursor_program, is_focused): + def render_cursor(self, cursor_program, is_focused): cursor = self.current_cursor if not self.screen.cursor_visible or self.screen.scrolled_by: return @@ -257,6 +254,7 @@ class CharGrid: factor = 2 / (viewport_size.width if vert else viewport_size.height) return w * factor + sg = self.screen_geometry ul = cursor_program.uniform_location left = sg.xstart + cursor.x * sg.dx top = sg.ystart - cursor.y * sg.dy diff --git a/kitty/window.py b/kitty/window.py index 700ea42a6..41bf494cb 100644 --- a/kitty/window.py +++ b/kitty/window.py @@ -283,13 +283,13 @@ class Window: def buf_toggled(self, is_main_linebuf): self.screen.scroll(SCROLL_FULL, False) - def render_cells(self, render_data, program, sprites): + def render_cells(self, program, sprites): invert_colors = False if self.start_visual_bell_at is not None: invert_colors = monotonic() - self.start_visual_bell_at <= self.opts.visual_bell_duration if not invert_colors: self.start_visual_bell_at = None - self.char_grid.render_cells(render_data, program, sprites, invert_colors) + self.char_grid.render_cells(program, sprites, invert_colors) # actions {{{