CFbsDrawDevice Class Reference

class CFbsDrawDevice : public CBase

Inherits from

Public Member Functions
TDisplayMode DisplayMode()
IMPORT_C TDisplayModeDisplayMode16M()
TInt GetCustomPalette(CPalette *&)
voidGetDrawRect(TRect &)
TInt GetInterface(TInt, TAny *&)
TInt HorzTwipsPerThousandPixels()
TInt InitScreen()
TInt LongWidth()
voidMapColors(const TRect &, const TRgb *, TInt, TBool)
IMPORT_C CFbsDrawDevice *NewBitmapDeviceL(TScreenInfoV01, TDisplayMode, TInt)
IMPORT_C CFbsDrawDevice *NewBitmapDeviceL(const TSize &, TDisplayMode, TInt)
IMPORT_C CFbsDrawDevice *NewScreenDeviceL(TScreenInfoV01, TDisplayMode)
IMPORT_C CFbsDrawDevice *NewScreenDeviceL(TInt, TDisplayMode)
voidOrientationsAvailable(TBool)
voidReadLine(TInt, TInt, TInt, TAny *, TDisplayMode)
TRgb ReadPixel(TInt, TInt)
TUint32 *ScanLineBuffer()
TInt ScanLineBytes()
TDisplayMode ScanLineDisplayMode()
voidSetAutoUpdate(TBool)
voidSetBits(TAny *)
TInt SetCustomPalette(const CPalette *)
voidSetDisplayMode(CFbsDrawDevice *)
voidSetDitherOrigin(const TPoint &)
voidSetFadingParameters(TUint8, TUint8)
TBool SetOrientation(TOrientation)
voidSetShadowMode(TShadowMode)
voidSetUserDisplayMode(TDisplayMode)
voidShadowArea(const TRect &)
voidShadowBuffer(TInt, TUint32 *)
TSize SizeInPixels()
voidSwapWidthAndHeight()
voidUpdate()
voidUpdate(const TRegion &)
voidUpdateRegion(const TRect &)
TInt VertTwipsPerThousandPixels()
voidWriteBinary(TInt, TInt, TUint32 *, TInt, TInt, TRgb, CGraphicsContext::TDrawMode)
voidWriteBinaryLine(TInt, TInt, TUint32 *, TInt, TRgb, CGraphicsContext::TDrawMode)
voidWriteBinaryLineVertical(TInt, TInt, TUint32 *, TInt, TRgb, CGraphicsContext::TDrawMode, TBool)
voidWriteLine(TInt, TInt, TInt, TUint32 *, CGraphicsContext::TDrawMode)
voidWriteRgb(TInt, TInt, TRgb, CGraphicsContext::TDrawMode)
voidWriteRgbAlphaLine(TInt, TInt, TInt, TUint8 *, TUint8 *, CGraphicsContext::TDrawMode)
voidWriteRgbAlphaLine(TInt, TInt, TInt, const TUint8 *, const TUint8 *, const TUint8 *, CGraphicsContext::TDrawMode)
voidWriteRgbAlphaMulti(TInt, TInt, TInt, TRgb, const TUint8 *)
voidWriteRgbMulti(TInt, TInt, TInt, TInt, TRgb, CGraphicsContext::TDrawMode)
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTOrientation { EOrientationNormal, EOrientationRotated90, EOrientationRotated180, EOrientationRotated270 }
enumTShadowMode { ENoShadow = 0x0, EShadow = 0x1, EFade = 0x2, EShadowFade = 0x3 }

Member Functions Documentation

DisplayMode()

TDisplayMode DisplayMode()const [pure virtual]

Return the display mode of the device.

DisplayMode16M()

IMPORT_C TDisplayModeDisplayMode16M()[static]

Depending on current graphics hardware the method will return one of two possible 16M video modes: EColor16M or EColor16MU. If the hardware doesn't support EColor16M or EColor16MU mode, the return value will be ENone.

Depending on the current graphics hardware this will return one of the 16M video modes defined in TDisplayMode, or ENone if a 16M video mode is not supported. TDisplayMode

GetCustomPalette(CPalette *&)

TInt GetCustomPalette(CPalette *&)[inline, virtual]

Retrieve a custom palette, if the bit format supports it.

Parameters

CPalette *&

GetDrawRect(TRect &)

voidGetDrawRect(TRect &aDrawRect)const [pure virtual]

