xref: /haiku/src/add-ons/print/drivers/canon_lips/lips4/Lips4.h (revision 7a74a5df454197933bc6e80a542102362ee98703)
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* message,
18 							PrinterData* printerData,
19 							const PrinterCap* printerCap);
20 
21 protected:
22 	virtual	bool		StartDocument();
23 	virtual	bool		StartPage(int page);
24 	virtual	bool		NextBand(BBitmap* bitmap, BPoint* offset);
25 	virtual	bool		EndPage(int page);
26 	virtual	bool		EndDocument(bool success);
27 
28 private:
29 			void		_Move(int x, int y);
30 			void		_BeginTextMode();
31 			void		_JobStart();
32 			void		_ColorModeDeclaration();
33 			void		_SoftReset();
34 			void		_SizeUnitMode();
35 			void		_SelectSizeUnit();
36 			void		_PaperFeedMode();
37 			void		_SelectPageFormat();
38 			void		_DisableAutoFF();
39 			void		_SetNumberOfCopies();
40 			void		_SidePrintingControl();
41 			void		_SetBindingMargin();
42 			void		_MemorizedPosition();
43 			void		_MoveAbsoluteHorizontal(int x);
44 			void		_CarriageReturn();
45 			void		_MoveDown(int dy);
46 			void		_RasterGraphics(int size, int widthbyte, int height,
47 							int compressionMethod, 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