home *** CD-ROM | disk | FTP | other *** search
/ The C Users' Group Library 1994 August / wc-cdrom-cusersgrouplibrary-1994-08.iso / vol_300 / 325_02 / grph.h < prev    next >
C/C++ Source or Header  |  1990-03-25  |  4KB  |  139 lines

  1. #define Word    unsigned int
  2. #define Byte    unsigned char
  3.  
  4. #define     Mode640x350x16   0x10    /* Corresponds to Mode 0 */
  5. #define     Mode640x480x16   0x12    /* Corresponds to Mode 1 */
  6. #define     Mode320x200x256  0x13    /* Corresponds to Mode 2 */
  7. #define     Mode640x400x256  0x5c    /* Corresponds to Mode 3 */
  8. #define     Mode640x480x256  0x5d    /* Corresponds to Mode 4 */
  9. #define     Mode800x600x16   0x5b    /* Corresponds to Mode 5 */
  10. #define     Mode1024x768x16  0x5f    /* Corresponds to Mode 6 */
  11.  
  12. #define Max_Points    400
  13. #define Max_Fill_Buffer 3000
  14.  
  15. struct    VP
  16. {
  17.     int x1;
  18.     int y1;
  19.     int x2;
  20.     int y2;
  21. };
  22.  
  23. struct    RGBstruct
  24. {
  25.     Byte    Red;
  26.     Byte    Green;
  27.     Byte    Blue;
  28. };
  29.  
  30. extern    int    far pascal OpenGraph(Byte,Byte);
  31. extern    void    far pascal CloseGraph(void);
  32. extern    void    far pascal SetFillPattern(Byte,Byte,Byte,Byte far *);
  33. extern    void    far pascal GetFillPattern(Byte *,Byte *,Byte *,Byte far *);
  34.  
  35. extern    void    far pascal SetViewPort(struct VP);
  36. extern    void    far pascal GetViewPort(struct VP *);
  37.  
  38. extern    int    far pascal GetVMode(void);
  39. extern    void    far pascal SetXLen(Word);
  40.  
  41. extern    void    (far pascal *GetImage)(int,int,int,int,void far *);
  42. extern    void    (far pascal *PutImage)(int,int,void  far *);
  43. extern    void    (far pascal *CopyImage)(int,int,int,int,int,int);
  44. extern    void    (far pascal *CopyImageRev)(int,int,int,int,int,int);
  45. extern    int    far pascal SaveImage(void *,void far *,Word);
  46. extern    int    far pascal LoadImage(void *,void far *,Word);
  47. extern    int    far pascal PolyLineD(Word,int far *,int far *);
  48. extern    void    far pascal Rectangl(int,int,int,int);
  49.  
  50. extern    void    far pascal EllipseD(int,int,int,int);
  51.  
  52. extern    void    far pascal FillPolyD(Word, int far *,int far *);
  53. extern    void    far pascal FillArea(int,int,int);
  54. extern    void    (far pascal *FillRectangle)(int,int,int,int);
  55. extern    void    far pascal FillAgain(void);
  56.  
  57. extern    void    far pascal SetPalette(int,int);
  58. extern    Byte    far pascal GetPalette(int);
  59. extern    void    far pascal SetPalettes(void  far *);
  60. extern    void    far pascal GetPalettes(void  far *);
  61. extern    void    far pascal SetClrReg(void  far *,int);
  62. extern    void    far pascal GetClrReg(void  far *,int);
  63. extern    void    far pascal SetRGBDAC(int,int,void  far *);
  64. extern    void    far pascal GetRGBDAC(int,int,void  far *);
  65. extern    void    far pascal GreyScale(int,int);
  66. extern    void    far pascal SelectDAC(int);
  67. extern    void    far pascal DefaultPalette(char);
  68.  
  69. extern    void    far pascal ClearScreen(void);
  70. extern    void    far pascal SetOrigin(int,int);
  71. extern    void    far pascal SplitScreen(int);
  72. extern    void    far pascal SScroll(int,int);
  73.  
  74. extern    void    (far pascal *SetGC)(void);
  75. extern    void    (far pascal *ReSetGC)(void);
  76. extern    int    far pascal SetVdOn(void);
  77. extern    int    far pascal SetVdOff(void);
  78. extern    Byte    (far pascal *GetPixel)(int,int);
  79. extern    void    (far pascal *SetPixel)(int,int);
  80.  
  81. extern    void    (far pascal *LineD)(int,int,int,int);
  82. extern    int    ImageSize(int,int,int,int);
  83.  
  84. #define ImageSize(x1,y1,x2,y2) ((abs(x2-x1)+1)*(abs(y2-y1)+1)+5)
  85.  
  86. extern    Byte    near SysPllts[17];
  87.  
  88. extern    Byte    near WrtMd;
  89. extern    Byte    near ClipTrue;
  90.  
  91. extern    Byte    near PxlClr;
  92.  
  93. extern    Byte    near LineStyle;
  94.  
  95. extern    Byte    near EllpsStyle;
  96.  
  97. extern    Byte    near FllPttrn[8];
  98. extern    Byte    near FllClr;
  99. extern    Byte    near FllPttrnIndxX;
  100. extern    Byte    near FllPttrnIndxY;
  101.  
  102. extern    int    near XMax;
  103. extern    int    near YMax;
  104. extern    int    near XRes;
  105. extern    int    near YRes;
  106. extern    int    near XOrgn;
  107. extern    int    near YOrgn;
  108. extern    int    near XLen;
  109.  
  110. extern float    near rpi;
  111.  
  112. extern float    near stvwx,stvwy;
  113. extern float    near Wrldxy[8];
  114.  
  115. extern    Byte    near _ZMode;
  116.  
  117. #define SetClipOn()   ClipTrue=1
  118. #define SetClipOff()  ClipTrue=0
  119. #define GetClip()     ClipTrue
  120.  
  121. #define SetDraw(Mode)    WrtMd=(Mode << 3);SetGC()
  122. #define GetDraw()    (WrtMd >> 3)
  123.  
  124. #define SetLineStyle(Styl)   LineStyle=Styl
  125. #define GetLineStyle(Styl)   Styl=LineStyle
  126.  
  127. #define SetEllipseStyle(Styl)      EllpsStyle=Styl
  128. #define GetEllipseStyle(Styl)      Styl=EllpsStyle
  129.  
  130. extern    void    far pascal  WindScrollUp(int,int,int,int,int);
  131. extern    void    far pascal  WindScrollDown(int,int,int,int,int);
  132. extern    void    far pascal  WindScrollLeft(int,int,int,int,int);
  133. extern    void    far pascal  WindScrollRight(int,int,int,int,int);
  134.  
  135. #define WindScrollUp(x1,y1,x2,y2,l)  CopyImage(x1,y1+l,x2,y2,x1,y1)
  136. #define WindScrollDown(x1,y1,x2,y2,l) CopyImageRev(x1,y1,x2,y2-l,x1,y1+l)
  137. #define WindScrollLeft(x1,y1,x2,y2,l)  CopyImage(x1+l,y1,x2,y2,x1,y1)
  138. #define WindScrollRight(x1,y1,x2,y2,l) CopyImageRev(x1,y1,x2-l,y2,x1+l,y1)
  139.