Gets logical coordinates of the drawing rectangle. If the device is not scaled and with zero origin, logocal coordinates of the drawing rectangle are the same as its physical coordinates. If the device is rotated, drawing rectangle width and height are swapped. Always prefer GetDrawRect() to SizeInPixels() call. SizeInPixels() will return drawing rectangle width and height. But if the device is scaled or with nonzero origin, GetDrawRect() will take into account and the top-left corner of the drawing rectangle too, which may not be [0, 0].

Parameters

TRect & aDrawRectUpon return aRect contains drawing rectangle logical coordinates.

GetInterface(TInt, TAny *&)

TInt GetInterface(TIntaInterfaceId,
TAny *&aInterface
)[pure virtual]

Retrieves a pointer to the specified CFbsDrawDevice interface extension. BitDrawInterfaceId.h file for the IDs of supported interfaces

Parameters

TInt aInterfaceIdInterface identifier of the interface to be retrieved.
TAny *& aInterfaceAddress of pointer variable that retrieves the specified interface.

HorzTwipsPerThousandPixels()

TInt HorzTwipsPerThousandPixels()const [pure virtual]

Allows the caller to calculate the physical size of a bitmap on the current hardware by calculating how many twips a 1000-pixel wide bitmap would be. Only applicable to screen-based devices; bitmap devices return 0.

InitScreen()

TInt InitScreen()[inline, virtual]

Do any necessary initialisation on screen devices (default applies to bitmaps)

LongWidth()

TInt LongWidth()const [pure virtual]

Scanline width in pixels. The return value can be greater or equal than iSize.iWidth, because the scan line memory is allocated in 32-bit words and can be rounded up, if the display mode allows more than 1 pixel to be stored in a single byte.

MapColors(const TRect &, const TRgb *, TInt, TBool)

voidMapColors(const TRect &aRect,
const TRgb *aColors,
TIntaNumPairs,
TBoolaMapForwards
)[pure virtual]
Alter the colours within a defined rectangle according to the supplied mapping. The colour map is supplied as pairs of TRgb objects. One member of the pair defines a colour value to match, the other defines a colour to replace that value by. Note that, for comparison purposes, smaller gamuts (e.g. 64K colour) are mapped to TRgb form before comparison, so a colour that is not representable in the current display mode will not be matched. Pixels in the original that do not match an entry in the colour map are unchanged.
panic
EScreenDriverPanicOutOfBounds if aRect transforms back to illegal physical coordinates.
panic
EScreenDriverPanicNullPointer if aColors == NULL
panic
EScreenDriverPanicZeroLength if aNumPairs == 0

Parameters

const TRect & aRectArea of the device/bitmap to be mapped in logical coordinates
const TRgb * aColorsColour map. This should be provided as a set of TRgb pairs, one to be matched and the other to provide a replacement.
TInt aNumPairsNumber of pairs of colours in aColors.
TBool aMapForwardsIf ETrue, match the first colour of a pair and replace by the second, otherwise match the second and replace by the first.

NewBitmapDeviceL(TScreenInfoV01, TDisplayMode, TInt)

IMPORT_C CFbsDrawDevice *NewBitmapDeviceL(TScreenInfoV01aInfo,
TDisplayModeaDispMode,
TIntaDataStride
)[static]

Parameters

TScreenInfoV01 aInfo
TDisplayMode aDispMode
TInt aDataStride

NewBitmapDeviceL(const TSize &, TDisplayMode, TInt)

IMPORT_C CFbsDrawDevice *NewBitmapDeviceL(const TSize &aSize,
TDisplayModeaDispMode,
TIntaDataStride
)[static]

Creates a new bitmap device instance, which implements CFbsDrawDevice interface.

leave
KErrNoMemory Not enough memory KErrArgument Invalid aSize value
Creates a new bitmap device instance, which implements CFbsDrawDevice interface.
leave
KErrNoMemory Not enough memory KErrArgument Invalid aSize value

Parameters

const TSize & aSizeBitmap device size
TDisplayMode aDispModeRequested display mode
TInt aDataStrideBitmap data stride

NewScreenDeviceL(TScreenInfoV01, TDisplayMode)

IMPORT_C CFbsDrawDevice *NewScreenDeviceL(TScreenInfoV01aInfo,
TDisplayModeaDispMode
)[static]

