1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/printingservices/printerdrivers/pcl5/PCL5.H Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,113 @@
1.4 +// Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +//
1.18 +
1.19 +#ifndef PCL5_H
1.20 +#define PCL5_H
1.21 +
1.22 +#include <pdrstore.h>
1.23 +
1.24 +class CBandedDevice;
1.25 +
1.26 +/**
1.27 +@internalComponent
1.28 +*/
1.29 +enum TPcl5PaperSize
1.30 + {
1.31 + EPcl5Executive = 1,
1.32 + EPcl5Letter = 2,
1.33 + EPcl5Legal = 3,
1.34 + EPcl5Ledger = 6,
1.35 + EPcl5A4 = 26,
1.36 + EPcl5A3 = 27,
1.37 + EPcl5Monarch = 80,
1.38 + EPcl5Com_10 = 81,
1.39 + EPcl5DL = 90,
1.40 + EPcl5C5 = 91
1.41 + };
1.42 +
1.43 +/**
1.44 +@internalComponent
1.45 +*/
1.46 +enum TPcl5Encoding
1.47 + {
1.48 + EPcl5None = 0,
1.49 + EPcl5RunLength = 1,
1.50 + EPcl5TIFF = 2,
1.51 + EPcl5DeltaRow = 3,
1.52 + EPcl5Reserved = 4,
1.53 + EPcl5Adaptive = 5
1.54 + };
1.55 +
1.56 +/**
1.57 +@internalComponent
1.58 +*/
1.59 +enum TPcl5Flags
1.60 + {
1.61 + EPcl5DeskjetPrinter = 1,
1.62 + EPcl5LandscapeNotAvailable = 2,
1.63 + EPcl5LandscapeBandingRightToLeft = 4
1.64 + };
1.65 +
1.66 +/**
1.67 +@internalComponent
1.68 +*/
1.69 +enum TPcl5RasterGraphicsMode
1.70 + {
1.71 + EPcl5LogicalPageOrientation=0,
1.72 + EPcl5PhysicalPageOrientation=3
1.73 + };
1.74 +
1.75 +/**
1.76 +@internalComponent
1.77 +*/
1.78 +IMPORT_C CPrinterDevice* NewPrinterDeviceL();
1.79 +
1.80 +class CPcl5Device : public CFbsDrvDevice
1.81 +/**
1.82 +@internalComponent
1.83 +*/
1.84 + {
1.85 +public:
1.86 + CPcl5Device();
1.87 + ~CPcl5Device();
1.88 + TInt CreateContext(CGraphicsContext*& aGC);
1.89 + void CreateControlL(CPrinterPort* aPrinterPort);
1.90 + };
1.91 +
1.92 +class CPcl5Control : public CFbsDrvControl
1.93 +/**
1.94 +@internalComponent
1.95 +*/
1.96 + {
1.97 +public:
1.98 + static CPcl5Control* NewL(CPdrDevice* aPdrDevice, CPrinterPort* aPrinterPort, CStreamStore& aStore, TStreamId aResourcesStreamId);
1.99 + ~CPcl5Control();
1.100 + TMoreOnPage QueueGetBand(TRequestStatus& aStatus, TBandAttributes& aBand);
1.101 + // print control functions
1.102 +protected:
1.103 + CPcl5Control(CPdrDevice* aPdrDevice, CPrinterPort* aPrinterPort);
1.104 + void ConstructL(CStreamStore& aStore, TStreamId aResourcesStreamId);
1.105 +
1.106 + void OutputBandL();
1.107 +
1.108 + void SetPageSizeL();
1.109 + void SetPageOrientationL();
1.110 + void SetTextColorL(const TRgb& aColor);
1.111 +
1.112 +protected:
1.113 + TBool iLandscapeMode;
1.114 + };
1.115 +
1.116 +#endif