home *** CD-ROM | disk | FTP | other *** search
/ HPAVC / HPAVC CD-ROM.iso / pc / 3DTOSHI2.ZIP / mpgfx / include / gfxdisp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-04-15  |  2.3 KB  |  66 lines

  1.  
  2. // gfxdisp.h
  3. //
  4. // Copyright (c) 1995 by Toshiaki Tsuji, all rights reserved.
  5.  
  6. #ifndef __GFXDISPDRV_H__
  7. #define __GFXDISPDRV_H__
  8.  
  9. #include "stdgfx.h"
  10. #include "gfxdrv.h"
  11. #include "gfxmodes.h"
  12. #include "gfxpal.h"
  13. #include "gfximage.h"
  14.  
  15. struct DISPLAYDATA
  16.   {
  17.     LONG Mode;  
  18.     BOOLEAN UseDirectDraw;
  19.     HWINDOW hMainWindow;
  20.     #if defined (__FORUNIX__)
  21.       Display *MainXDisplay;
  22.     #endif
  23.   }; // End of DISPLAYDATA
  24.  
  25. class DISPLAYDRIVER : public DRIVER
  26.   {
  27.     protected :
  28.       BITMAPINFO *Info;
  29.       LONG MagH,MagV,DivH,DivV;
  30.       LONG Width,Height,BitSize,BytesPerRow;      
  31.  
  32.     public :
  33.       DISPLAYDRIVER ();
  34.       virtual ~DISPLAYDRIVER ();
  35.  
  36.       virtual BOOLEAN SetUp ( DISPLAYDATA *Data )=0;
  37.       virtual VOID Reset ()=0;
  38.       virtual VOID Clear ( HDISPLAY hDisplay, LONG Color );
  39.       VOID SetScaleFactor ( LONG MagH, LONG DivH, LONG MagV, LONG DivV );                      
  40.  
  41.       virtual LONG GetWidth ( HDISPLAY hDisplay )=0;
  42.       virtual LONG GetHeight ( HDISPLAY hDisplay )=0;
  43.  
  44.       virtual VOID DisplayImage ( IMAGE *Image, LONG Sx, LONG Sy,
  45.                                   LONG Wd, LONG Ht, HDISPLAY Dest,
  46.                                   LONG Cx, LONG Cy, LONG DestWd, LONG DestHt )=0;
  47.       virtual VOID SetPalette ( HDISPLAY hDisplay, RGBPALETTE *Pal )=0;
  48.       virtual VOID GetPalette ( HDISPLAY hDisplay, RGBPALETTE *Pal )=0;
  49.       virtual VOID DrawLine ( HDISPLAY hDisplay, LONG x1, LONG y1, LONG x2, LONG y2,
  50.                               COLOR Color )=0;
  51.       virtual VOID DrawRect ( HDISPLAY hDisplay, LONG x1, LONG y1, LONG x2, LONG y2,
  52.                               COLOR Color )=0;
  53.       virtual VOID FillRect ( HDISPLAY hDisplay, LONG x1, LONG y1, LONG x2, LONG y2,
  54.                               COLOR Color )=0;
  55.       virtual VOID DrawPixel ( HDISPLAY hDisplay, LONG x, LONG y,
  56.                                COLOR Color )=0;
  57.       virtual VOID DrawEllipse ( HDISPLAY hDisplay, LONG Cx, LONG Cy, LONG Rx, LONG Ry,
  58.                                  COLOR Color )=0;
  59.       virtual VOID FillEllipse ( HDISPLAY hDisplay, LONG Cx, LONG Cy, LONG Rx, LONG Ry,
  60.                                  COLOR Color )=0;
  61.       virtual VOID DrawText ( HDISPLAY hDisplay, STRING Text, LONG x, LONG y,
  62.                               COLOR Color );
  63.   }; // End of DISPLAYDRV
  64.  
  65. #endif
  66.