DEPRECATED: Use NewScreenDeviceL(TInt aScreenNo, TDisplayMode aDispMode)

This function calls the correct constructor in function of the display mode. Use CFbsDrawDevice::NewScreenDeviceL(TInt aScreenNo, TDisplayMode aDispMode)

Parameters

TScreenInfoV01 aInfo
TDisplayMode aDispMode

NewScreenDeviceL(TInt, TDisplayMode)

IMPORT_C CFbsDrawDevice *NewScreenDeviceL(TIntaScreenNo,
TDisplayModeaDispMode
)[static]
Creates a new screen device instance, which implements CFbsDrawDevice interface. The method has to be implemented for each type of supported video hardware.
leave
KErrNoMemory Not enough memory KErrNotSupported The requested screen device type is not supported

Parameters

TInt aScreenNoScreen number
TDisplayMode aDispModeRequested display mode

OrientationsAvailable(TBool)

voidOrientationsAvailable(TBoolaOrientation)[pure virtual]

Reports on which orientations are available on the device/bitmap.

Parameters

TBool aOrientationArray to receive the capability (use CFbsDrawDevice::TOrientation as an index)

ReadLine(TInt, TInt, TInt, TAny *, TDisplayMode)

voidReadLine(TIntaX,
TIntaY,
TIntaLength,
TAny *aBuffer,
TDisplayModeaDispMode
)const [pure virtual]
Reads a line of aLength pixels starting at [aX, aY] (in logical coordinates). The direction of reading is affected by the current orientation, and the "stride" taken in sampling pixels is affected by any scaling currently in force. Pixels are converted (if necessary) to the form specified by aDispMode before being written to the buffer. The entire line to be read must be within the physical bounds of the bitmap or device
panic
EScreenDriverPanicOutOfBounds if either end of the line is out of bounds
panic
EScreenDriverPanicNullPointer if aBuffer == NULL
panic
EScreenDriverPanicZeroLength if aLength == 0

Parameters

TInt aXX coordinate of the pixel to start reading from (logical coordinates)
TInt aYY coordinate of the pixel to start reading from(logical coordinates)
TInt aLengthNumber of pixels to read
TAny * aBufferBuffer to receive the pixel data (must be large enough)
TDisplayMode aDispModeFormat to use for writing pixels into the buffer.

ReadPixel(TInt, TInt)

TRgb ReadPixel(TIntaX,
TIntaY
)const [pure virtual]
Get the colour of the pixel at the logical position [aX,aY]
panic
EScreenDriverPanicOutOfBounds if [aX,aY] transforms back to illegal physical coordinates.

Parameters

TInt aXX-coordinate of pixel to read (logical coordinates)
TInt aYY-coordinate of pixel to read (logical coordinates)

ScanLineBuffer()

TUint32 *ScanLineBuffer()const [pure virtual]

Returns a pointer to a buffer large enough to read a line of pixels of maximum length. Ownership of the buffer is retained by the bitmap or device object. Repeated calls to this function will return the same buffer.

ScanLineBytes()

TInt ScanLineBytes()const [pure virtual]

Scanline width in bytes. The return value may be greater than the actual number of bytes needed to store the pixels, since scan line memory is allocated in 32-bit words and can be rounded up.

ScanLineDisplayMode()

TDisplayMode ScanLineDisplayMode()const [pure virtual]

Return the display mode to be used when passing pixel data to the device using the scanline buffer. CFbsDrawDevice::DisplayMode

SetAutoUpdate(TBool)

voidSetAutoUpdate(TBoolaValue)[inline, virtual]

Sets or unsets auto-update for the screen.

Parameters

TBool aValueETrue, if the screen is set to auto-update; EFalse, otherwise.

SetBits(TAny *)

voidSetBits(TAny *)[inline, virtual]

Set the internal data buffer to point to the supplied buffer. No checks are made that the buffer is appropriate for the purpose. Ownership is not taken.

Parameters

TAny *

SetCustomPalette(const CPalette *)

TInt SetCustomPalette(const CPalette *)[inline, virtual]

Set up a custom palette for those bit formats that support palettised colour

Parameters

const CPalette *

SetDisplayMode(CFbsDrawDevice *)

voidSetDisplayMode(CFbsDrawDevice *)[inline, virtual]

Copies all settings (scaling, orientation, etc.) from the supplied device and reinitialised the current device.

