uiaccelerator_plat/alf_core_toolkit_api/tsrc/src/testuiaifctkitblockshuiutil.cpp
branchRCL_3
changeset 19 e5af45d51884
parent 18 1801340c26a2
child 20 31fccae4f8a7
equal deleted inserted replaced
18:1801340c26a2 19:e5af45d51884
     1 /*
       
     2 * Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:  test api of alf_core_toolkit
       
    15 *
       
    16 */
       
    17 
       
    18 
       
    19 
       
    20 // [INCLUDE FILES]
       
    21 #include <e32svr.h>
       
    22 #include <stifparser.h>
       
    23 #include <fbs.h>
       
    24 #include <stiftestinterface.h>
       
    25 #include <uiacceltk/huienv.h>
       
    26 #include <uiacceltk/huicontrol.h>
       
    27 #include <uiacceltk/huiutil.h>
       
    28 
       
    29 #include "testuiaifcoretoolkit.h"
       
    30 
       
    31 // -----------------------------------------------------------------------------
       
    32 // CTestUiAifCoreToolkit::TestHuiUtilPower2
       
    33 // -----------------------------------------------------------------------------
       
    34 //
       
    35 TInt CTestUiAifCoreToolkit::TestHuiUtilPower2( CStifItemParser& /*aItem*/ )
       
    36     {
       
    37 
       
    38     // Print to UI
       
    39     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
    40     _LIT( KHuiUtil, "In TestHuiUtilPower2" );
       
    41     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
    42     // Print to log file
       
    43     iLog->Log( KHuiUtil );
       
    44 
       
    45     STIF_ASSERT_EQUALS(HuiUtil::Power2(128), 128);
       
    46     STIF_ASSERT_EQUALS(HuiUtil::Power2(256), 256);
       
    47     STIF_ASSERT_EQUALS(HuiUtil::Power2(1), 1);
       
    48     STIF_ASSERT_EQUALS(HuiUtil::Power2(2), 2);
       
    49     STIF_ASSERT_EQUALS(HuiUtil::Power2(3), 4);
       
    50     STIF_ASSERT_EQUALS(HuiUtil::Power2(127), 128);
       
    51     STIF_ASSERT_EQUALS(HuiUtil::Power2(129), 256);
       
    52     STIF_ASSERT_EQUALS(HuiUtil::Power2(255), 256);
       
    53 
       
    54     return KErrNone;
       
    55     }
       
    56 
       
    57 // -----------------------------------------------------------------------------
       
    58 // CTestUiAifCoreToolkit::TestHuiUtilPower2RoundDown
       
    59 // -----------------------------------------------------------------------------
       
    60 //
       
    61 TInt CTestUiAifCoreToolkit::TestHuiUtilPower2RoundDown( CStifItemParser& /*aItem*/ )
       
    62     {
       
    63 
       
    64     // Print to UI
       
    65     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
    66     _LIT( KHuiUtil, "In TestHuiUtilPower2RoundDown" );
       
    67     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
    68     // Print to log file
       
    69     iLog->Log( KHuiUtil );
       
    70 
       
    71     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(128), 128);
       
    72     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(256), 256);
       
    73     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(1), 1);
       
    74     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(2), 2);
       
    75     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(3), 2);
       
    76     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(127), 64);
       
    77     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(129), 128);
       
    78     STIF_ASSERT_EQUALS(HuiUtil::Power2RoundDown(255), 128);
       
    79 
       
    80     return KErrNone;
       
    81     }
       
    82 
       
    83 // -----------------------------------------------------------------------------
       
    84 // CTestUiAifCoreToolkit::TestHuiUtilInterpolate
       
    85 // -----------------------------------------------------------------------------
       
    86 //
       
    87 TInt CTestUiAifCoreToolkit::TestHuiUtilInterpolate( CStifItemParser& /*aItem*/ )
       
    88     {
       
    89 
       
    90     // Print to UI
       
    91     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
    92     _LIT( KHuiUtil, "In TestHuiUtilInterpolate" );
       
    93     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
    94     // Print to log file
       
    95     iLog->Log( KHuiUtil );
       
    96 
       
    97     HuiUtil::Interpolate( 1.1, 0, 10 );
       
    98 
       
    99     return KErrNone;
       
   100     }
       
   101 
       
   102 // -----------------------------------------------------------------------------
       
   103 // CTestUiAifCoreToolkit::TestHuiUtilWrapValue
       
   104 // -----------------------------------------------------------------------------
       
   105 //
       
   106 TInt CTestUiAifCoreToolkit::TestHuiUtilWrapValue( CStifItemParser& /*aItem*/ )
       
   107     {
       
   108 
       
   109     // Print to UI
       
   110     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   111     _LIT( KHuiUtil, "In TestHuiUtilWrapValue" );
       
   112     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   113     // Print to log file
       
   114     iLog->Log( KHuiUtil );
       
   115 
       
   116     TReal32 value = 10;
       
   117     HuiUtil::WrapValue( value, 0, 10 );
       
   118 
       
   119     return KErrNone;
       
   120     }
       
   121 
       
   122 // -----------------------------------------------------------------------------
       
   123 // CTestUiAifCoreToolkit::TestHuiUtilRandomInt
       
   124 // -----------------------------------------------------------------------------
       
   125 //
       
   126 TInt CTestUiAifCoreToolkit::TestHuiUtilRandomInt( CStifItemParser& /*aItem*/ )
       
   127     {
       
   128 
       
   129     // Print to UI
       
   130     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   131     _LIT( KHuiUtil, "In TestHuiUtilRandomInt" );
       
   132     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   133     // Print to log file
       
   134     iLog->Log( KHuiUtil );
       
   135 
       
   136     HuiUtil::RandomInt( 0, 10 );
       
   137 
       
   138     return KErrNone;
       
   139     }
       
   140 
       
   141 // -----------------------------------------------------------------------------
       
   142 // CTestUiAifCoreToolkit::TestHuiUtilRandomReal
       
   143 // -----------------------------------------------------------------------------
       
   144 //
       
   145 TInt CTestUiAifCoreToolkit::TestHuiUtilRandomReal( CStifItemParser& /*aItem*/ )
       
   146     {
       
   147 
       
   148     // Print to UI
       
   149     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   150     _LIT( KHuiUtil, "In TestHuiUtilRandomReal" );
       
   151     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   152     // Print to log file
       
   153     iLog->Log( KHuiUtil );
       
   154 
       
   155     HuiUtil::RandomReal( 0.1, 10.5 );
       
   156 
       
   157     return KErrNone;
       
   158     }
       
   159 
       
   160 // -----------------------------------------------------------------------------
       
   161 // CTestUiAifCoreToolkit::TestHuiUtilQuickLengthWithPoint
       
   162 // -----------------------------------------------------------------------------
       
   163 //
       
   164 TInt CTestUiAifCoreToolkit::TestHuiUtilQuickLengthWithPoint( CStifItemParser& /*aItem*/ )
       
   165     {
       
   166 
       
   167     // Print to UI
       
   168     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   169     _LIT( KHuiUtil, "In TestHuiUtilQuickLengthWithPoint" );
       
   170     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   171     // Print to log file
       
   172     iLog->Log( KHuiUtil );
       
   173 
       
   174     THuiRealPoint vector( 1, 1 );
       
   175     HuiUtil::QuickLength( vector );
       
   176 
       
   177     return KErrNone;
       
   178     }
       
   179 
       
   180 // -----------------------------------------------------------------------------
       
   181 // CTestUiAifCoreToolkit::TestHuiUtilQuickLength
       
   182 // -----------------------------------------------------------------------------
       
   183 //
       
   184 TInt CTestUiAifCoreToolkit::TestHuiUtilQuickLength( CStifItemParser& /*aItem*/ )
       
   185     {
       
   186 
       
   187     // Print to UI
       
   188     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   189     _LIT( KHuiUtil, "In TestHuiUtilQuickLength" );
       
   190     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   191     // Print to log file
       
   192     iLog->Log( KHuiUtil );
       
   193 
       
   194     HuiUtil::QuickLength( 1, 1 );
       
   195 
       
   196     return KErrNone;
       
   197     }
       
   198 
       
   199 // -----------------------------------------------------------------------------
       
   200 // CTestUiAifCoreToolkit::TestHuiUtilQuickNormalizeWithPoint
       
   201 // -----------------------------------------------------------------------------
       
   202 //
       
   203 TInt CTestUiAifCoreToolkit::TestHuiUtilQuickNormalizeWithPoint( CStifItemParser& /*aItem*/ )
       
   204     {
       
   205 
       
   206     // Print to UI
       
   207     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   208     _LIT( KHuiUtil, "In TestHuiUtilQuickNormalizeWithPoint" );
       
   209     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   210     // Print to log file
       
   211     iLog->Log( KHuiUtil );
       
   212 
       
   213     THuiRealPoint vector( 1, 1 );
       
   214     HuiUtil::QuickNormalize( vector );
       
   215 
       
   216     return KErrNone;
       
   217     }
       
   218 
       
   219 // -----------------------------------------------------------------------------
       
   220 // CTestUiAifCoreToolkit::TestHuiUtilQuickNormalize
       
   221 // -----------------------------------------------------------------------------
       
   222 //
       
   223 TInt CTestUiAifCoreToolkit::TestHuiUtilQuickNormalize( CStifItemParser& /*aItem*/ )
       
   224     {
       
   225 
       
   226     // Print to UI
       
   227     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   228     _LIT( KHuiUtil, "In TestHuiUtilQuickNormalize" );
       
   229     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   230     // Print to log file
       
   231     iLog->Log( KHuiUtil );
       
   232 
       
   233     TReal32 vector[3] = { 1, 1, 1 };
       
   234     HuiUtil::QuickNormalize( vector );
       
   235 
       
   236     return KErrNone;
       
   237     }
       
   238 
       
   239 // -----------------------------------------------------------------------------
       
   240 // CTestUiAifCoreToolkit::TestHuiUtilCrossProduct
       
   241 // -----------------------------------------------------------------------------
       
   242 //
       
   243 TInt CTestUiAifCoreToolkit::TestHuiUtilCrossProduct( CStifItemParser& /*aItem*/ )
       
   244     {
       
   245 
       
   246     // Print to UI
       
   247     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   248     _LIT( KHuiUtil, "In TestHuiUtilCrossProduct" );
       
   249     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   250     // Print to log file
       
   251     iLog->Log( KHuiUtil );
       
   252 
       
   253     TReal32 vectorA[3] = { 1, 1, 1 };
       
   254     TReal32 vectorB[3] = { 10, 10, 10 };
       
   255     TReal32 product[3] = { 0.1, 0.1, 0.1 };
       
   256     HuiUtil::CrossProduct( vectorA, vectorB, product );
       
   257 
       
   258     return KErrNone;
       
   259     }
       
   260 
       
   261 // -----------------------------------------------------------------------------
       
   262 // CTestUiAifCoreToolkit::TestHuiUtilNormalFromPoints
       
   263 // -----------------------------------------------------------------------------
       
   264 //
       
   265 TInt CTestUiAifCoreToolkit::TestHuiUtilNormalFromPoints( CStifItemParser& /*aItem*/ )
       
   266     {
       
   267 
       
   268     // Print to UI
       
   269     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   270     _LIT( KHuiUtil, "In TestHuiUtilNormalFromPoints" );
       
   271     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   272     // Print to log file
       
   273     iLog->Log( KHuiUtil );
       
   274 
       
   275     TReal32 point[3][3] = { { 1, 1, 1 }, { 1, 1, 1 }, { 1, 1, 1 } };
       
   276     TReal32 normal[3] = { 0.1, 0.1, 0.1 };
       
   277     HuiUtil::NormalFromPoints( point, normal );
       
   278 
       
   279     return KErrNone;
       
   280     }
       
   281 
       
   282 // -----------------------------------------------------------------------------
       
   283 // CTestUiAifCoreToolkit::TestHuiUtilShadowMatrix
       
   284 // -----------------------------------------------------------------------------
       
   285 //
       
   286 TInt CTestUiAifCoreToolkit::TestHuiUtilShadowMatrix( CStifItemParser& /*aItem*/ )
       
   287     {
       
   288 
       
   289     // Print to UI
       
   290     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   291     _LIT( KHuiUtil, "In TestHuiUtilShadowMatrix" );
       
   292     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   293     // Print to log file
       
   294     iLog->Log( KHuiUtil );
       
   295 
       
   296     TReal32 planePoint[3] = { 1, 1, 1 };
       
   297     TReal32 planeNormal[3] = { 0.1, 0.1, 0.1 };
       
   298     TReal32 lightPos[4] = { 1, 1, 1, 1 };
       
   299     TReal32 destMat[16] = { 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1 }; 
       
   300     HuiUtil::ShadowMatrix( planePoint, planeNormal, lightPos, destMat );
       
   301 
       
   302     return KErrNone;
       
   303     }
       
   304 
       
   305 // -----------------------------------------------------------------------------
       
   306 // CTestUiAifCoreToolkit::TestHuiUtilFreeMemory
       
   307 // -----------------------------------------------------------------------------
       
   308 //
       
   309 TInt CTestUiAifCoreToolkit::TestHuiUtilFreeMemory( CStifItemParser& /*aItem*/ )
       
   310     {
       
   311 
       
   312     // Print to UI
       
   313     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   314     _LIT( KHuiUtil, "In TestHuiUtilFreeMemory" );
       
   315     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   316     // Print to log file
       
   317     iLog->Log( KHuiUtil );
       
   318 
       
   319     HuiUtil::FreeMemory();
       
   320 
       
   321     return KErrNone;
       
   322     }
       
   323 
       
   324 // -----------------------------------------------------------------------------
       
   325 // CTestUiAifCoreToolkit::TestHuiUtilScreenSize
       
   326 // -----------------------------------------------------------------------------
       
   327 //
       
   328 TInt CTestUiAifCoreToolkit::TestHuiUtilScreenSize( CStifItemParser& /*aItem*/ )
       
   329     {
       
   330 
       
   331     // Print to UI
       
   332     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   333     _LIT( KHuiUtil, "In TestHuiUtilScreenSize" );
       
   334     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   335     // Print to log file
       
   336     iLog->Log( KHuiUtil );
       
   337 
       
   338     HuiUtil::ScreenSize();
       
   339 
       
   340     return KErrNone;
       
   341     }
       
   342 
       
   343 // -----------------------------------------------------------------------------
       
   344 // CTestUiAifCoreToolkit::TestHuiUtilLengthUnit
       
   345 // -----------------------------------------------------------------------------
       
   346 //
       
   347 TInt CTestUiAifCoreToolkit::TestHuiUtilLengthUnit( CStifItemParser& /*aItem*/ )
       
   348     {
       
   349 
       
   350     // Print to UI
       
   351     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   352     _LIT( KHuiUtil, "In TestHuiUtilLengthUnit" );
       
   353     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   354     // Print to log file
       
   355     iLog->Log( KHuiUtil );
       
   356 
       
   357     HuiUtil::LengthUnit();
       
   358 
       
   359     return KErrNone;
       
   360     }
       
   361 
       
   362 // -----------------------------------------------------------------------------
       
   363 // CTestUiAifCoreToolkit::TestHuiUtilColorLightness
       
   364 // -----------------------------------------------------------------------------
       
   365 //
       
   366 TInt CTestUiAifCoreToolkit::TestHuiUtilColorLightness( CStifItemParser& /*aItem*/ )
       
   367     {
       
   368 
       
   369     // Print to UI
       
   370     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   371     _LIT( KHuiUtil, "In TestHuiUtilColorLightness" );
       
   372     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   373     // Print to log file
       
   374     iLog->Log( KHuiUtil );
       
   375 
       
   376     HuiUtil::ColorLightness( KRgbBlack );
       
   377 
       
   378     return KErrNone;
       
   379     }
       
   380 
       
   381 // -----------------------------------------------------------------------------
       
   382 // CTestUiAifCoreToolkit::TestHuiUtilScaleFbsBitmapL
       
   383 // -----------------------------------------------------------------------------
       
   384 //
       
   385 TInt CTestUiAifCoreToolkit::TestHuiUtilScaleFbsBitmapL( CStifItemParser& /*aItem*/ )
       
   386     {
       
   387 
       
   388     // Print to UI
       
   389     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   390     _LIT( KHuiUtil, "In TestHuiUtilScaleFbsBitmapL" );
       
   391     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   392     // Print to log file
       
   393     iLog->Log( KHuiUtil );
       
   394 
       
   395     CFbsBitmap *srcBmp = new ( ELeave ) CFbsBitmap();
       
   396     CleanupStack::PushL( srcBmp );
       
   397     TSize size( 256, 256 );
       
   398     User::LeaveIfError( srcBmp->Create( size, EColor16M ) );
       
   399     CFbsBitmap *scaledBmp = new ( ELeave ) CFbsBitmap();
       
   400     CleanupStack::PushL( scaledBmp );
       
   401     User::LeaveIfError( scaledBmp->Create( size, EColor16MA ) );
       
   402     HuiUtil::ScaleFbsBitmapL( *srcBmp, *scaledBmp );
       
   403     CleanupStack::PopAndDestroy( scaledBmp );
       
   404     CleanupStack::PopAndDestroy( srcBmp );
       
   405 
       
   406     return KErrNone;
       
   407     }
       
   408 
       
   409 // -----------------------------------------------------------------------------
       
   410 // CTestUiAifCoreToolkit::TestHuiUtilCombineMaskFbsBitmapL
       
   411 // -----------------------------------------------------------------------------
       
   412 //
       
   413 TInt CTestUiAifCoreToolkit::TestHuiUtilCombineMaskFbsBitmapL( CStifItemParser& /*aItem*/ )
       
   414     {
       
   415 
       
   416     // Print to UI
       
   417     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   418     _LIT( KHuiUtil, "In TestHuiUtilCombineMaskFbsBitmapL" );
       
   419     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   420     // Print to log file
       
   421     iLog->Log( KHuiUtil );
       
   422 
       
   423     CFbsBitmap *srcBmp = new ( ELeave ) CFbsBitmap();
       
   424     CleanupStack::PushL( srcBmp );
       
   425     TSize size( 10, 10 );
       
   426     User::LeaveIfError( srcBmp->Create( size, EColor16M ) );
       
   427     CFbsBitmap *srcMaskBmp = new ( ELeave ) CFbsBitmap();
       
   428     CleanupStack::PushL( srcMaskBmp );
       
   429     User::LeaveIfError( srcMaskBmp->Create( size, EGray2 ) );
       
   430     CFbsBitmap *combinedBmp = new ( ELeave ) CFbsBitmap;
       
   431     CleanupStack::PushL( combinedBmp );
       
   432     User::LeaveIfError( combinedBmp->Create( size, EColor16MA ) );
       
   433 
       
   434     HuiUtil::CombineMaskFbsBitmapL( *srcBmp, *srcMaskBmp, *combinedBmp );
       
   435     CleanupStack::PopAndDestroy( combinedBmp );
       
   436     CleanupStack::PopAndDestroy( srcMaskBmp );
       
   437     CleanupStack::PopAndDestroy( srcBmp );
       
   438 
       
   439     return KErrNone;
       
   440     }
       
   441 
       
   442 // -----------------------------------------------------------------------------
       
   443 // CTestUiAifCoreToolkit::TestHuiUtilCropFbsBitmapL
       
   444 // -----------------------------------------------------------------------------
       
   445 //
       
   446 TInt CTestUiAifCoreToolkit::TestHuiUtilCropFbsBitmapL( CStifItemParser& /*aItem*/ )
       
   447     {
       
   448 
       
   449     // Print to UI
       
   450     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   451     _LIT( KHuiUtil, "In TestHuiUtilCropFbsBitmapL" );
       
   452     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   453     // Print to log file
       
   454     iLog->Log( KHuiUtil );
       
   455 
       
   456     CFbsBitmap *srcBmp = new ( ELeave ) CFbsBitmap();
       
   457     CleanupStack::PushL( srcBmp );
       
   458     TSize size( 10, 10 );
       
   459     User::LeaveIfError( srcBmp->Create( size, EColor16M ) );
       
   460     CFbsBitmap *cropedBmp = new ( ELeave ) CFbsBitmap();
       
   461     CleanupStack::PushL( cropedBmp );
       
   462     User::LeaveIfError( cropedBmp->Create( size, EGray2 ) );
       
   463     TPoint cropPos;
       
   464     HuiUtil::CropFbsBitmapL( *srcBmp, *cropedBmp, cropPos );
       
   465     CleanupStack::PopAndDestroy( cropedBmp );
       
   466     CleanupStack::PopAndDestroy( srcBmp );
       
   467 
       
   468     return KErrNone;
       
   469     }
       
   470 
       
   471 // -----------------------------------------------------------------------------
       
   472 // CTestUiAifCoreToolkit::TestHuiUtilScaleImageL
       
   473 // -----------------------------------------------------------------------------
       
   474 //
       
   475 TInt CTestUiAifCoreToolkit::TestHuiUtilScaleImageL( CStifItemParser& /*aItem*/ )
       
   476     {
       
   477 
       
   478     // Print to UI
       
   479     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   480     _LIT( KHuiUtil, "In TestHuiUtilScaleImageL" );
       
   481     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   482     // Print to log file
       
   483     iLog->Log( KHuiUtil );
       
   484 
       
   485     TUint8* sourceimage = 0;
       
   486     THuiTextureFormat aFormat = EHuiTextureFormatRgba8888;
       
   487     TInt imageSize = 4 * 320 * 300;
       
   488     sourceimage = new (ELeave) TUint8[imageSize];
       
   489     CleanupStack::PushL(sourceimage);
       
   490     // fill with
       
   491     for (TInt t=0; t<imageSize;) {
       
   492         sourceimage[t++] = 16; // red
       
   493         sourceimage[t++] = 24; // green
       
   494         sourceimage[t++] = 32; // blue
       
   495         sourceimage[t++] = 255; // alpha
       
   496     }
       
   497     STIF_ASSERT_TRUE( sourceimage != NULL );
       
   498     STIF_ASSERT_TRUE( sourceimage[0] == 16 );
       
   499     STIF_ASSERT_TRUE( sourceimage[imageSize-1] == 255 );
       
   500 
       
   501     // try to allocate dummy image buffer for 320x300 image
       
   502     TUint8* targetimage = 0;
       
   503     targetimage = new (ELeave) TUint8[4*16*16];
       
   504     CleanupStack::PushL(targetimage);
       
   505     // fill with zero pixels
       
   506     for (TInt t=0; t<4*16*16; t++) targetimage[t] = 0;
       
   507 
       
   508     HuiUtil::ScaleImage((aFormat == EHuiTextureFormatRgb888 ? 3 : 4),
       
   509                          TSize(320,200),
       
   510                          sourceimage,
       
   511                          TSize(16,16),
       
   512                          targetimage);
       
   513 
       
   514     // assert that we got correct pixel data to the bottom-right cornder
       
   515     STIF_ASSERT_TRUE( targetimage[15*16*4 + 0] == 16 );
       
   516     STIF_ASSERT_TRUE( targetimage[15*16*4 + 1] == 24 );
       
   517     STIF_ASSERT_TRUE( targetimage[15*16*4 + 2] == 32 );
       
   518     STIF_ASSERT_TRUE( targetimage[15*16*4 + 3] == 255 );
       
   519 
       
   520     return KErrNone;
       
   521     }
       
   522 
       
   523 // -----------------------------------------------------------------------------
       
   524 // CTestUiAifCoreToolkit::TestHuiUtilCropImageL
       
   525 // -----------------------------------------------------------------------------
       
   526 //
       
   527 TInt CTestUiAifCoreToolkit::TestHuiUtilCropImageL( CStifItemParser& /*aItem*/ )
       
   528     {
       
   529 
       
   530     // Print to UI
       
   531     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   532     _LIT( KHuiUtil, "In TestHuiUtilCropImageL" );
       
   533     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   534     // Print to log file
       
   535     iLog->Log( KHuiUtil );
       
   536 
       
   537     TUint8 value;
       
   538     // try to allocate dummy image buffer for 320x300 image
       
   539     TUint8* sourceimage = 0;
       
   540     TInt imageSize = 4 * 160 * 100;
       
   541     sourceimage = new (ELeave) TUint8[imageSize];
       
   542     STIF_ASSERT_TRUE( sourceimage != NULL );
       
   543     CleanupStack::PushL(sourceimage);
       
   544     // fill with
       
   545     TInt t;
       
   546     for (t=0; t<imageSize;) {
       
   547         // fill the target crop area a bit differently
       
   548         if ((t>=16*160*4) && (t<=32*160*4))
       
   549             {
       
   550             sourceimage[t++] = 16; // red
       
   551             sourceimage[t++] = 24; // green
       
   552             sourceimage[t++] = 32; // blue
       
   553             sourceimage[t++] = 255; // alpha
       
   554             }
       
   555         else
       
   556             {
       
   557             sourceimage[t++] = 1; // red
       
   558             sourceimage[t++] = 1; // green
       
   559             sourceimage[t++] = 1; // blue
       
   560             sourceimage[t++] = 1; // alpha
       
   561             }
       
   562     }
       
   563     STIF_ASSERT_TRUE( sourceimage != NULL );
       
   564     STIF_ASSERT_TRUE( sourceimage[0] == 1 );
       
   565 
       
   566     // try to allocate dummy image buffer for 320x300 image
       
   567     TUint8* targetimage = 0;
       
   568     imageSize = 4*16*16;
       
   569     targetimage = new (ELeave) TUint8[imageSize];
       
   570     STIF_ASSERT_TRUE( targetimage != NULL );
       
   571     CleanupStack::PushL(targetimage);
       
   572     // fill with zero pixels
       
   573     for (t=0; t<4*16*16; t++)
       
   574         {
       
   575         targetimage[t] = 0;
       
   576         }
       
   577 
       
   578     value = targetimage[0];
       
   579     STIF_ASSERT_TRUE( value == 0 );
       
   580 
       
   581     HuiUtil::CropImage(4,
       
   582                          TSize(160,100),
       
   583                          sourceimage,
       
   584                          TPoint(0,16),
       
   585                          TSize(16,16),
       
   586                          targetimage);
       
   587 
       
   588     // assert that we got correct pixel data
       
   589     value = targetimage[0];
       
   590     STIF_ASSERT_TRUE( value == 16 );
       
   591     value = targetimage[1];
       
   592     STIF_ASSERT_TRUE( value == 24 );
       
   593     value = targetimage[2];
       
   594     STIF_ASSERT_TRUE( value == 32 );
       
   595     value = targetimage[3];
       
   596     STIF_ASSERT_TRUE( value == 255 );
       
   597     value = targetimage[15*16*4 + 0];
       
   598     STIF_ASSERT_TRUE( value == 16 );
       
   599     STIF_ASSERT_TRUE( targetimage[15*16*4 + 1] == 24 );
       
   600     STIF_ASSERT_TRUE( targetimage[15*16*4 + 2] == 32 );
       
   601     STIF_ASSERT_TRUE( targetimage[15*16*4 + 3] == 255 );
       
   602 
       
   603     return KErrNone;
       
   604     }
       
   605 
       
   606 // -----------------------------------------------------------------------------
       
   607 // CTestUiAifCoreToolkit::TestHuiUtilTagMatches
       
   608 // -----------------------------------------------------------------------------
       
   609 //
       
   610 TInt CTestUiAifCoreToolkit::TestHuiUtilTagMatches( CStifItemParser& /*aItem*/ )
       
   611     {
       
   612 
       
   613     // Print to UI
       
   614     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   615     _LIT( KHuiUtil, "In TestHuiUtilTagMatches" );
       
   616     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   617     // Print to log file
       
   618     iLog->Log( KHuiUtil );
       
   619 
       
   620     _LIT8( KTagTxt, "Caption" );
       
   621     _LIT8( KTagsColonSeparatedTxt, "Test:Caption" );
       
   622     HuiUtil::TagMatches( KTagsColonSeparatedTxt, KTagTxt );
       
   623 
       
   624     return KErrNone;
       
   625     }
       
   626 
       
   627 // -----------------------------------------------------------------------------
       
   628 // CTestUiAifCoreToolkit::TestHuiUtilConvertBitmapToDisplayModeLCL
       
   629 // -----------------------------------------------------------------------------
       
   630 //
       
   631 TInt CTestUiAifCoreToolkit::TestHuiUtilConvertBitmapToDisplayModeLCL( CStifItemParser& /*aItem*/ )
       
   632     {
       
   633 
       
   634     // Print to UI
       
   635     _LIT( KTestuiaifcoretoolkit, "testuiaifcoretoolkit" );
       
   636     _LIT( KHuiUtil, "In TestHuiUtilConvertBitmapToDisplayModeLCL" );
       
   637     TestModuleIf().Printf( 0, KTestuiaifcoretoolkit, KHuiUtil );
       
   638     // Print to log file
       
   639     iLog->Log( KHuiUtil );
       
   640 
       
   641     CFbsBitmap *srcBmp = new ( ELeave ) CFbsBitmap();
       
   642     CleanupStack::PushL( srcBmp );
       
   643     TSize size( 10, 10 );
       
   644     User::LeaveIfError( srcBmp->Create( size, EColor16M ) );
       
   645     CFbsBitmap* desBmp = HuiUtil::ConvertBitmapToDisplayModeLC( *srcBmp, EGray2 );
       
   646     CleanupStack::PopAndDestroy( desBmp );
       
   647     CleanupStack::PopAndDestroy( srcBmp );
       
   648 
       
   649     return KErrNone;
       
   650     }