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
12class Halftone;
13
14
15class LIPS4Driver : public GraphicsDriver {
16public:
17						LIPS4Driver(BMessage* message,
18							PrinterData* printerData,
19							const PrinterCap* printerCap);
20
21protected:
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
28private:
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