code: def highlight(self, x, y, w, h, fg=None, bg=None, blend=100):
          
          # Convert to buffer coordinates
          y -= self._start_line
          for i in range(w):
              if x + i >= self.width or x + i < 0:
                  continue
  
              for j in range(h):
                  if y + j >= self._buffer_height or y + j < 0:
                      continue
  
                  old = self._buffer.get(x + i, y + j)
                  new_bg = self._blend(bg, old[3], blend)
                  new_fg = self._blend(fg, old[1], blend)
                  self._buffer.set(x + i, y + j, (old[0], new_fg, old[2], new_bg, old[4]))
docs: Highlight a specified section of the screen.
  
          :param x: The column (x coord) for the start of the highlight.
          :param y: The line (y coord) for the start of the highlight.
          :param w: The width of the highlight (in characters).
          :param h: The height of the highlight (in characters).
          :param fg: The foreground colour of the highlight.
          :param bg: The background colour of the highlight.
          :param blend: How much (as a percentage) to take of the new colour
              when blending.
  
          The colours and attributes are the COLOUR_xxx and A_yyy constants
          defined in the Screen class.  If fg or bg are None that means don't
          change the foreground/background as appropriate.