YYXSYS.H
上传用户:wtrl82617
上传日期:2007-01-07
资源大小:187k
文件大小:3k
源码类别:

界面编程

开发平台:

DOS

  1. #ifndef __YYXSYS_H
  2. #define __YYXSYS_H
  3. #include <stdio.h>
  4. #include <stdlib.h>
  5. #include <graphics.h>
  6. #include <alloc.h>
  7. #include <string.h>
  8. #include <ctype.h>
  9. #include <bios.h>
  10. #include <dos.h>
  11. #include <conio.h>
  12. //#include <process.h>
  13. //#include <math.h>
  14. #include "n_graphi.h"
  15. #include "keydef.h"
  16. #define PI 3.1415926
  17. #define TRUE_SECT 0
  18. #define FALSE_SECT  1
  19. #define CLIP_ON 1
  20. #define TRUE 1
  21. #define FALSE 0
  22. #define NORMAL 0x00
  23. #define DISABLE  0x01 // status & DISBLE ---TRUE is non-zero
  24. #define INVISIBLE   0x02
  25. #define LINE_WIDTH 3
  26. #define LOW(f) ((f)&0xff)
  27. #define HIGH(f) (LOW(f>>8))
  28. #define max(x,y) ((x>y)?x:y)
  29. #define min(x,y) ((x<y)?x:y)
  30. #define PEN_XOR (outp(0x3ce,3));(outp(0x3cf,0x18))
  31. #define PEN_COPY (outp(0x3ce,3));(outp(0x3cf,0))
  32. typedef unsigned char BYTE;
  33. typedef unsigned char  BOOL;
  34. typedef unsigned char  bool;
  35. typedef unsigned char  byte;
  36. typedef char far *  LPSTR;
  37. typedef char *   PSTR;
  38. typedef struct Rect  Trect;
  39. typedef class win_class  Twin;
  40. typedef class menu_class  Tmenu;
  41. typedef class control_class Tcontrol;
  42. typedef class application_class Tapplication;
  43. #include "mouse.h"
  44. struct Rect {
  45. int left;
  46. int  top;
  47. int  right;
  48. int  bottom;
  49. };
  50. struct BitMap  {
  51. unsigned long int  size;
  52. struct Rect bounds;
  53. void far *pbitmap;
  54. };
  55. unsigned  far RectSize (struct Rect& therect);
  56. void FrameRect(struct Rect& therect);
  57. void FillRect(struct Rect& therect,int color);
  58. void PaintRect(struct Rect& therect, int color , int pen_mode );
  59. void SetRect(struct Rect *r,int left,int top,int right,int bottom);
  60. void OffsetRect(struct Rect *r,int dh,int dv);
  61. void InsetRect(struct Rect *r,int dh,int dv);
  62. void FrameOval (struct Rect& r );
  63. void FillOval (struct Rect& r,int color);
  64. void FrameRoundRect ( struct Rect& r , int ovalWidth, int ovalHeight );
  65. void FillRoundRect (struct Rect& r ,int ovalWidth,int ovalHeight,int color );
  66. int SectRect (struct Rect& rect1, struct Rect& rect2 , struct Rect *pdst_rect);
  67. void far *myfarmalloc(unsigned long nbytes);
  68. void far setport ( struct viewporttype& viewport);
  69. BOOL PtInRect (int x,int y,struct Rect r);
  70. BOOL Global2Local(int &x, int&y,const struct Rect& r);
  71. BOOL Global2LocalPort(int &x, int&y,const struct viewporttype& port);
  72. BOOL PtInPort (int x,int y,const struct viewporttype& port);
  73. #ifdef __YYXMAIN
  74. struct viewporttype screen_viewport  ;
  75. struct viewporttype win_living_viewport;
  76. int font_height;
  77. int bar_height;
  78. int alt_key[26]={
  79. ALT_A   // 0x1e00
  80. ,ALT_B   //0x3000
  81. ,ALT_C   //0x2e00
  82. ,ALT_D   //0x2000
  83. ,ALT_E   //0x1200
  84. ,ALT_F   //0x2100
  85. ,ALT_G   //0x2200
  86. ,ALT_H   //0x2300
  87. ,ALT_I   //0x1700
  88. ,ALT_J   //0x2400
  89. ,ALT_K   //0x2500
  90. ,ALT_L   //0x2600
  91. ,ALT_M   //0x3200
  92. ,ALT_N   //0x3100
  93. ,ALT_O   //0x1800
  94. ,ALT_P   //0x1900
  95. ,ALT_Q   //0x1000
  96. ,ALT_R   //0x1300
  97. ,ALT_S   //0x1f00
  98. ,ALT_T   //0x1400
  99. ,ALT_U   //0x1600
  100. ,ALT_V   //0x2f00
  101. ,ALT_W   //0x1100
  102. ,ALT_X   //0x2d00
  103. ,ALT_Y   //0x1500
  104. ,ALT_Z   //0x2c00
  105. };
  106. #else
  107. extern struct viewporttype screen_viewport  ;
  108. extern struct viewporttype win_living_viewport;
  109. extern int font_height;
  110. extern int bar_height;
  111. extern int alt_key[26];
  112. #endif
  113. #endif