1 /* 2 * PrintProcess.h 3 * Copyright 1999-2000 Y.Takagi. All Rights Reserved. 4 */ 5 6 #ifndef __PRINTPROCESS_H 7 #define __PRINTPROCESS_H 8 9 #include <vector> 10 #include <list> 11 #include <memory> 12 13 #include <Rect.h> 14 #include <Point.h> 15 16 #if (!__MWERKS__ || defined(MSIPL_USING_NAMESPACE)) 17 using namespace std; 18 #else 19 #define std 20 #endif 21 22 class BFile; 23 class BPicture; 24 25 class PictureData { 26 public: 27 PictureData(BFile *file); 28 ~PictureData(); 29 BPoint point; 30 BRect rect; 31 BPicture *picture; 32 }; 33 34 class PageData { 35 public: 36 PageData(); 37 PageData(BFile *file, bool reverse); 38 bool startEnum(); 39 bool enumObject(PictureData **); 40 41 private: 42 BFile *fFile; 43 bool fReverse; 44 int fPictureCount; 45 int fRest; 46 off_t fOffset; 47 bool fHollow; 48 }; 49 50 typedef list<PageData *> PageDataList; 51 52 class SpoolData { 53 public: 54 SpoolData(BFile *file, int page_count, int nup, bool reverse); 55 ~SpoolData(); 56 bool startEnum(); 57 bool enumObject(PageData **); 58 59 private: 60 PageDataList fPages; 61 PageDataList::iterator fIt; 62 }; 63 64 #endif /* __PRINTPROCESS_H */ 65