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

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