inscreen.h
上传用户:xiaoan1112
上传日期:2013-04-11
资源大小:19621k
文件大小:3k
源码类别:

操作系统开发

开发平台:

Visual C++

  1. /*
  2. CW: Character Oriented Windows
  3. inscreen.h: Installable screen driver CW info
  4. */
  5. #include <indrv.h> /* installable driver */
  6. #include <inscr.h> /* installable driver */
  7. /***BEGIN_PUBLIC***/
  8. extern INST PASCAL instCur;
  9. extern INCH PASCAL inch; /* near buffer for characters */
  10. extern BOOL PASCAL fFontAvailable; /* extra "ffont" drawing available ? */
  11. /* name aliases for the actual characters */
  12. #define chTopSide1 (inch._chTopSide1)
  13. #define chBottomSide1 (inch._chBottomSide1)
  14. #define chLeftSide1 (inch._chLeftSide1)
  15. #define chRightSide1 (inch._chRightSide1)
  16. #define chTopLeftCorner1 (inch._chTopLeftCorner1)
  17. #define chTopRightCorner1 (inch._chTopRightCorner1)
  18. #define chBottomLeftCorner1 (inch._chBottomLeftCorner1)
  19. #define chBottomRightCorner1 (inch._chBottomRightCorner1)
  20. #define chMiddleLeft1 (inch._chMiddleLeft1)
  21. #define chMiddleRight1 (inch._chMiddleRight1)
  22. #define chTopSide2 (inch._chTopSide2)
  23. #define chBottomSide2 (inch._chBottomSide2)
  24. #define chTopLeftCorner2 (inch._chTopLeftCorner2)
  25. #define chTopRightCorner2 (inch._chTopRightCorner2)
  26. #define chBottomLeftCorner2 (inch._chBottomLeftCorner2)
  27. #define chBottomRightCorner2 (inch._chBottomRightCorner2)
  28. #define chUpArrow (inch._chUpArrow)
  29. #define chDownArrow (inch._chDownArrow)
  30. #define chRightArrow (inch._chRightArrow)
  31. #define chLeftArrow (inch._chLeftArrow)
  32. #define chBullet (inch._chBullet)
  33. #define chMiddleDot (inch._chMiddleDot)
  34. #define chScrollbar (inch._chScrollbar)
  35. #define chElevator (inch._chElevator)
  36. #define chShadowInit (inch._chShadowInit)
  37. /* for overlapping windows */
  38. #define chClose (inch._chClose)
  39. #define chZoomIn (inch._chZoomIn)
  40. #define chZoomOut (inch._chZoomOut)
  41. #define chUpDownArrow (inch._chUpDownArrow)
  42. #define chLeftRightArrow (inch._chLeftRightArrow)
  43. /*****************************************************************************/
  44. /* Screen Procedures */
  45. typedef WORD FAR * (FAR PASCAL *LPFN_DRV_ALLOC)(WORD, WORD);
  46. typedef VOID (FAR PASCAL *LPFN_DRV_FREE)(WORD FAR *);
  47. WORD FARPUBLIC ImodeGuessCurrent(void); /*OPTIONAL*/
  48. BOOL FARPUBLIC FQueryInst(INST *, WORD); /*OPTIONAL*/
  49. BOOL FARPUBLIC FAllocInstBuffers(INST *, LPFN_DRV_ALLOC, BOOL); /*OPTIONAL*/
  50. VOID FARPUBLIC FreeInstBuffers(INST *, LPFN_DRV_FREE); /*OPTIONAL*/
  51. BOOL FARPUBLIC FAllocOverlapTable(INST *, LPFN_DRV_ALLOC); /*OPTIONAL*/
  52. VOID FARPUBLIC FreeOverlapTable(LPFN_DRV_FREE); /*OPTIONAL*/
  53. BOOL FARPUBLIC FInitScreen(INST *); /*OPTIONAL*/
  54. VOID FARPUBLIC EndScreen(BOOL); /*OPTIONAL*/
  55. BOOL FARPUBLIC FGetColorPalette(WORD, WORD *, WORD *); /*OPTIONAL*/
  56. VOID FARPUBLIC SetColorPalette(WORD, WORD, WORD *); /*OPTIONAL*/
  57. VOID FARPUBLIC MoveHwCursCsd(AX, AY, WORD); /*OPTIONAL*/
  58. BOOL FARPUBLIC FQueryInft(INFT *, WORD); /*OPTIONAL*/
  59. WORD FARPUBLIC CbSizeVids(void); /*OPTIONAL*/
  60. BOOL FARPUBLIC FSaveVids(VIDS *, INST *); /*OPTIONAL*/
  61. BOOL FARPUBLIC FRestoreVids(VIDS *); /*OPTIONAL*/
  62. VOID FARPUBLIC SaveVidData(VIDS *, WORD FAR *); /*OPTIONAL*/
  63. VOID FARPUBLIC RestoreVidData(VIDS *, WORD FAR *); /*OPTIONAL*/
  64. VOID FARPUBLIC EnableVidsMonitor(BOOL); /*OPTIONAL*/
  65. VOID FARPUBLIC GetCharMap(INFT *, BYTE, BYTE *);
  66. /***END_PUBLIC***/
  67. /*****************************************************************************/
  68. /* COW private info */
  69. extern INSJ insj; /* jump vectors for screen driver */
  70. /*****************************************************************************/