xref: /haiku/src/add-ons/print/drivers/pcl5/PCL5.h (revision 06b932a49d65e82cdfa7d28a04f48eef6de9ea49)
1 /*
2  * PCL5.h
3  * Copyright 1999-2000 Y.Takagi. All Rights Reserved.
4  */
5 
6 #ifndef __PCL5_H
7 #define __PCL5_H
8 
9 #include "GraphicsDriver.h"
10 
11 class Halftone;
12 
13 class PCL5Driver : public GraphicsDriver {
14 public:
15 	PCL5Driver(BMessage *msg, PrinterData *printer_data, const PrinterCap *printer_cap);
16 
17 protected:
18 	virtual bool startDoc();
19 	virtual bool startPage(int page);
20 	virtual bool nextBand(BBitmap *bitmap, BPoint *offset);
21 	virtual bool endPage(int page);
22 	virtual bool endDoc(bool success);
23 
24 private:
25 	void move(int x, int y);
26 	void jobStart();
27 	void startRasterGraphics();
28 	void endRasterGraphics();
29 	void rasterGraphics(
30 		int compression_method,
31 		const uchar *buffer,
32 		int size);
33 	void jobEnd();
34 
35 	int __compression_method;
36 	Halftone *__halftone;
37 };
38 
39 #endif	/* __PCL5_H */
40