xref: /haiku/src/add-ons/print/drivers/canon_lips/lips3/Lips3.h (revision 1e36cfc2721ef13a187c6f7354dc9cbc485e89d3)
1 /*
2  * Lips3.h
3  * Copyright 1999-2000 Y.Takagi. All Rights Reserved.
4  */
5 
6 #ifndef __LIPS3_H
7 #define __LIPS3_H
8 
9 #include "GraphicsDriver.h"
10 
11 class Halftone;
12 
13 class LIPS3Driver : public GraphicsDriver {
14 public:
15 	LIPS3Driver(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 beginTextMode();
27 	void jobStart();
28 	void softReset();
29 	void sizeUnitMode();
30 	void selectSizeUnit();
31 	void paperFeedMode();
32 	void selectPageFormat();
33 	void disableAutoFF();
34 	void setNumberOfCopies();
35 	void memorizedPosition();
36 	void moveAbsoluteHorizontal(int x);
37 	void carriageReturn();
38 	void moveDown(int dy);
39 	void rasterGraphics(
40 		int size,
41 		int widthbyte,
42 		int height,
43 		int compression_method,
44 		const uchar *buffer);
45 	void formFeed();
46 	void jobEnd();
47 
48 	int fCurrentX;
49 	int fCurrentY;
50 	Halftone *fHalftone;
51 };
52 
53 #endif	/* __LIPS3_H */
54