Parameters

CFbsDrawDevice *

SetDitherOrigin(const TPoint &)

voidSetDitherOrigin(const TPoint &)[inline, virtual]

Set the origin point of the dither matrix (if appropriate)

Parameters

const TPoint &

SetFadingParameters(TUint8, TUint8)

voidSetFadingParameters(TUint8,
TUint8
)[inline, virtual]

Set the current fading parameters

Parameters

TUint8
TUint8

SetOrientation(TOrientation)

TBool SetOrientation(TOrientationaOrientation)[pure virtual]

Set the orientation of the device

Parameters

TOrientation aOrientationOrientation to set

SetShadowMode(TShadowMode)

voidSetShadowMode(TShadowMode)[inline, virtual]

Sets the current shadowing mode TShadowMode

Parameters

TShadowMode

SetUserDisplayMode(TDisplayMode)

voidSetUserDisplayMode(TDisplayMode)[inline, virtual]

Sets the user display mode - used for certain colour mapping functions

Parameters

TDisplayMode

ShadowArea(const TRect &)

voidShadowArea(const TRect &)[inline, virtual]
Apply shadow processing to all the pixels in the supplied rectangle
panic
EScreenDriverPanicOutOfBounds If any part of the rectangle maps to an illegal physical address

Parameters

const TRect &

ShadowBuffer(TInt, TUint32 *)

voidShadowBuffer(TInt,
TUint32 *
)[inline, virtual]
Applies shadow processing to the supplied buffer
panic
EScreenDriverPanicZeroLength If aLength <= 0
panic
EScreenDriverPanicNullPointer If aBuffer == NULL

Parameters

TInt
TUint32 *

SizeInPixels()

TSize SizeInPixels()const [pure virtual]

Returns the screen size in pixels, taking the orientation into account. Always prefer GetDrawRect() to SizeInPixels() call. GetDrawRect() will take into account possible non-[0,0] top-left corner of the drawing rectangle if the device is scaled.

SwapWidthAndHeight()

voidSwapWidthAndHeight()[pure virtual]

The method swaps bitmap device's width and height. For example: if the size is (40, 20), the swapped size will be (20, 40). The device's content is not preserved. The method leaves CDrawBitmap object in a consistent state - scaling settings will be set with their default values (the scaling is switched off), iDitherOrigin will be set to (0,0), iOrigin to (0,0). Note: This method is used internally by BITGDI component. Do not call it!

Update()

voidUpdate()[inline, virtual]

Update the screen with the update region.

Update(const TRegion &)

voidUpdate(const TRegion &)[inline, virtual]

Update the screen with the union of the update and specified regions.

Parameters

const TRegion &

UpdateRegion(const TRect &)

voidUpdateRegion(const TRect &)[inline, virtual]

Update the update region.

Parameters

const TRect &

VertTwipsPerThousandPixels()

TInt VertTwipsPerThousandPixels()const [pure virtual]

Allows the caller to calculate the physical size of a bitmap on the current hardware by calculating how many twips a 1000-pixel high bitmap would be. Only applicable to screen-based devices; bitmap devices return 0.

WriteBinary(TInt, TInt, TUint32 *, TInt, TInt, TRgb, CGraphicsContext::TDrawMode)

