home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ool.zip / OOL / include / xprint.h < prev    next >
C/C++ Source or Header  |  1997-03-05  |  2KB  |  61 lines

  1. #ifndef __XPRINT_H__
  2. #define __XPRINT_H__
  3.  
  4. /*===========================================================================*/
  5. /* OOL ------------------- the Open Object Library ------------- OS/2 Beta 1 */
  6. /*===========================================================================*/
  7. /*                              class: XPrinterDevice                        */
  8. /*                       derived from: XGraphicDevice                        */
  9. /*                        last update: 1/97                                  */
  10. /*         based on the code of the MAVERIK CLASS LIBRARY by Fabrizio AVERSA      */
  11. /*                          ported by: Stefan von Brauk                      */
  12. /*===========================================================================*/
  13.  
  14. #include "xobject.h"
  15. #include "xgraphdv.h"
  16. #include "xsize.h"
  17.  
  18. typedef struct _PRINTERSETUP 
  19. {   
  20.    LONG           lWorldCoordinates; 
  21.    HAB            hab;               
  22.    CHAR           szPreferredQueue[ 64 ];  
  23.    PDRIVDATA      pDriverData;             
  24.    HDC            hdcPrinterInfo;    
  25.    HPS            hpsPrinterInfo;    
  26.    LONG           lDCType;           
  27.    PDEVOPENDATA   pDevOpenData;      
  28.    DEVOPENSTRUC   devopenstruc;      
  29.    LONG           cQueues;           
  30.    PPRQINFO3      pQueueInfo;        
  31.    BOOL           fToFile;           
  32.    CHAR           szFileName[ CCHMAXPATH ];     
  33. } PRINTERSETUP;
  34. typedef PRINTERSETUP *PPRINTERSETUP;
  35.  
  36.  
  37. class _export_ XPrinterDevice: public XGraphicDevice
  38. {  
  39.    private:
  40.        PPRINTERSETUP pSetup;
  41.        //SIZEL sizPage;
  42.        PPRQINFO3 FindQueue( PPRINTERSETUP );
  43.    public:   
  44.        XPrinterDevice(XFrameWindow*, LONG mode = PU_LOMETRIC);
  45.        ~XPrinterDevice();   
  46.         virtual void Draw(void);
  47.         void GetPageSize( XSize * s) { s->SetWidth(width); s->SetHeight(height);}
  48.         //PDEVOPENDATA GetDevOpenData(void) {return pSetup->pDevOpenData;}
  49.         //PDRIVDATA GetDrivData(void) {return pSetup->pDriverData;}
  50.        void CleanupPrinter(void);
  51.        void ClosePrinterJob(void);
  52.         void KillPrinterJob(void);
  53.        BOOL NewPage(void);
  54.        BOOL OpenPrinterJob(char *);
  55.         virtual void SetColor( LONG c) { return; }
  56.         virtual void SetFont( XFont * font) { EnableFont(font, font->fontSize); }
  57.        BOOL SetupPrinter(char *, XFrameWindow *, XString*, XString*);       
  58. };
  59.  
  60. #endif
  61.