xref: /haiku/src/add-ons/print/drivers/canon_lips/lips4/Lips4.h (revision 1294543de9ac0eff000eaea1b18368c36435d08e)
1 /*
2  * Lips4.h
3  * Copyright 1999-2000 Y.Takagi. All Rights Reserved.
4  */
5 #ifndef __LIPS4_H
6 #define __LIPS4_H
7 
8 
9 #include "GraphicsDriver.h"
10 
11 
12 class Halftone;
13 
14 
15 class LIPS4Driver : public GraphicsDriver {
16 public:
17 						LIPS4Driver(BMessage *msg, PrinterData *printer_data, const PrinterCap *cap);
18 
19 protected:
20 	virtual	bool		startDoc();
21 	virtual	bool		startPage(int page);
22 	virtual	bool		nextBand(BBitmap *bitmap, BPoint *offset);
23 	virtual	bool		endPage(int page);
24 	virtual	bool		endDoc(bool success);
25 
26 private:
27 			void		move(int x, int y);
28 			void		beginTextMode();
29 			void		jobStart();
30 			void		colorModeDeclaration();
31 			void		softReset();
32 			void		sizeUnitMode();
33 			void		selectSizeUnit();
34 			void		paperFeedMode();
35 			void		selectPageFormat();
36 			void		disableAutoFF();
37 			void		setNumberOfCopies();
38 			void		sidePrintingControl();
39 			void		setBindingMargin();
40 			void		memorizedPosition();
41 			void		moveAbsoluteHorizontal(int x);
42 			void		carriageReturn();
43 			void		moveDown(int dy);
44 			void rasterGraphics(int size, int widthbyte, int height,
45 				int compression_method, const uchar* buffer);
46 			void		formFeed();
47 			void		jobEnd();
48 
49 			int			fCurrentX;
50 			int			fCurrentY;
51 			Halftone*	fHalftone;
52 };
53 
54 #endif // __LIPS4_H
55