TAcceleratedBitmapSpec Class Reference

#include <graphicsaccelerator.h>

class TAcceleratedBitmapSpec

Detailed Description

A utility class that provides access to the contents of a bitmap.

The bitmap can be a hardware bitmap (RHardwareBitmap), or an ordinary bitmap (CFbsBitmap). An object of this class is used as a parameter by several accelerated graphics operations, e.g. TGopBitBlt, to specify the source bitmap for the operation.

Member Enumeration Documentation

Enum TAcceleratedBitmapLock

EnumeratorValueDescription
EBitmapIsStatic
EBitmapNeedsLocking

Enum TAcceleratedBitmapType

Identifies the type of the bitmap.

Type() returns this value.

See also: CFbsBitmap

EnumeratorValueDescription
ENoBitmap

The object was created using the default constructor, and has no type.

EFbsBitmap

The bitmap is of type CFbsBitmap.

See also: CFbsBitmap

EHardwareBitmap

The bitmap is of type RHardwareBitmap.

See also: RHardwareBitmap

Constructor & Destructor Documentation

TAcceleratedBitmapSpec ( )

TAcceleratedBitmapSpec()[inline]

Default constructor. Use one of the other constructor overloads instead.

TAcceleratedBitmapSpec ( CFbsBitmap * )

IMPORT_CTAcceleratedBitmapSpec(CFbsBitmap *aBitmap)

Constructor with a software or hardware bitmap. Its type is initialised to EFbsBitmap or EHardwareBitmap accordingly.

ParameterDescription
aBitmapThe bitmap which the object will access.

TAcceleratedBitmapSpec ( RHardwareBitmap )

IMPORT_CTAcceleratedBitmapSpec(RHardwareBitmapaBitmap)

Constructor with a hardware bitmap. Its type is initialised to EHardwareBitmap.

ParameterDescription
aBitmapThe bitmap which the object will access.

Member Function Documentation

GetInfo ( TAcceleratedBitmapInfo & )

IMPORT_C TIntGetInfo(TAcceleratedBitmapInfo &aInfo)const

Fills a TAcceleratedBitmapInfo structure with data for the bitmap.

This data is only valid for the duration of any processing between a Lock()/Unlock() pair.

For compressed bitmaps the line pitch has no meaning so it is set to the negation of the compression type as defined by TBitmapfileCompression.

ParameterDescription
aInfoOn return, holds the information needed to directly access the bitmap.

Returns: KErrNone if sucessful, otherwise one of the system error codes, including KErrUnknown if the object's type is ENoBitmap.

Handle ( )

TInt Handle()const [inline]

Returns the handle to the bitmap.

Returns: The handle to the bitmap.

Lock ( TBitmapLockCount & )

voidLock(TBitmapLockCount &aCount)[inline]

Prevents a bitmap from moving in memory. Lock() should be called before accessing the bitmap and Unlock() immediately afterwards. Although it is not necessary to lock and unlock some types of bitmap, it is a small overhead, and it is recommended that you always do it.

If a bitmap is already locked, all uses of the Lock() and Unlock() methods within the same thread must use the same TBitmapLockCount object, even if Lock() and Unlock() are called by different instances of TAcceleratedBitmapSpec.

ParameterDescription
aCountMaintains a count of the number of locks made on the bitmap.

Lock ( TBitmapLockCount &, TAcceleratedBitmapInfo & )

voidLock(TBitmapLockCount &aCount,
TAcceleratedBitmapInfo &aInfo
)[inline]

Prevents a bitmap from moving in memory. Lock() should be called before accessing the bitmap and Unlock() immediately afterwards. Although it is not necessary to lock and unlock some types of bitmap, it is a small overhead, and it is recommended that you always do it. Also updates a TAcceleratedBitmapInfo structure with any information that may have changed, (typically the bitmap's memory address).

If a bitmap is already locked, all uses of the Lock() and Unlock() methods within the same thread must use the same TBitmapLockCount object, even if Lock() and Unlock() are called by different instances of TAcceleratedBitmapSpec.

ParameterDescription
aCountMaintains a count of the number of locks made on the bitmap.
aInfoOn return, contains the new address of the start of the bitmap.

Type ( )

TAcceleratedBitmapType Type()const [inline]

Returns the type of the bitmap. The type is assigned during construction.

Returns: The type of bitmap.

Unlock ( TBitmapLockCount & )

voidUnlock(TBitmapLockCount &aCount)[inline]

Frees a bitmap after a call to Lock(). A call to Unlock() must be made for each corresponding call to Lock(). This function should be called as soon as any bitmap access has finished. If, after the Unlock() operation, no more calls to Lock() are outstanding on the bitmap, the bitmap is free to be moved in memory again.

If a bitmap is already locked, all uses of the Lock() and Unlock() methods within the same thread must use the same TBitmapLockCount object, even if Lock() and Unlock() are called by different instances of TAcceleratedBitmapSpec.

ParameterDescription
aCountMaintains a count of the number of locks made on the bitmap.