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