No documentation
def __init__(self: Any, x: int, y: int, width: int, height: int, text: str = '', font_size: int = 20, font_name: Optional[str] = None, root_point: Tuple[float, float] = (0, 0), theme: ThemeType = None, max_length: int = 0, element_id: Optional[str] = None) -> Any
def font(self: Any) -> Any
def get_text(self: Any) -> str
def has_focus(self: Any) -> bool
def on_key_down(self: Any, event: pygame.event.Event) -> Any
def on_key_up(self: Any, event: pygame.event.Event) -> Any
def _update_text_surface(self: Any) -> Any
def _get_text_color(self: Any) -> Any
def _get_background_color(self: Any) -> Any
def set_text(self: Any, text: str) -> Any
def update(self: Any, dt: Any, inputState: Any) -> Any
def focus(self: Any) -> Any
def unfocus(self: Any) -> Any
def _get_cursor_position(self: Any, actual_x: int, actual_y: int) -> Tuple[int, int]
def render(self: Any, renderer: Any) -> Any
def _render_text_content(self: Any, renderer: Any, actual_x: int, actual_y: int, theme: Any) -> Any
Multi-line text input area with word wrapping and scrollbars.
Supports text editing, selection, copy/paste, and line numbers.
Attributes:
text (str): The text content.
line_numbers (bool): Whether to show line numbers.
word_wrap (bool): Whether to wrap long lines.
read_only (bool): Whether text is read-only.
tab_size (int): Number of spaces for tab character.
def __init__(self: Any, x: int, y: int, width: int, height: int, text: str = '', font_size: int = 16, font_name: Optional[str] = None, line_numbers: bool = True, word_wrap: bool = True, read_only: bool = False, tab_size: int = 4, root_point: Tuple[float, float] = (0, 0), theme: ThemeType = None, element_id: Optional[str] = None) -> Any
def font(self: Any) -> Any
def get_text(self: Any) -> str
def set_text(self: Any, text: str) -> Any
def _update_dimensions(self: Any) -> Any
def _update_text_buffer(self: Any) -> Any
def _save_to_undo_stack(self: Any) -> Any
def undo(self: Any) -> Any
def redo(self: Any) -> Any
def _get_visible_lines(self: Any) -> List[int]
def _get_cursor_screen_pos(self: Any) -> Tuple[int, int]
def _scroll_to_cursor(self: Any) -> Any
def _insert_text(self: Any, text: str) -> Any
def _delete_selection(self: Any) -> Any
def _get_selection_text(self: Any) -> str
def copy(self: Any) -> Any
def cut(self: Any) -> Any
def paste(self: Any) -> Any
def select_all(self: Any) -> Any
def _move_cursor(self: Any, line_delta: int, column_delta: int, extend_selection: bool = False) -> Any
def update(self: Any, dt: float, inputState: InputState) -> Any
def on_key_down(self: Any, event: pygame.event.Event) -> Any
def on_key_up(self: Any, event: pygame.event.Event) -> Any
def _get_cursor_from_mouse(self: Any, mouse_pos: Tuple[int, int]) -> Tuple[int, int]
def handle_key_event(self: Any, event: Any) -> Any
def render(self: Any, renderer: Renderer) -> Any
def _draw_selection_highlight(self: Any, renderer: Renderer, actual_x: int, actual_y: int, line_num: int, line_y: int) -> Any
def _calculate_text_width(self: Any, text: str) -> int