|
1 <defineLocation id="LOADANDSCALEICONL_METHOD" baseLocation="MAIN_FILE" |
|
2 owned="true" |
|
3 location="function(${className}::LoadAndScaleIconL(const TDesC&,TInt,TInt,TSize*,TScaleMode))"> |
|
4 <template><![CDATA[ |
|
5 /** |
|
6 * This routine loads and scales a bitmap or icon. |
|
7 * |
|
8 * @param aFileName the MBM or MIF filename |
|
9 * @param aBitmapId the bitmap id |
|
10 * @param aMaskId the mask id or -1 for none |
|
11 * @param aSize the TSize for the icon, or NULL to use real size |
|
12 * @param aScaleMode one of the EAspectRatio* enums when scaling |
|
13 * |
|
14 */ |
|
15 CGulIcon* ${className}::LoadAndScaleIconL( |
|
16 const TDesC& aFileName, |
|
17 TInt aBitmapId, |
|
18 TInt aMaskId, |
|
19 TSize* aSize, |
|
20 TScaleMode aScaleMode ) |
|
21 { |
|
22 CFbsBitmap* bitmap; |
|
23 CFbsBitmap* mask; |
|
24 AknIconUtils::CreateIconL( bitmap, mask, aFileName, aBitmapId, aMaskId ); |
|
25 |
|
26 TSize size; |
|
27 if ( aSize == NULL ) |
|
28 { |
|
29 // Use size from the image header. In case of SVG, |
|
30 // we preserve the image data for a while longer, since ordinarily |
|
31 // it is disposed at the first GetContentDimensions() or SetSize() call. |
|
32 AknIconUtils::PreserveIconData( bitmap ); |
|
33 AknIconUtils::GetContentDimensions( bitmap, size ); |
|
34 } |
|
35 else |
|
36 { |
|
37 size = *aSize; |
|
38 } |
|
39 |
|
40 AknIconUtils::SetSize( bitmap, size, aScaleMode ); |
|
41 AknIconUtils::SetSize( mask, size, aScaleMode ); |
|
42 |
|
43 if ( aSize == NULL ) |
|
44 { |
|
45 AknIconUtils::DestroyIconData( bitmap ); |
|
46 } |
|
47 |
|
48 return CGulIcon::NewL( bitmap, mask ); |
|
49 } |
|
50 ]]> |
|
51 </template> |
|
52 </defineLocation> |