curses2andy.pl

来自「AndyChat 是一种用Perl 来编写的多协议的控制台聊天程序。它的目的在于」· PL 代码 · 共 111 行

PL
111
字号
sub gotoxy {  my ($w3, $w1, $w2) = @_;  if (! defined $w2)  {    $w2 = $w1;    $w1 = $w3;    $w3 = $mainwin;  }  move($w3, $w2, $w1);}sub wherex {  my ($_wwin) = @_;  getyx($_wwin || $mainwin, $w1, $w2);  return $w2;}sub wherey {  my ($_wwin) = @_;  getyx($_wwin || $mainwin, $w1, $w2);  return $w1;}sub textcolor {  my ($w2, $w1) = @_;  if (! $w1)  {    $w1 = $w2;    $w2 = $mainwin;  }  init_pair(1, COLOR_BLUE, COLOR_BLACK);  init_pair(2, COLOR_GREEN, COLOR_BLACK);  init_pair(3, COLOR_CYAN, COLOR_BLACK);  init_pair(4, COLOR_RED, COLOR_BLACK);  init_pair(5, COLOR_MAGENTA, COLOR_BLACK);  init_pair(6, COLOR_YELLOW, COLOR_BLACK);  init_pair(7, COLOR_WHITE, COLOR_BLACK);  init_pair(8, COLOR_BLACK, COLOR_BLACK);  if (($w1 eq 0) || ($w1 eq 8))  {    attrset($w2, COLOR_PAIR(8));    if ($w1 eq 8) { attron($w2, A_BOLD); }  }  elsif ($w1 > 7)  {    $w1 = $w1 - 8;    attrset($w2, COLOR_PAIR($w1));    attron($w2, A_BOLD);  }  else  {    attrset($w2, COLOR_PAIR($w1));  }}sub textbackground {  my ($w2, $w1) = @_;  if (! $w1)  {    $w1 = $w2;    $w2 = $mainwin;  }  init_pair(9, COLOR_WHITE, COLOR_BLUE);  if ($w1 eq 4)  {    attrset($w2, COLOR_PAIR(9));    attron(A_BOLD);  }}sub keypressed {#  ReadMode(4);  if (length($kbuff) > 0) { return 1; }  if (($w1 = getch()) eq -1)  {    return;  }  else  {    $kbuff = $w1;    return 1;  }}sub kbuf {#  $w1 = substr($kbuff, 0, 1);#  if (length($kbuff) > 1)#  {#    $kbuff = substr($kbuff, 1);#  }#  else#  {#    $kbuff = "";#  }  $w1 = $kbuff; $kbuff = "";  return $w1;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?