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