xref: /haiku/headers/libs/print/libprint/PrintProcess.h (revision c57b500a1534e9521db4b6a88b4bb411dbdafb5d)
112fd6cc2SKarsten Heimrich /*
212fd6cc2SKarsten Heimrich  * PrintProcess.h
312fd6cc2SKarsten Heimrich  * Copyright 1999-2000 Y.Takagi. All Rights Reserved.
412fd6cc2SKarsten Heimrich  */
512fd6cc2SKarsten Heimrich 
612fd6cc2SKarsten Heimrich #ifndef __PRINTPROCESS_H
712fd6cc2SKarsten Heimrich #define __PRINTPROCESS_H
812fd6cc2SKarsten Heimrich 
912fd6cc2SKarsten Heimrich #include <vector>
1012fd6cc2SKarsten Heimrich #include <list>
1112fd6cc2SKarsten Heimrich #include <memory>
1212fd6cc2SKarsten Heimrich 
1312fd6cc2SKarsten Heimrich #include <Rect.h>
1412fd6cc2SKarsten Heimrich #include <Point.h>
1512fd6cc2SKarsten Heimrich 
1608d759feSMichael Pfeiffer 
1712fd6cc2SKarsten Heimrich using namespace std;
1808d759feSMichael Pfeiffer 
1912fd6cc2SKarsten Heimrich 
2012fd6cc2SKarsten Heimrich class BFile;
2112fd6cc2SKarsten Heimrich class BPicture;
2212fd6cc2SKarsten Heimrich 
2312fd6cc2SKarsten Heimrich class PictureData {
2412fd6cc2SKarsten Heimrich public:
2512fd6cc2SKarsten Heimrich 	PictureData(BFile *file);
2612fd6cc2SKarsten Heimrich 	~PictureData();
2712fd6cc2SKarsten Heimrich 	BPoint   point;
2812fd6cc2SKarsten Heimrich 	BRect    rect;
2912fd6cc2SKarsten Heimrich 	BPicture *picture;
3012fd6cc2SKarsten Heimrich };
3112fd6cc2SKarsten Heimrich 
3212fd6cc2SKarsten Heimrich class PageData {
3312fd6cc2SKarsten Heimrich public:
3412fd6cc2SKarsten Heimrich 	PageData();
3512fd6cc2SKarsten Heimrich 	PageData(BFile *file, bool reverse);
3612fd6cc2SKarsten Heimrich 	bool startEnum();
3712fd6cc2SKarsten Heimrich 	bool enumObject(PictureData **);
3812fd6cc2SKarsten Heimrich 
3912fd6cc2SKarsten Heimrich private:
4012fd6cc2SKarsten Heimrich 	BFile *fFile;
4112fd6cc2SKarsten Heimrich 	bool  fReverse;
42*c57b500aSJérôme Duval 	int32 fPictureCount;
43*c57b500aSJérôme Duval 	int32 fRest;
4412fd6cc2SKarsten Heimrich 	off_t fOffset;
4512fd6cc2SKarsten Heimrich 	bool  fHollow;
4612fd6cc2SKarsten Heimrich };
4712fd6cc2SKarsten Heimrich 
4812fd6cc2SKarsten Heimrich typedef list<PageData *>	PageDataList;
4912fd6cc2SKarsten Heimrich 
5012fd6cc2SKarsten Heimrich class SpoolData {
5112fd6cc2SKarsten Heimrich public:
52*c57b500aSJérôme Duval 	SpoolData(BFile *file, int32 page_count, int32 nup, bool reverse);
5312fd6cc2SKarsten Heimrich 	~SpoolData();
5412fd6cc2SKarsten Heimrich 	bool startEnum();
5512fd6cc2SKarsten Heimrich 	bool enumObject(PageData **);
5612fd6cc2SKarsten Heimrich 
5712fd6cc2SKarsten Heimrich private:
5812fd6cc2SKarsten Heimrich 	PageDataList fPages;
5912fd6cc2SKarsten Heimrich 	PageDataList::iterator fIt;
6012fd6cc2SKarsten Heimrich };
6112fd6cc2SKarsten Heimrich 
6212fd6cc2SKarsten Heimrich #endif	/* __PRINTPROCESS_H */
63