docs: def blit(
          self,
          dest: "Console",
          dest_x: int = 0,
          dest_y: int = 0,
          src_x: int = 0,
          src_y: int = 0,
          width: int = 0,
          height: int = 0,
          fg_alpha: float = 1.0,
          bg_alpha: float = 1.0,
          key_color: Optional[Tuple[int, int, int]] = None,
      ) -> None:
          """Blit from this console onto the ``dest`` console.
  
          Args:
              dest (Console): The destintaion console to blit onto.
              dest_x (int): Leftmost coordinate of the destintaion console.
              dest_y (int): Topmost coordinate of the destintaion console.
              src_x (int): X coordinate from this console to blit, from the left.
              src_y (int): Y coordinate from this console to blit, from the top.
              width (int): The width of the region to blit.
  
                  If this is 0 the maximum possible width will be used.
              height (int): The height of the region to blit.
  
                  If this is 0 the maximum possible height will be used.
              fg_alpha (float): Foreground color alpha vaule.
              bg_alpha (float): Background color alpha vaule.
              key_color (Optional[Tuple[int, int, int]]):
                  None, or a (red, green, blue) tuple with values of 0-255.
  
          .. versionchanged:: 4.0
              Parameters were rearraged and made optional.
  
              Previously they were:
              `(x, y, width, height, dest, dest_x, dest_y, *)`
          """
          # The old syntax is easy to detect and correct.
          if hasattr(src_y, "console_c"):
              (
                  src_x,  # type: ignore
                  src_y,
                  width,
                  height,
                  dest,  # type: ignore
                  dest_x,
                  dest_y,
              ) = (dest, dest_x, dest_y, src_x, src_y, width, height)
              warnings.warn(
                  "Parameter names have been moved around, see documentation.",
                  DeprecationWarning,
                  stacklevel=2,
              )
  
          key_color = key_color or self._key_color
          if key_color:
              key_color = ffi.new("TCOD_color_t*", key_color)
              lib.TCOD_console_blit_key_color(
                  self.console_c,
                  src_x,
                  src_y,
                  width,
                  height,
                  dest.console_c,
                  dest_x,
                  dest_y,
                  fg_alpha,
                  bg_alpha,
                  key_color,
              )
          else:
              lib.TCOD_console_blit(
                  self.console_c,
                  src_x,
                  src_y,
                  width,
                  height,
                  dest.console_c,
                  dest_x,
                  dest_y,
                  fg_alpha,
                  bg_alpha,
              )