CPrinterDevice Class Reference

class CPrinterDevice : public CGraphicsDevice

Printer graphics device interface.

This abstract class represents a physical graphics device that is used for printing.

This class is used to:

set and get the page specification

map between the co-ordinates of the printed page (in twips) and the co-ordinates of the image device (in pixels)

get and set the printer model entry

create and delete a printer control.

A printer driver is defined in terms of a printer device and a printer control. A printer device can own either a single or no printer control. The control determines the progress and termination of the print job and is responsible for producing output.


Inherits from

Constructor & Destructor Documentation



Standard constructor.



Destructor. It frees all resources owned by the object, prior to its destruction.

Member Functions Documentation

CreateControlL(CPrinterPort *)

voidCreateControlL(CPrinterPort *aPrinterPort)[pure virtual]

Creates a printer control.

The printer control is an instance of a CPrinterControl derived class; it is assigned to this printer device's iControl member.

Note that this function is called by CPrintSetup::StartPrintL().


CPrinterPort * aPrinterPortPointer to an instance of a printer port.


TPageSpec CurrentPageSpecInTwips()const [inline]

Gets the current page specification in twips.


IMPORT_C voidDeleteControl()[virtual]

Deletes the printer control owned by this object.

The function sets the iControl member to NULL.

ExternalizePropertiesL(RWriteStream &)

voidExternalizePropertiesL(RWriteStream &)const [inline, virtual]

Externalizes printer properties to the store.

The default implementation is empty.


RWriteStream &

InternalizePropertiesL(RReadStream &)

voidInternalizePropertiesL(RReadStream &)[inline, virtual]

Externalizes printer properties to the store.

The default implementation is empty.


RReadStream &


TPrinterModelEntry Model()const [pure virtual]

Gets the printer model entry.


IMPORT_C TRectPrintablePageInPixels()const [virtual]

Gets the dimensions of the area to which the printer device can print.

These dimensions are normally less than those returned by TPageSpec::OrientedPageSize() because a margin exists between the boundary of the printable page and the absolute extent of the page.


IMPORT_C voidRestorePropertiesL()

Restores printer properties.

SelectPageSpecInTwips(const TPageSpec &)

IMPORT_C voidSelectPageSpecInTwips(const TPageSpec &aPageSpec)[virtual]

Sets the page specification in twips.


const TPageSpec & aPageSpecThe page specification in twips.

SetModel(const TPrinterModelHeader &, CStreamStore &)

TInt SetModel(const TPrinterModelHeader &aModel,
CStreamStore &aStore
)[pure virtual]

Sets the printer model header and the store.


const TPrinterModelHeader & aModelThe printer model header.
CStreamStore & aStoreThe store.


IMPORT_C voidStorePropertiesL()const

Stores the printer properties.

Member Data Documentation

CPrinterControl * iControl

CPrinterControl *iControl

The printer control.

This may be NULL. If implemented, it provides control over the print operation.

TPageSpec iCurrentPageSpecInTwips

TPageSpec iCurrentPageSpecInTwips[protected]

Current page specification in twips.