windowing/windowserver/test/tauto/TRECTLIST.CPP
changeset 110 7f25ef56562d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/test/tauto/TRECTLIST.CPP	Wed Jun 23 19:41:15 2010 +0300
@@ -0,0 +1,136 @@
+// Copyright (c) 1996-2009 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:
+// Generate a list of rectangles to be used as parameters for graphics tests
+// 
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code
+*/
+
+
+#include "TRECTLIST.H"
+
+CTRectList::CTRectList(CTestStep* aStep) : CTWsGraphicsBase(aStep)
+	{
+	}
+
+CTRectList::~CTRectList()
+	{
+	}
+
+void CTRectList::ConstructL()
+	{
+	TheGc->Activate(*BaseWin->Win());
+	TheGc->SetBrushColor(TRgb::Gray16(14));
+	TheGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
+	TheGc->SetPenStyle(CGraphicsContext::ENullPen);
+	TheGc->DrawRect(TRect(BaseWin->Win()->Size()));
+	TInt scale=16;
+	TSize size(TestWin->Size());
+	TSize scaleSize(size.iWidth/scale,size.iHeight/scale);
+	iOffset1=TPoint((size.iWidth-scaleSize.iWidth)/2,(size.iWidth-scaleSize.iHeight)/2);
+	TheGc->DrawRect(TRect(iOffset1,scaleSize));
+	TheGc->Deactivate();
+//
+	TheGc->Activate(*TestWin->Win());
+	TheGc->SetBrushColor(TRgb::Gray16(15));
+	TheGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
+	TheGc->SetPenStyle(CGraphicsContext::ENullPen);
+	TheGc->DrawRect(TRect(TestWin->Win()->Size()));
+	{
+	TInt scale=1;
+	TSize size(TestWin->Size());
+	TSize scaleSize(size.iWidth/scale,size.iHeight/scale);
+	iOffset2=TPoint((size.iWidth-scaleSize.iWidth)/2,(size.iWidth-scaleSize.iHeight)/2);
+	TheGc->DrawRect(TRect(iOffset2,scaleSize));
+	TheGc->Deactivate();
+	}
+	}
+	
+void CTRectList::RunTestCaseL(TInt /*aCurTestCase*/)
+	{	
+	((CTRectListStep*)iStep)->SetTestStepID(KUnknownSYMTestCaseIDName);
+	switch(++iTest->iState)
+		{
+	/**
+@SYMTestCaseID		GRAPHICS-WSERV-0028
+
+@@SYMDEF            DEF081259
+
+@SYMTestCaseDesc    Draw rectangles from a list in two different positions
+					on the screen
+
+@SYMTestPriority    High
+
+@SYMTestStatus      Implemented
+
+@SYMTestActions     Draw a list of rectangles to the screen 
+
+@SYMTestExpectedResults Rectangles are drawn without error
+*/
+	case 1:
+		((CTRectListStep*)iStep)->SetTestStepID(_L("GRAPHICS-WSERV-0028"));
+		iTest->LogSubTest(_L("RectListCheck"));	
+			{
+			TheGc->Activate(*BaseWin->Win());
+			TheGc->SetPenColor(TRgb::Gray16(7));
+			TInt scale=16;
+			for(TInt index=0;index<iTest->iTestRects.Count3();index++)
+				{
+				TRect rect=iTest->iTestRects[index];
+				rect.iTl.iX/=scale;
+				rect.iTl.iY/=scale;
+				rect.iBr.iX/=scale;
+				rect.iBr.iY/=scale;
+				rect.Move(iOffset1);
+				TheGc->DrawRect(rect);
+				}
+			TheGc->Deactivate();
+			}
+			{
+			TheGc->Activate(*TestWin->Win());
+			TheGc->SetPenColor(TRgb::Gray16(7));
+			TInt scale=1;
+			for(TInt index=0;index<iTest->iTestRects.Count3();index++)
+				{
+				TRect rect=iTest->iTestRects[index];
+				rect.iTl.iX/=scale;
+				rect.iTl.iY/=scale;
+				rect.iBr.iX/=scale;
+				rect.iBr.iY/=scale;
+				rect.Move(iOffset2);
+				TheGc->DrawRect(rect);
+				}
+			TheClient->iWs.Flush();
+			TheGc->Deactivate();
+			}
+			TEST(ETrue);
+			break;
+	case 2:
+		((CTRectListStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
+		iTest->LogSubTest(_L("Panic"));
+		break;
+	case 3:
+		((CTRectListStep*)iStep)->SetTestStepID(KNotATestSYMTestCaseIDName);
+		((CTRectListStep*)iStep)->CloseTMSGraphicsStep();
+		TestComplete();
+		break;
+		}
+	((CTRectListStep*)iStep)->RecordTestResultL();
+	}
+
+__WS_CONSTRUCT_STEP__(RectList)