TAcceleratedBitmapSpec Class Reference

class TAcceleratedBitmapSpec

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.

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.

Parameters

CFbsBitmap * aBitmapThe bitmap which the object will access.

TAcceleratedBitmapSpec(RHardwareBitmap)

IMPORT_CTAcceleratedBitmapSpec(RHardwareBitmapaBitmap)

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

Parameters

RHardwareBitmap aBitmapThe bitmap which the object will access.

Member Functions Documentation

DoLock(TBitmapLockCount &)

IMPORT_C voidDoLock(TBitmapLockCount &aCount)[private]

Locks the bitmap, if required.

Parameters

TBitmapLockCount & aCountReference to a bitmap lock count object for nesting (only the first instance does the locking).

DoLock(TBitmapLockCount &, TAcceleratedBitmapInfo &)

IMPORT_C voidDoLock(TBitmapLockCount &aCount,
TAcceleratedBitmapInfo &aInfo
)[private]

Locks the bitmap, if required, setting the accelerated bitmap information address.

Parameters

TBitmapLockCount & aCountReference to a bitmap lock count object for nesting (only the first instance does the locking).
TAcceleratedBitmapInfo & aInfoInformation structure to set the address in.

DoUnlock(TBitmapLockCount &)

IMPORT_C voidDoUnlock(TBitmapLockCount &aCount)[private]

Unlocks the bitmap, if required.

Parameters

TBitmapLockCount & aCountReference to a bitmap lock count object for nesting (only the last instance does the unlocking).

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.

Parameters

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

Handle()

TInt Handle()const [inline]

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.

Parameters

TBitmapLockCount & 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.

Parameters

TBitmapLockCount & aCountMaintains a count of the number of locks made on the bitmap.
TAcceleratedBitmapInfo & 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.

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.

Parameters

TBitmapLockCount & aCountMaintains a count of the number of locks made on the bitmap.

Member Enumerations Documentation

Enum TAcceleratedBitmapLock

Enumerators

EBitmapIsStatic
EBitmapNeedsLocking

Enum TAcceleratedBitmapType

Identifies the type of the bitmap.

Type() returns this value.

CFbsBitmap

Enumerators

ENoBitmap

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

EFbsBitmap

The bitmap is of type CFbsBitmap.

CFbsBitmap

EHardwareBitmap

The bitmap is of type RHardwareBitmap.

RHardwareBitmap

Member Data Documentation

TInt iHandle

TInt iHandle[private]

TUint8 iLockStatus

TUint8 iLockStatus[private]

TUint8 iSpare1

TUint8 iSpare1[private]

TUint8 iSpare2

TUint8 iSpare2[private]

TUint8 iType

TUint8 iType[private]