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