merged AI doc, some new pages

This commit is contained in:
2026-03-12 14:46:57 +03:00
parent 07ae277f9e
commit ed13838237
206 changed files with 14088 additions and 5152 deletions

View File

@@ -1,9 +1,8 @@
/*! \file piterminal.h
* \ingroup Console
* \~\brief
* \~english Virtual terminal
* \~russian Виртуальный терминал
*/
//! \~\file piterminal.h
//! \~\ingroup Console
//! \brief
//! \~english Virtual terminal
//! \~russian Виртуальный терминал
/*
PIP - Platform Independent Primitives
Virtual terminal
@@ -31,26 +30,65 @@
#include "piscreentypes.h"
//! \~\ingroup Console
//! \~\brief
//! \~english Virtual terminal that runs a shell and mirrors its screen into a cell buffer.
//! \~russian Виртуальный терминал, который запускает оболочку и отражает ее экран в буфер ячеек.
//! \details
//! \~english Provides terminal emulation for reading console input and output. Supports ANSI escape sequences for cursor movement, colors,
//! and text formatting.
//! \~russian Обеспечивает эмуляцию терминала для чтения ввода и вывода консоли. Поддерживает ANSI escape-последовательности для перемещения
//! курсора, цветов и форматирования текста.
class PIP_CONSOLE_EXPORT PITerminal: public PIThread {
PIOBJECT_SUBCLASS(PITerminal, PIThread);
public:
//! Constructs %PITerminal
//! \~english Constructs %PITerminal.
//! \~russian Создает %PITerminal.
PITerminal();
//! \~english Destroys the terminal and releases backend resources.
//! \~russian Уничтожает терминал и освобождает внутренние ресурсы.
~PITerminal();
//! \~english Returns terminal width in columns.
//! \~russian Возвращает ширину терминала в столбцах.
int columns() const { return size_x; }
//! \~english Returns terminal height in rows.
//! \~russian Возвращает высоту терминала в строках.
int rows() const { return size_y; }
//! \~english Resizes the terminal viewport and backing cell buffer.
//! \~russian Изменяет размер области терминала и связанного буфера ячеек.
bool resize(int cols, int rows);
//! \~english Sends raw byte data to the terminal input.
//! \~russian Отправляет необработанные байты во входной поток терминала.
void write(const PIByteArray & d);
//! \~english Sends a special key with modifiers to the terminal.
//! \~russian Отправляет в терминал специальную клавишу с модификаторами.
void write(PIKbdListener::SpecialKey k, PIKbdListener::KeyModifiers m);
//! \~english Sends a keyboard event to the terminal.
//! \~russian Отправляет событие клавиатуры в терминал.
void write(PIKbdListener::KeyEvent ke);
//! \~english Returns the current terminal screen snapshot, including cursor blink state.
//! \~russian Возвращает текущий снимок экрана терминала с учетом состояния мигания курсора.
PIVector<PIVector<PIScreenTypes::Cell>> content();
//! \~english Returns whether key code `k` is handled as a special terminal key.
//! \~russian Возвращает, обрабатывается ли код `k` как специальная клавиша терминала.
static bool isSpecialKey(int k);
//! \~english Initializes the terminal backend and starts the polling thread.
//! \~russian Инициализирует внутренний терминал и запускает поток опроса.
bool initialize();
//! \~english Stops the terminal and destroys the internal terminal backend instance.
//! \~russian Останавливает терминал и уничтожает внутреннюю реализацию терминала.
void destroy();
private: