diff -r 000000000000 -r 2f259fa3e83a classicui_pub/images_api/tsrc/src/testsdkimagesblocks.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/classicui_pub/images_api/tsrc/src/testsdkimagesblocks.cpp Tue Feb 02 01:00:49 2010 +0200 @@ -0,0 +1,489 @@ +/* +* Copyright (c) 2002 - 2007 Nokia Corporation and/or its subsidiary(-ies). +* All rights reserved. +* This component and the accompanying materials are made available +* under the terms of "Eclipse Public License v1.0" +* which accompanies this distribution, and is available +* at the URL "http://www.eclipse.org/legal/epl-v10.html". +* +* Initial Contributors: +* Nokia Corporation - initial contribution. +* +* Contributors: +* +* Description: Test eikimage.h +* +*/ + + + +/* + * [INCLUDE FILES] + */ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "testsdkimages.h" + +/* + * Descriptor declare + * */ +_LIT(KMbmFile,"\\resource\\apps\\avkon2.mbm"); + +/** + * Class CTestImage inherit from CEikImage for test + * CEikImage class's protected function + */ +class CTestImage:public CEikImage + { + /** + * public function + */ +public: + /** + * construction + */ + CTestImage() + { + + } + /** + * destructor + * */ + ~CTestImage() + { + + } + /** + * This function is CEikImage's protected function, + * It inherit from CEikImage class + */ + void DoWriteInternalStateL( RWriteStream& aWriteStream ) + { + WriteInternalStateL( aWriteStream ); + } + }; +// ============================ MEMBER FUNCTIONS =============================== + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::Delete +// Delete here all resources allocated and opened from test methods. +// Called from destructor. +// ----------------------------------------------------------------------------- +// +void CTestSDKIMAGES::Delete() + { + + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::RunMethodL +// Run specified method. Contains also table of test mothods and their names. +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::RunMethodL( + CStifItemParser& aItem ) + { + + static TStifFunctionInfo const KFunctions[] = + { + ENTRY( "TestIMAGESConstructorL", CTestSDKIMAGES::TestIMAGESConstructorL ), + ENTRY( "TestIMAGESDestructorL", CTestSDKIMAGES::TestIMAGESDestructorL ), + ENTRY( "TestIMAGESMinimumSizeL", CTestSDKIMAGES::TestIMAGESMinimumSizeL ), + ENTRY( "TestIMAGESConstructFromResourceL", CTestSDKIMAGES::TestIMAGESConstructFromResourceL ), + ENTRY( "TestIMAGESCreatePictureFromFileL", CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL ), + ENTRY( "TestIMAGESSetPictureL", CTestSDKIMAGES::TestIMAGESSetPictureL ), + ENTRY( "TestIMAGESSetEmphasisL", CTestSDKIMAGES::TestIMAGESSetEmphasisL ), + ENTRY( "TestIMAGESSetPictureOwnedExternallyL", CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL ), + ENTRY( "TestIMAGESBitmapL", CTestSDKIMAGES::TestIMAGESBitmapL ), + ENTRY( "TestIMAGESMaskL", CTestSDKIMAGES::TestIMAGESMaskL ), + ENTRY( "TestIMAGESSetBitmapL", CTestSDKIMAGES::TestIMAGESSetBitmapL ), + ENTRY( "TestIMAGESSetMaskL", CTestSDKIMAGES::TestIMAGESSetMaskL ), + ENTRY( "TestIMAGESSetNewBitmapsL", CTestSDKIMAGES::TestIMAGESSetNewBitmapsL ), + ENTRY( "TestIMAGESIsPictureOwnedExternallyL", CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL ), + ENTRY( "TestIMAGESSetBrushStyleL", CTestSDKIMAGES::TestIMAGESSetBrushStyleL ), + ENTRY( "TestIMAGESHandlePointerEventL", CTestSDKIMAGES::TestIMAGESHandlePointerEventL ), + ENTRY( "TestIMAGESWriteInternalStateL", CTestSDKIMAGES::TestIMAGESWriteInternalStateL ), + + }; + + const TInt count = sizeof( KFunctions ) / sizeof( TStifFunctionInfo ); + + return RunInternalL( KFunctions, count, aItem ); + + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESConstructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESConstructorL( CStifItemParser& /*aItem*/ ) + { + CEikImage *sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + STIF_ASSERT_NOT_NULL( sampleimage ); + CleanupStack::PopAndDestroy( sampleimage ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESDestructorL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESDestructorL( CStifItemParser& /*aItem*/ ) + { + CEikImage *sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + CleanupStack::Pop( sampleimage ); + delete sampleimage; + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESMinimumSizeL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESMinimumSizeL( CStifItemParser& /*aItem*/ ) + { + CEikImage *sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + TSize sizezero( 0, 0 ); + TSize returnsize; + returnsize = sampleimage->MinimumSize(); + STIF_ASSERT_EQUALS( sizezero, returnsize ); + + TFileName file( KMbmFile ); + User::LeaveIfError( CompleteWithAppPath( file ) ); + CFbsBitmap* main = NULL; + CFbsBitmap* mask = NULL; + AknIconUtils::CreateIconL( main, mask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( mask ); + + sampleimage->SetBitmap( main ); + returnsize = sizezero; + returnsize = sampleimage->MinimumSize(); + STIF_ASSERT_NOT_EQUALS( &sizezero, &returnsize ); + + CleanupStack::PopAndDestroy( mask ); + CleanupStack::PopAndDestroy( sampleimage ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESConstructFromResourceL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESConstructFromResourceL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + TResourceReader reader; + CCoeEnv::Static()->CreateResourceReaderLC( reader, R_IMAGE ); + sampleimage->ConstructFromResourceL( reader ); + CleanupStack::PopAndDestroy(); + + const CFbsBitmap* returnbitmap( NULL ); + const CFbsBitmap* returnbitmapmask( NULL ); + returnbitmap = sampleimage->Bitmap(); + returnbitmapmask = sampleimage->Mask(); + STIF_ASSERT_NOT_NULL( returnbitmap ); + STIF_ASSERT_NOT_NULL( returnbitmapmask ); + + CleanupStack::PopAndDestroy( sampleimage ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESCreatePictureFromFileL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + sampleimage->CreatePictureFromFileL( KMbmFile, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + + const CFbsBitmap* returnbitmap( NULL ); + const CFbsBitmap* returnbitmapmask( NULL ); + returnbitmap = sampleimage->Bitmap(); + returnbitmapmask = sampleimage->Mask(); + STIF_ASSERT_NOT_NULL( returnbitmap ); + STIF_ASSERT_NOT_NULL( returnbitmapmask ); + + returnbitmap = NULL; + sampleimage->CreatePictureFromFileL( KMbmFile, EMbmAvkonQgn_indi_mic_mask ); + returnbitmap = sampleimage->Bitmap(); + STIF_ASSERT_NOT_NULL( returnbitmap ); + + CleanupStack::PopAndDestroy( sampleimage ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetPictureL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetPictureL( CStifItemParser& /*aItem*/ ) + { + TFileName file( KMbmFile ); + User::LeaveIfError( CompleteWithAppPath( file )); + + CFbsBitmap* bitmap = NULL; + CFbsBitmap* bitmapmask = NULL; + AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + + CEikImage* sampleimage = new ( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + sampleimage->SetPicture( bitmap, bitmapmask ); + + const CFbsBitmap* returnbitmap; + const CFbsBitmap* returnbitmapmask; + returnbitmap = sampleimage->Bitmap(); + returnbitmapmask = sampleimage->Mask(); + STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap ); + STIF_ASSERT_EQUALS( bitmapmask, CONST_CAST(CFbsBitmap*,returnbitmapmask ) ); + + returnbitmap = NULL; + returnbitmapmask = NULL; + sampleimage->SetPicture( bitmap, bitmap ); + + returnbitmap = sampleimage->Bitmap(); + returnbitmapmask = sampleimage->Mask(); + STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap ); + STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmapmask ); + STIF_ASSERT_EQUALS( returnbitmap, returnbitmapmask ); + + CleanupStack::Pop( sampleimage ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetEmphasisL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetEmphasisL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + TBool value( ETrue ); + sampleimage->SetEmphasis( value ); + value = EFalse; + sampleimage->SetEmphasis( value ); + CleanupStack::PopAndDestroy( sampleimage ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetPictureOwnedExternallyL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + TBool value( ETrue ); + sampleimage->SetPictureOwnedExternally( value ); + value = EFalse; + sampleimage->SetPictureOwnedExternally( value ); + CleanupStack::PopAndDestroy( sampleimage ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESBitmapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESBitmapL( CStifItemParser& aItem ) + { + TInt err( KErrNone ); + err = TestIMAGESSetBitmapL( aItem ); + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESMaskL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESMaskL( CStifItemParser& aItem ) + { + TInt err( KErrNone ); + err = TestIMAGESSetNewBitmapsL( aItem ); + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetBitmapL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetBitmapL( CStifItemParser& /*aItem*/ ) + { + TFileName file( KMbmFile ); + User::LeaveIfError( CompleteWithAppPath( file ) ); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* bitmapmask = NULL; + AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( bitmap ); + CleanupStack::PushL( bitmapmask ); + + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + + sampleimage->SetBitmap( bitmap ); + const CFbsBitmap* returnbitmap; + returnbitmap = sampleimage->Bitmap(); + STIF_ASSERT_EQUALS( bitmap, (CFbsBitmap*)returnbitmap ); + + + CFbsBitmap* newbitmap = NULL; + CFbsBitmap* newbitmapmask = NULL; + AknIconUtils::CreateIconL( newbitmap, newbitmapmask, file, + EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( newbitmap ); + CleanupStack::PushL( newbitmapmask ); + sampleimage->SetNewBitmaps( newbitmap, newbitmapmask ); + CleanupStack::Pop( newbitmapmask ); + CleanupStack::Pop( newbitmap ); + + CleanupStack::PopAndDestroy( sampleimage ); + CleanupStack::PopAndDestroy( bitmapmask ); + CleanupStack::Pop( bitmap ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetMaskL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetMaskL( CStifItemParser& /*aItem*/ ) + { + TFileName file( KMbmFile ); + User::LeaveIfError( CompleteWithAppPath( file ) ); + CFbsBitmap* bitmap = NULL; + CFbsBitmap* bitmapmask = NULL; + AknIconUtils::CreateIconL( bitmap, bitmapmask, file, EMbmAvkonQgn_indi_mic, EMbmAvkonQgn_indi_mic_mask ); + CleanupStack::PushL( bitmap ); + + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + + sampleimage->SetMask( bitmapmask ); + const CFbsBitmap* returnbitmap; + returnbitmap = sampleimage->Mask(); + STIF_ASSERT_EQUALS( bitmapmask, (CFbsBitmap*)returnbitmap ); + + CleanupStack::PopAndDestroy( sampleimage ); + CleanupStack::Pop( bitmap ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetNewBitmapsL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetNewBitmapsL( CStifItemParser& aItem ) + { + TInt err(KErrNone); + err = TestIMAGESSetPictureL( aItem ); + + return err; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESIsPictureOwnedExternallyL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + sampleimage->SetEmphasis( ETrue ); + TBool flag( ETrue ); + flag = sampleimage->IsPictureOwnedExternally(); + STIF_ASSERT_FALSE( flag ); + sampleimage->SetPictureOwnedExternally( ETrue ); + flag = sampleimage->IsPictureOwnedExternally(); + STIF_ASSERT_TRUE( flag ); + CleanupStack::PopAndDestroy( sampleimage ); + + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetBrushStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESSetBrushStyleL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + sampleimage->SetBrushStyle( CGraphicsContext::ESolidBrush ); + + CleanupStack::PopAndDestroy( sampleimage ); + return KErrNone; + } + +TInt CTestSDKIMAGES::TestIMAGESHandlePointerEventL( CStifItemParser& /*aItem*/ ) + { + CEikImage* sampleimage = new( ELeave ) CEikImage; + CleanupStack::PushL( sampleimage ); + + TPointerEvent event; + event.iType = TPointerEvent::EButton1Down; + event.iModifiers = 0; + TPoint eventPos( 10, 30 ); + event.iPosition = eventPos; + event.iParentPosition = eventPos; + TInt err = KErrNone; + TRAP( err, sampleimage->HandlePointerEventL( event ) ); + + CleanupStack::PopAndDestroy( sampleimage ); + return KErrNone; + } + +// ----------------------------------------------------------------------------- +// CTestSDKIMAGES::TestIMAGESSetBrushStyleL +// ----------------------------------------------------------------------------- +// +TInt CTestSDKIMAGES::TestIMAGESWriteInternalStateL( CStifItemParser& /*aItem*/ ) + { + CTestImage* testimage = new( ELeave ) CTestImage; + CleanupStack::PushL( testimage ); + const TInt KHBufSize = 4096; + HBufC8* buf = HBufC8::NewL( KHBufSize ); + CleanupStack::PushL( buf ); + TPtr8 ptr = buf->Des(); + RDesWriteStream stream; + CleanupClosePushL( stream ); + stream.Open( ptr ); + testimage->DoWriteInternalStateL( stream ); + stream.CommitL(); + stream.Close(); + CleanupStack::PopAndDestroy( 3 );//testimage, buf, stream + + return KErrNone; + } + +//End file + + +