--- /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 <e32svr.h>
+#include <stifparser.h>
+#include <stiftestinterface.h>
+#include <eikimage.h>
+#include <avkon.mbg>
+#include <aknutils.h>
+#include <fbs.h>
+#include <w32std.h>
+#include <testsdkimages.rsg>
+#include <barsread.h>
+#include <s32std.h>
+#include <s32mem.h>
+#include <s32file.h>
+#include <bautils.h>
+#include <f32file.h>
+#include <akniconutils.h>
+
+#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
+
+
+