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
12class Halftone;
13
14
15class LIPS3Driver : public GraphicsDriver {
16public:
17						LIPS3Driver(BMessage* msg, PrinterData* printer_data,
18							const PrinterCap* printer_cap);
19
20protected:
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
27private:
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