voidWriteBinary(TIntaX,
TIntaY,
TUint32 *aBuffer,
TIntaLength,
TIntaHeight,
TRgbaColor,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
Combines the current content of the device/bitmap with a supplied colour, based on a bitmask and a draw mode. The bitmask is supplied as an array of TUint32s, one for each line (so there should be aHeight entries in the array). Since one word is used per line, aLength must be <= 32. Each bit of the mask controls one pixel - if the bit is 1, the pixel is combined with aColor, if the bit is 0, the pixel is left unchanged. Note that bits in the bitmask are examined in low-high order, so bit0 affects the pixel at aX, bit1 affects the pixel at aX+1 and so forth. If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.
panic
EScreenDriverPanicOutOfBounds If any part of the rectangle maps to an illegal physical coordinate or if aLength > 32.
panic
EScreenDriverPanicNullPointer If aBuffer == NULL
panic
EScreenDriverPanicZeroLength If aLength <= 0

Parameters

TInt aXLeft edge of the rectangle (logical coordinates)
TInt aYTop edge of the rectangle (logical coordinates)
TUint32 * aBufferArray of bitmasks - one per line
TInt aLengthWidth of the rectangle (must be >0 and <= 32)
TInt aHeightHeight of the rectangle (== number of entries in aBuffer)
TRgb aColorColour to combine with the existing pixel data
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

WriteBinaryLine(TInt, TInt, TUint32 *, TInt, TRgb, CGraphicsContext::TDrawMode)

voidWriteBinaryLine(TIntaX,
TIntaY,
TUint32 *aBuffer,
TIntaLength,
TRgbaColor,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
Combines the current content of the device/bitmap with a supplied colour, based on a bitmask and a draw mode. This function differs from WriteBinary, in that aLength can be greater than 32, and the height is implicitly 1. aBuffer must contain sufficient elements to hold aLength bits If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.
panic
EScreenDriverPanicOutOfBounds If any part of the line maps to an illegal physical coordinate
panic
EScreenDriverPanicNullPointer If aBuffer == NULL
panic
EScreenDriverPanicZeroLength If aLength <= 0
WriteBinary

Parameters

TInt aXStarting X coordinate (logical coordinates)
TInt aYStarting Y coordinate (logical coordinates)
TUint32 * aBufferArray of bitmasks
TInt aLengthNumber of pixels
TRgb aColorColour to combine with existing pixels
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

WriteBinaryLineVertical(TInt, TInt, TUint32 *, TInt, TRgb, CGraphicsContext::TDrawMode, TBool)

voidWriteBinaryLineVertical(TIntaX,
TIntaY,
TUint32 *aBuffer,
TIntaHeight,
TRgbaColor,
CGraphicsContext::TDrawModeaDrawMode,
TBoolaUp
)[pure virtual]

Similar to WriteBinaryLine, but writes a vertical, rather than a horizontal line. LIne is drawn upward (decreasing Y) if aUp == ETrue. WriteBinaryLine

Parameters

TInt aX
TInt aY
TUint32 * aBuffer
TInt aHeight
TRgb aColor
CGraphicsContext::TDrawMode aDrawMode
TBool aUp

WriteLine(TInt, TInt, TInt, TUint32 *, CGraphicsContext::TDrawMode)

voidWriteLine(TIntaX,
TIntaY,
TIntaLength,
TUint32 *aBuffer,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
Combine the data in aBuffer with existing pixels along the line [aX,aY]-[aX+aLength,aY], using aDrawMode as the combining function. If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.
panic
EScreenDriverPanicOutOfBounds If any part of the line maps to an illegal physical address

Parameters

TInt aXLogical X coordinate of the start of the line.
TInt aYLogical Y coordinate of the line.
TInt aLengthSource data - length in pixels.
TUint32 * aBufferSource data. Must be in the format returned by ScanLineDisplayMode().
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

WriteRgb(TInt, TInt, TRgb, CGraphicsContext::TDrawMode)

voidWriteRgb(TIntaX,
TIntaY,
TRgbaColor,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
Write the given colour to the location [aX,aY], combining it with the existing pixel using aDrawMode If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.
panic
EScreenDriverPanicOutOfBounds If [aX,aY] maps to an illegal physical address

Parameters

TInt aXX coordinate (logical coordinates)
TInt aYY coordinate (logical coordinates)
TRgb aColorColour to write
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

WriteRgbAlphaLine(TInt, TInt, TInt, TUint8 *, TUint8 *, CGraphicsContext::TDrawMode)

voidWriteRgbAlphaLine(TIntaX,
TIntaY,
TIntaLength,
TUint8 *aRgbBuffer,
TUint8 *aMaskBuffer,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
The method performs an alpha blending of the source data - aRgbBuffer and screen pixels, using the data from aMaskBuffer buffer as an alpha blending factor. The formula used for that, is: (C1 * A + C2 * (255 - A)) / 255, where:
  • C1 - a pixel from aRgbBuffer;

  • C2 - a pixel from the sceen;

  • A - a pixel from aMaskBuffer; The content of source and mask buffers is preserved. The calculated alpha blended pixel is written to the destination - the screen or a bitmap. If the shadowing/fading flag is set, a shadow/fade copy of the source bitmap will be used.
    panic
    EScreenDriverPanicOutOfBounds If any part of the line maps to an illegal physical address

Parameters

TInt aXLogical X coordinate of the start of the line.
TInt aYLogical Y coordinate of the line.
TInt aLengthSource data - length in pixels.
TUint8 * aRgbBufferA pointer to a line of the source bitmap data. Must be in ERgb format.
TUint8 * aMaskBufferBuffer containing the data which should be used as an alpha blending factor. Must be in EGray256 format.
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

WriteRgbAlphaLine(TInt, TInt, TInt, const TUint8 *, const TUint8 *, const TUint8 *, CGraphicsContext::TDrawMode)

voidWriteRgbAlphaLine(TIntaX,
TIntaY,
TIntaLength,
const TUint8 *aRgbBuffer1,
const TUint8 *aBuffer2,
const TUint8 *aMaskBuffer,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
The method performs an alpha blending of the source data - aRgbBuffer1 and aBuffer2, using the data from aMaskBuffer buffer as an alpha blending factor. If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded. The formula used for that, is: (C1 * A + C2 * (255 - A)) / 255, where:
  • C1 - a pixel from aRgbBuffer1;

  • C2 - a pixel from aBuffer2;

  • A - a pixel from aMaskBuffer; The content of source and mask buffers is preserved. The calculated alpha blended pixel is written to the destination - the screen or a bitmap. If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.

Parameters

TInt aXLogical X coordinate of the position in the target the result should be drawn to.
TInt aYLogical Y coordinate of the position in the target the result should be drawn to.
TInt aLengthSource data - length in pixels.
const TUint8 * aRgbBuffer1A pointer to a line of the source bitmap data 1. Must be in ERgb format.
const TUint8 * aBuffer2A pointer to a line of the source bitmap data 2. Must be in the format returned by ScanLineDisplayMode().
const TUint8 * aMaskBufferBuffer containing the data which should be used as an alpha blending factor. Must be in EGray256 format.
CGraphicsContext::TDrawMode aDrawModeDrawing mode

WriteRgbAlphaMulti(TInt, TInt, TInt, TRgb, const TUint8 *)

voidWriteRgbAlphaMulti(TIntaX,
TIntaY,
TIntaLength,
TRgbaColor,
const TUint8 *aMaskBuffer
)[pure virtual]
Blend aColor with the pixels along the line [aX,aY]-[aX+aLength,aY], using aMaskBuffer as alpha data If the shadowing/fading flag is set, a shadow/fade copy of the source bitmap will be used.
panic
EScreenDriverPanicOutOfBounds If any part of the line maps to an illegal physical address

Parameters

TInt aXLogical X coordinate of the start of the line
TInt aYLogical Y coordinate of the line.
TInt aLengthLength of line to modify
TRgb aColorColour to blend with existing pixels
const TUint8 * aMaskBufferBuffer containing the data which should be used as an alpha blending factor.

WriteRgbMulti(TInt, TInt, TInt, TInt, TRgb, CGraphicsContext::TDrawMode)

voidWriteRgbMulti(TIntaX,
TIntaY,
TIntaLength,
TIntaHeight,
TRgbaColor,
CGraphicsContext::TDrawModeaDrawMode
)[pure virtual]
Write the given colour to the rectangle [aX,aY] - [aX+aLength,aY+aHeight], combining it with the exiasting pixels using aDrawMode If the shadowing/fading flag is set, the resulting pixels will be shadowed/faded.
panic
EScreenDriverPanicOutOfBounds If any part of the rectangle maps to an illegal physical address

Parameters

TInt aXX coordinate (logical coordinates)
TInt aYY coordinate (logical coordinates)
TInt aLengthWidth of the rectangle (logical coordinates)
TInt aHeightHeight of the rectangle (logical coordinates)
TRgb aColorColour to write
CGraphicsContext::TDrawMode aDrawModeCombination function for source and destination pixels.

Member Enumerations Documentation

Enum TOrientation

Defines possible rotation values

Enumerators

EOrientationNormal

Normal orientation is supported.

EOrientationRotated90

A 90 degree rotation is supported.

EOrientationRotated180

A 180 degree rotation is supported.

EOrientationRotated270

A 270 degree rotation is supported.

Enum TShadowMode

Defines possible Shadowmode values

Enumerators

ENoShadow = 0x0

No Shadow mode is supported.

EShadow = 0x1

Shadow mode is supported.

EFade = 0x2

Faded mode is supported.

EShadowFade = 0x3

Shadow and faded mode is supported.