home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool_main.zip / ool / include / xblitter.h < prev    next >
C/C++ Source or Header  |  1997-08-12  |  2KB  |  58 lines

  1. #if !defined( __XBLITTER_HPP__ )
  2. #define __XBLITTER_HPP__
  3.  
  4. #include <xheaders.h>
  5. #include "xobject.h"
  6. #define  _MEERROR_H_
  7. #include <mmioos2.h>
  8. #include <dive.h>
  9. #include <fourcc.h>
  10. #include "xgamexc.h"
  11. #include "xvirtscr.h"
  12. #include "xpal.h"
  13.  
  14. /* EMX compatibility-hack */
  15. #if !defined( __IBMCPP__ ) & !defined( __WATCOMC__ )
  16.    #define mmioFOURCC( ch0, ch1, ch2, ch3 )                         \
  17.                   ( (ULONG)(BYTE)(ch0) | ( (ULONG)(BYTE)(ch1) << 8 ) |    \
  18.                   ( (ULONG)(BYTE)(ch2) << 16 ) | ( (ULONG)(BYTE)(ch3) << 24 ) )
  19. #endif
  20.  
  21. class _export_ XBlitter : public XObject
  22. {
  23.         friend class XBlitterWindow;
  24.  
  25.         private:
  26.                 HDIVE     hDive;                        // handle to DIVE instance
  27.                 DIVE_CAPS DiveCaps;                     // DIVE capabilites
  28.                 FOURCC    fccFormats[100];              // supported color formats
  29.  
  30.                 XVirtualScreen* pVScreen;               // pointer to the virtual screen object
  31.                 ULONG           ulBufferNumber;         // buffer number of the virtual screen
  32.  
  33.                 XPalette*       pPalette;
  34.  
  35.         public:
  36.                 // ctor/dtor
  37.                          XBlitter( void );
  38.                 virtual ~XBlitter();
  39.  
  40.                 // associate/disassociate a virtual screen
  41.                 void AssociateVirtualScreen( XVirtualScreen* pVScr );
  42.                 void DisassociateVirtualScreen( void );
  43.  
  44.                 // setup the blitter
  45.                 void Setup( PSETUP_BLITTER pSetupBlitter );
  46.  
  47.                 // set palette
  48.                 void SetPalette( XPalette* xpal );
  49.  
  50.                 // get the pointer to the virtual screen
  51.                 XVirtualScreen* GetVirtualScreen( void )   { return pVScreen; }
  52.  
  53.                 // blit the virtual screen
  54.                 void Blit( void );
  55. };
  56.  
  57. #endif
  58.