os/graphics/printingservices/printerdrivers/pcl5/PCL5.H
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     7 //
     8 // Initial Contributors:
     9 // Nokia Corporation - initial contribution.
    10 //
    11 // Contributors:
    12 //
    13 // Description:
    14 //
    15 
    16 #ifndef PCL5_H
    17 #define PCL5_H
    18 
    19 #include <pdrstore.h>
    20 
    21 class CBandedDevice;
    22 
    23 /**
    24 @internalComponent
    25 */
    26 enum TPcl5PaperSize
    27 	{
    28 	EPcl5Executive = 1,
    29 	EPcl5Letter = 2,
    30 	EPcl5Legal = 3,
    31 	EPcl5Ledger = 6,
    32 	EPcl5A4 = 26,
    33 	EPcl5A3 = 27,
    34 	EPcl5Monarch = 80,
    35 	EPcl5Com_10 = 81,
    36 	EPcl5DL = 90,
    37 	EPcl5C5 = 91
    38 	};
    39 
    40 /**
    41 @internalComponent
    42 */
    43 enum TPcl5Encoding
    44 	{
    45 	EPcl5None = 0,
    46 	EPcl5RunLength = 1,
    47 	EPcl5TIFF = 2,
    48 	EPcl5DeltaRow = 3,
    49 	EPcl5Reserved = 4,
    50 	EPcl5Adaptive = 5
    51 	};
    52 
    53 /**
    54 @internalComponent
    55 */
    56 enum TPcl5Flags
    57 	{
    58 	EPcl5DeskjetPrinter = 1,
    59 	EPcl5LandscapeNotAvailable = 2,
    60 	EPcl5LandscapeBandingRightToLeft = 4
    61 	};
    62 
    63 /**
    64 @internalComponent
    65 */
    66 enum TPcl5RasterGraphicsMode
    67 	{
    68 	EPcl5LogicalPageOrientation=0,
    69 	EPcl5PhysicalPageOrientation=3
    70 	};
    71 
    72 /**
    73 @internalComponent
    74 */
    75 IMPORT_C CPrinterDevice* NewPrinterDeviceL();
    76 
    77 class CPcl5Device : public CFbsDrvDevice
    78 /**
    79 @internalComponent
    80 */
    81 	{
    82 public:
    83 	CPcl5Device();
    84 	~CPcl5Device();
    85 	TInt CreateContext(CGraphicsContext*& aGC);
    86 	void CreateControlL(CPrinterPort* aPrinterPort);
    87 	};
    88 
    89 class CPcl5Control : public CFbsDrvControl
    90 /**
    91 @internalComponent
    92 */
    93 	{
    94 public:
    95 	static CPcl5Control* NewL(CPdrDevice* aPdrDevice, CPrinterPort* aPrinterPort, CStreamStore& aStore, TStreamId aResourcesStreamId);
    96 	~CPcl5Control();
    97 	TMoreOnPage QueueGetBand(TRequestStatus& aStatus, TBandAttributes& aBand);
    98 	// print control functions
    99 protected:
   100 	CPcl5Control(CPdrDevice* aPdrDevice, CPrinterPort* aPrinterPort);
   101 	void ConstructL(CStreamStore& aStore, TStreamId aResourcesStreamId);
   102 
   103 	void OutputBandL();
   104 
   105 	void SetPageSizeL(); 
   106 	void SetPageOrientationL();
   107 	void SetTextColorL(const TRgb& aColor);
   108 
   109 protected:
   110 	TBool iLandscapeMode;
   111 	};
   112 
   113 #endif