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)
	// SetCell -- отрисовывает знакоместо на экране
	SetCell(ICell)
	// Draw -- отрисовывает себя по  требованию
	Draw()
	// Clear -- очистка экрана
	Clear()
	// GetCell -- возвращает ячейку по указанным координатам
	GetCell(alias.PosX, alias.PosY) ICell
	// Run -- запускает экран в работу
	Run() error
}
