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 17 using namespace std; 18 19 20 class BFile; 21 class BPicture; 22 23 class PictureData { 24 public: 25 PictureData(BFile *file); 26 ~PictureData(); 27 BPoint point; 28 BRect rect; 29 BPicture *picture; 30 }; 31 32 class PageData { 33 public: 34 PageData(); 35 PageData(BFile *file, bool reverse); 36 bool startEnum(); 37 bool enumObject(PictureData **); 38 39 private: 40 BFile *fFile; 41 bool fReverse; 42 int32 fPictureCount; 43 int32 fRest; 44 off_t fOffset; 45 bool fHollow; 46 }; 47 48 typedef list<PageData *> PageDataList; 49 50 class SpoolData { 51 public: 52 SpoolData(BFile *file, int32 page_count, int32 nup, bool reverse); 53 ~SpoolData(); 54 bool startEnum(); 55 bool enumObject(PageData **); 56 57 private: 58 PageDataList fPages; 59 PageDataList::iterator fIt; 60 }; 61 62 #endif /* __PRINTPROCESS_H */ 63