
Originally Posted by
linlin_0
But I have a question:
RApaLsSession::GetAppIcon() have a parameter with the tpye of CApaMaskedBitmap,
I think it means that it is a mask,isn't it?
Generally I agree, "think"-ing is extremely important.
However from time to time you can benefit from RTFM:
CApaMaskedBitmap=CFbsBitmap+Mask+SetMaskBitmap+some constructors/destructor, streaming operations.

Originally Posted by
SDK Help
class CApaMaskedBitmap : public CFbsBitmap;
Description
An application icon.
This is a bitmap and a mask, managed by the Font and Bitmap server.
An object of this type is passed to RApaLsSession::GetAppIcon() to fetch a suitable application icon.
Derivation
CBase - Base class for all classes to be instantiated on the heap
CFbsBitmap - A bitmap managed by the font and bitmap server
CApaMaskedBitmap - An application icon
Members
Defined in CApaMaskedBitmap:
ExternalizeL(), InternalizeL(), Mask(), NewL(), NewLC(), SetMaskBitmap(), ~CApaMaskedBitmap()
So it is a CFbsBitmap, which has an other CFbsBitmap (the mask) associated via Mask/SetMaskBitmap.
If iMaskedBitmap is CApaMaskedBitmap, you can
Code:
TPoint point(0,0);
TRect rect(point,iMaskedBitmap->SizeInPixels());
gc.BitBltMasked(point,iMaskedBitmap,rect,iMaskedBitmap->Mask());
(if it does not work, try adding ,ETrue or ,EFalse at the end).