home *** CD-ROM | disk | FTP | other *** search
/ Photo CD Demo 1 / Demo.bin / gle / gle / curssscr.c < prev    next >
C/C++ Source or Header  |  1992-11-29  |  3KB  |  214 lines

  1. #include <curses.h>
  2. #include "vaxconio.h"
  3. #define false 0
  4. #define true (!false)
  5. delay(int i)
  6. {}
  7. int vx_top=1,vx_bot=24;
  8. textattr()
  9. {}
  10. abort_key()
  11. {
  12.     return false;
  13. }
  14. kbhit()
  15. {
  16.     return false;
  17. }
  18. scr_gets(char *x)
  19. {
  20.     getstr(x);
  21. }
  22. clreol()
  23. {
  24.     clrtoeol();
  25. }
  26. cputs(char *line)
  27. {
  28.     int x;
  29.     int y;
  30.     getyx(stdscr,y,x);
  31.     mvaddstr(y,x,line);
  32. }
  33. delline()
  34. {
  35.     int x;
  36.     int y;
  37.     getyx(stdscr,y,x);
  38.     move(22,1);
  39.     clrtobot();
  40.     move(y,1);
  41.     deleteln();
  42.     move(y,x);
  43. }
  44. gotoxy(int x, int y)
  45. {
  46.     if (y==25) y=24;
  47.     move(y+vx_top-2,x);
  48. }
  49. insline()
  50. {
  51.     int x;
  52.     int y;
  53.     getyx(stdscr,y,x);
  54.     move(y,x);
  55.     insertln();
  56.     move(y,x);
  57.     move(22,1);
  58.     clrtobot();
  59.     move(y,x);
  60.  
  61. }
  62. putch(int char_val)
  63. {
  64.     int x;
  65.     int y;
  66.     getyx(stdscr,y,x);
  67.     mvaddch(y,x,char_val);
  68. }
  69. int scr_refresh()
  70. {
  71.     refresh();
  72. }
  73. int scr_getch()
  74. {
  75.     return getch();
  76. }
  77. scr_init()
  78. {
  79.     initscr();
  80.     scrollok(stdscr,true);
  81. }
  82. scr_end()
  83. {
  84.     endwin();
  85. }
  86. textbackground(int color_num)
  87. {}
  88. textcolor(int colornum)
  89. {}
  90. gettextinfo(struct text_info *r)
  91. {
  92.     int x;
  93.     int y;
  94.     getyx(stdscr,y,x);
  95.     r->curx = x;
  96.     r->cury = y;
  97.     r->wintop = vx_top;
  98. }
  99. screen_save()
  100. {}
  101. screen_restore()
  102. {
  103.     scr_norm();
  104.     clrscr();
  105.     gotoxy(1,1);
  106.     cputs("\n");
  107. }
  108. int wyerr;
  109. w_message(char *s)
  110. {
  111.     wyerr++;
  112.     scr_savexy();
  113.     gotoxy(1,wyerr);
  114.     clreol();
  115.     cputs(s);
  116.     scr_restorexy();
  117. }
  118. window(int left,int top, int right, int bottom)
  119. {
  120.     if (left==1 && top==1 && bottom==25) {
  121.         printf("\x1b[%d;%dr",1,24);
  122.     }
  123.     vx_top = top;
  124.     vx_bot = bottom;
  125.     wyerr = 0;
  126. }
  127. clrscr()
  128. {
  129.     if (vx_top==1 && vx_bot==25) {
  130.         clearok(stdscr,TRUE);
  131.         clear();
  132.         refresh();
  133.         clearok(stdscr,FALSE);
  134.         return;
  135.     }
  136.     clear();
  137. }
  138. scr_dots(int i)
  139. {
  140. }
  141. scr_left(int i)
  142. {
  143.     int y,x;
  144.     if (i<=0) return;
  145.     getyx(stdscr,y,x);
  146.     move(y,x-i);
  147. }
  148. scr_right(int i)
  149. {
  150.     int y,x;
  151.     if (i<=0) return;
  152.     getyx(stdscr,y,x);
  153.     move(y,x+i);
  154. }
  155. int vx_topsave,vx_botsave;
  156. int savex,savey;
  157. scr_savexy()
  158. {
  159.     getyx(stdscr,savey,savex);
  160.     vx_topsave = vx_top;
  161.     vx_botsave = vx_bot;
  162.  
  163. }
  164. scr_restorexy()
  165. {
  166.     move(savey,savex);
  167.     vx_top = vx_topsave;
  168.     vx_bot = vx_botsave;
  169. }
  170.  
  171. scr_norm()  /* yellow on blue */
  172. {
  173.     clrattr(_BOLD | _REVERSE);
  174. }
  175. scr_inv()   /* black on white */
  176. {
  177.     clrattr(_REVERSE);
  178.     setattr(_BOLD);
  179. }
  180. scr_grey()  /* black on grey */
  181. {
  182.     clrattr(_BOLD);
  183.     setattr(_REVERSE);
  184. }
  185. scr_isblackwhite()
  186. {
  187.     return true;
  188. }
  189. scr_menubg()
  190. {
  191.     scr_norm();
  192. }
  193. scr_menuval()
  194. {
  195.     scr_inv();
  196. }
  197. scr_menuhi()
  198. {
  199.     scr_grey();
  200. }
  201.  
  202. #include <descrip.h>
  203. vax_edt(char *s)     /* call the vax EDT editor */
  204. {
  205.     $DESCRIPTOR(sdesc,"");
  206.     sdesc.dsc$a_pointer = s;
  207.     sdesc.dsc$w_length = strlen(s);
  208.     if (strcmp(strupr(getsymbol("GLE_EDITOR")),"TPU")==0) {
  209.         tpu$edit(&sdesc,&sdesc);
  210.     } else {
  211.         edt$edit(&sdesc,&sdesc);
  212.     }
  213. }
  214.