CPrinterDevice Class Reference

#include <gdi.h>

Link against: gdi.lib

class CPrinterDevice : public CGraphicsDevice

Inherits from

Detailed Description

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.

See also: CPrinterControl

Member Attribute Documentation

iControl

CPrinterControl *iControl

The printer control.

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

iCurrentPageSpecInTwips

TPageSpec iCurrentPageSpecInTwips[protected]

Current page specification in twips.

Constructor & Destructor Documentation

CPrinterDevice ( )

IMPORT_CCPrinterDevice()[protected]

Standard constructor.

~CPrinterDevice ( )

IMPORT_C~CPrinterDevice()

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

Member Function 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().

ParameterDescription
aPrinterPortPointer to an instance of a printer port.

CurrentPageSpecInTwips ( )

TPageSpec CurrentPageSpecInTwips()const [inline]

Gets the current page specification in twips.

Returns: The current page specification, in twips.

DeleteControl ( )

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.

InternalizePropertiesL ( RReadStream & )

voidInternalizePropertiesL(RReadStream &)[inline, virtual]

Externalizes printer properties to the store.

The default implementation is empty.

Model ( )

TPrinterModelEntry Model()const [pure virtual]

Gets the printer model entry.

Returns: The printer model entry.

PrintablePageInPixels ( )

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.

Returns: The dimensions of the printer device area in pixels, respecting the page orientation

RestorePropertiesL ( )

IMPORT_C voidRestorePropertiesL()

Restores printer properties.

SelectPageSpecInTwips ( const TPageSpec & )

IMPORT_C voidSelectPageSpecInTwips(const TPageSpec &aPageSpec)[virtual]

Sets the page specification in twips.

ParameterDescription
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.

ParameterDescription
aModelThe printer model header.
aStoreThe store.

Returns: KErrNone if successful; otherwise, another of the system-wide error codes.

StorePropertiesL ( )

IMPORT_C voidStorePropertiesL()const

Stores the printer properties.