The example code here shows how a PrintBandL()
function,
inherited from MPageRegionPrinter
by a concrete band printer
class, may be structured. Before drawing, a graphics context in which to draw
to must be created.
Set up an appropriate graphics context using
CreateContext()
.
Print the requested band on the requested page using the graphics context drawing functions.
Clean up the graphics context.
void CMyBandPrinter::PrintBandL(CGraphicsDevice* aLayoutDevice,
TInt aPageNo,
const TBandAttributes& aBand)
{
// Set up the GC and push to cleanup stack
CGraphicsContext* gc;
aLayoutDevice->CreateContext(gc);
CleanupStack::PushL(gc);
// Call some function to do the drawing: here we pass the graphics context, device, page number, offset, and display rectangle
DoDraw(*(gc),aLayoutDevice,aPageNo,TPoint(0,0),
TRect(TPoint(0,0),KA4PaperSizeInTwips));
CleanupStack::PopAndDestroy(); // cleanup the GC
}