class_docstr: Typical usage:
  
  ::
  
      output = Vt100_Output.from_pty(sys.stdout)
      r = Renderer(style, output)
      r.render(app, layout=...)
class_docstr_tok: ["Typical","usage",":",":",":","output","=","Vt100_Output.from_pty","(","sys.stdout",")","r","=","Renderer","(","style",",","output",")","r.render","(","app",",","layout=","...",")"]
code: def __init__(
      self,
      style: BaseStyle,
      output: Output,
      full_screen: bool = False,
      mouse_support: FilterOrBool = False,
      cpr_not_supported_callback: Callable[[], None] | None = None,
  ) -> None:
      self.style = style
      self.output = output
      self.full_screen = full_screen
      self.mouse_support = to_filter(mouse_support)
      self.cpr_not_supported_callback = cpr_not_supported_callback
  
      self._in_alternate_screen = False
      self._mouse_support_enabled = False
      self._bracketed_paste_enabled = False
      self._cursor_key_mode_reset = False
  
      # Future set when we are waiting for a CPR flag.
      self._waiting_for_cpr_futures: deque[Future[None]] = deque()
      self.cpr_support = CPR_Support.UNKNOWN
  
      if not output.responds_to_cpr:
          self.cpr_support = CPR_Support.NOT_SUPPORTED
  
      # Cache for the style.
      self._attrs_for_style: _StyleStringToAttrsCache | None = None
      self._style_string_has_style: _StyleStringHasStyleCache | None = (
          None
      )
      self._last_style_hash: Hashable | None = None
      self._last_transformation_hash: Hashable | None = None
      self._last_color_depth: ColorDepth | None = None
  
      self.reset(_scroll=True)
  
imports: from __future__ import annotations
  from asyncio import FIRST_COMPLETED, Future, ensure_future, sleep, wait
  from collections import deque
  from enum import Enum
  from typing import TYPE_CHECKING, Any, Callable, Dict, Hashable
  from prompt_toolkit.application.current import get_app
  from prompt_toolkit.cursor_shapes import CursorShape
  from prompt_toolkit.data_structures import Point, Size
  from prompt_toolkit.filters import FilterOrBool, to_filter
  from prompt_toolkit.formatted_text import AnyFormattedText, to_formatted_text
  from prompt_toolkit.layout.mouse_handlers import MouseHandlers
  from prompt_toolkit.layout.screen import Char, Screen, WritePosition
  from prompt_toolkit.output import ColorDepth, Output
  from prompt_toolkit.styles import Attrs, BaseStyle, DummyStyleTransformation, StyleTransformation
label_desc: Use image node_id 1 to create a new Renderer object  with example: obj = Renderer(style, output, full_screen, mouse_support, cpr_not_supported_callback)