24.2.5. Скелет программы управления экраном

We use cookies. Read the Privacy and Cookie Policy

24.2.5. Скелет программы управления экраном

Ниже приведен пример программы, которая сначала инициализирует возможности библиотеки S-Lang для управления экраном, а затем закрывает их. Хотя эта программа выполняет лишь некоторые действия, она иллюстрирует основы использования функциональных возможностей SLsmg библиотеки S-Lang.

 1: /* slinit.с */

 2:

 3: #include <slang/slang.h>

 4: #include <stdio.h>

 5: #include <sys/ioctl.h>

 6: #include <termios.h>

 7:

 8: int main(void) {

 9:  struct winsize ws;

10:

11:  /* получение размеров терминала, подключенного к stdout */

12:  if (ioctl(1, TIOCGWINSZ, &ws)) {

13:   perror("сбой при получении размеров окна");

14:   return 1;

15:  }

16:

17:  SLtt_get_terminfo();

18:

19:  SLtt_Screen_Rows = ws.ws_row;

20:  SLtt_Screen_Cols = ws.ws_col;

21:

22:  SLsmg_init_smg();

23:

24:  /* здесь находится ядро программы */

25:

26:  SLsmg_gotorc(SLtt_Screen_Rows - 1, 0);

27:  SLsmg_refresh();

28:  SLsmg_reset_smg();

29:  SLang_reset_tty();

30:

31:  return 0;

32: }