xref: /haiku/src/add-ons/print/drivers/canon_lips/lips3/Lips3.h (revision f2b4344867e97c3f4e742a1b4a15e6879644601a)
1 /*
2  * Lips3.h
3  * Copyright 1999-2000 Y.Takagi. All Rights Reserved.
4  */
5 #ifndef __LIPS3_H
6 #define __LIPS3_H
7 
8 
9 #include "GraphicsDriver.h"
10 
11 
12 class Halftone;
13 
14 
15 class LIPS3Driver : public GraphicsDriver {
16 public:
17 						LIPS3Driver(BMessage* msg, PrinterData* printer_data,
18 							const PrinterCap* printer_cap);
19 
20 protected:
21 	virtual	bool		StartDocument();
22 	virtual	bool		StartPage(int page);
23 	virtual	bool		NextBand(BBitmap *bitmap, BPoint *offset);
24 	virtual	bool		EndPage(int page);
25 	virtual	bool		EndDocument(bool success);
26 
27 private:
28 			void		_Move(int x, int y);
29 			void		_BeginTextMode();
30 			void		_JobStart();
31 			void		_SoftReset();
32 			void		_SizeUnitMode();
33 			void		_SelectSizeUnit();
34 			void		_PaperFeedMode();
35 			void		_SelectPageFormat();
36 			void		_DisableAutoFF();
37 			void		_SetNumberOfCopies();
38 			void		_MemorizedPosition();
39 			void		_MoveAbsoluteHorizontal(int x);
40 			void		_CarriageReturn();
41 			void		_MoveDown(int dy);
42 			void		_RasterGraphics(int size, int widthbyte, int	height,
43 							int compression_method, const uchar* buffer);
44 			void		_FormFeed();
45 			void		_JobEnd();
46 
47 			int			fCurrentX;
48 			int			fCurrentY;
49 			Halftone*	fHalftone;
50 };
51 
52 #endif // __LIPS3_H
53