package types

import (
	"p78git.ddns.net/svi/libtui/alias"
)

// IScreen -- экран приложения
type IScreen interface {
	// Size -- возвращает размер экрана
	Size() (alias.SizeX, alias.SizeY)
	// Resize -- изменить размеры экрана
	Resize(alias.SizeX, alias.SizeY)
	// WinDebug -- возвращает объект окна отладки экрана
	WinDebug() IWinDebug
	// SetMousePos -- устанавливает позицию мыши экрана
	SetMousePos(alias.PosX, alias.PosY)
	// MousePos -- возвращаетпозицию мыши
	MousePos() (alias.PosX, alias.PosY)
	// App -- возвращает объект приложения
	App() IApp
	// SetCell -- отрисовывает знакоместо на экране
	SetCell(ICell)
	// Draw -- отрисовывает себя по  требованию
	Draw()
	// Clear -- очистка экрана
	Clear()
	// GetCell -- возвращает ячейку по указанным координатам
	GetCell(alias.PosX, alias.PosY) ICell
}
