doswin.h
上传用户:gzelex
上传日期:2007-01-07
资源大小:707k
文件大小:2k
开发平台:

MultiPlatform

  1. /*******************************************************************************
  2. +
  3. +  LEDA-R  3.2.3
  4. +
  5. +  doswin.h
  6. +
  7. +  Copyright (c) 1995  by  Max-Planck-Institut fuer Informatik
  8. +  Im Stadtwald, 66123 Saarbruecken, Germany     
  9. +  All rights reserved.
  10. *******************************************************************************/
  11. #ifndef LEDA_DOSWIN_H
  12. #define LEDA_DOSWIN_H
  13. #include <LEDA/impl/x_basic.h>
  14. #include <stdlib.h>
  15. #include <string.h>
  16. #include <math.h>
  17. #if defined(__TURBOC__)
  18. extern "C" unsigned char inportb(int port_id);
  19. extern "C" void outportb(int portid, unsigned char value);
  20. #define _PORT_DEFS
  21. #endif
  22. #include <dos.h>
  23. #include <conio.h>
  24. #if defined(__EMX__)
  25. union  REGISTERS { struct  _wordregs x; struct  _byteregs h; };
  26. #else
  27. union  REGISTERS { struct  WORDREGS x; struct  BYTEREGS h; };
  28. #endif
  29. #if defined(__WATCOMC__)
  30. inline void int_86(int i, REGISTERS* p, REGISTERS* q)
  31. { int386(i,(REGS*)p, (REGS*)q); }
  32. #else
  33. #if defined(__EMX__)
  34. inline void int_86(int i, REGISTERS* p, REGISTERS* q)
  35. { _int86(i,(REGS*)p, (REGS*)q); }
  36. #else
  37. inline void int_86(int i, REGISTERS* p, REGISTERS* q)
  38. { int86(i,(REGS*)p, (REGS*)q); }
  39. #endif
  40. #endif
  41. struct dos_window
  42. {
  43.   char* image_buf;
  44.   int   width;
  45.   int   height;
  46.   int   xpos;
  47.   int   ypos;
  48.   int   x0;
  49.   int   y0;
  50.   int   x1;
  51.   int   y1;
  52.   int   bg_col;
  53.   int   label_col;
  54.   char  header[128];
  55.   char  label[128];
  56.   char  iconized;
  57.   int   save_xpos;
  58.   int   save_ypos;
  59.   int   save_x0;
  60.   int   save_y0;
  61.   int   save_x1;
  62.   int   save_y1;
  63.   int   save_bg_col;
  64.   int   id;
  65.   void  (*redraw)();
  66. };
  67. typedef dos_window* DosWindow;
  68. extern DosWindow  win_stack[16];
  69. extern int win_top;
  70. void init_graphics(int mode, int root_col);
  71. void draw_pointer(int x,int y,int shape);
  72. extern int DISP_WIDTH;
  73. extern int DISP_HEIGHT;
  74. extern int DISP_MAX_X;
  75. extern int DISP_MAX_Y;
  76. #endif