--- a/windowing/windowserver/ttime/TTGRAPH.CPP Tue Jun 22 15:21:29 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,443 +0,0 @@
-// 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:
-// used for timing graphics
-//
-//
-
-#include "TTIME.H"
-
-#define TEST_BITMAP_NAME _L("Z:\\WSTEST\\TEST.MBM")
-
-GLREF_C void Panic(TInt aPanic);
-
-enum TFuncType
- {
- EBitmapTest,
- EXorTest,
- ESmallClearTest,
- ERectCompareTest,
- EUseFontTest,
- EBitBltTest,
- EFullScreenBitBltTest,
- EMaskedBitBltTest,
- EFillPatternTest,
- EBackupWindowDrawingTest,
- };
-
-class TGraphicsTest : public CBase
- {
-public:
- void DoTestL(TInt aOwningGroup, TFuncType aFunc, TInt aParam1, TAny *aParam2);
- void DrawBitmapTestL(TInt aParam1, TAny *aParam2);
- void XorTest(TInt aParam1, TAny *aParam2);
- void SmallClearTest(TInt , TAny *);
- void RectCompareTest(TInt , TAny *);
- void UseFontTestL(TInt , TAny *);
- void BitBltTestL(TInt , TAny *);
- void FullScreenBitBltTestL(TInt , TAny *);
- void MaskedBitBltTestL(TInt , TAny *);
- void FillPatternTestL(TInt , TAny *);
- void BackedUpWindowDrawingL(TInt aMode, TAny *);
-private:
- RWsSession iWs;
- CWsScreenDevice *iDevice;
- RWindowGroup iGroup;
- RWindow iWindow;
- RBackedUpWindow iBackedUpWindow;
- RDrawableWindow *iWindowPtr;
- CWindowGc *iGc;
- };
-
-TInt CreateGraphicsTest(TInt aOwningGroup, TFuncType aFunc, TInt aParam1, TAny *aParam2)
- {
- TGraphicsTest *iTest=NULL;
- TRAPD(err,iTest=new(ELeave) TGraphicsTest());
- if (err==KErrNone)
- {
- TRAP(err,iTest->DoTestL(aOwningGroup, aFunc, aParam1, aParam2));
- delete iTest;
- }
- return(err);
- }
-
-void TGraphicsTest::DoTestL(TInt aOwningGroup, TFuncType aFunc, TInt aParam1, TAny *aParam2)
- {
- iWs.Connect();
- iDevice=new(ELeave) CWsScreenDevice(iWs);
- iDevice->Construct();
- iGroup=RWindowGroup(iWs);
- iGroup.Construct(ENullWsHandle);
- iGroup.SetOwningWindowGroup(aOwningGroup);
-//
- if (aFunc==EBackupWindowDrawingTest)
- {
- iBackedUpWindow=RBackedUpWindow(iWs);
- iWindowPtr=&iBackedUpWindow;
- iBackedUpWindow.Construct(iGroup,EGray4,ENullWsHandle);
- }
- else
- {
- iWindow=RWindow(iWs);
- iWindowPtr=&iWindow;
- iWindow.Construct(iGroup,ENullWsHandle);
- }
- User::LeaveIfError(iWindowPtr->SetExtentErr(TPoint(), iDevice->SizeInPixels()));
- iWindowPtr->Activate();
- //
- iDevice->CreateContext(iGc);
- iGc->Activate(*iWindowPtr);
- if (iWindowPtr==&iWindow)
- {
- iWindow.BeginRedraw();
- iGc->Clear();
- iWindow.EndRedraw();
- }
- switch(aFunc)
- {
- case EBitmapTest:
- DrawBitmapTestL(aParam1, aParam2);
- break;
- case EXorTest:
- XorTest(aParam1, aParam2);
- break;
- case ESmallClearTest:
- SmallClearTest(aParam1, aParam2);
- break;
- case ERectCompareTest:
- RectCompareTest(aParam1, aParam2);
- break;
- case EUseFontTest:
- UseFontTestL(aParam1, aParam2);
- break;
- case EBitBltTest:
- BitBltTestL(aParam1, aParam2);
- break;
- case EFullScreenBitBltTest:
- FullScreenBitBltTestL(aParam1, aParam2);
- break;
- case EMaskedBitBltTest:
- MaskedBitBltTestL(aParam1, aParam2);
- break;
- case EFillPatternTest:
- FillPatternTestL(aParam1, aParam2);
- break;
- case EBackupWindowDrawingTest:
- BackedUpWindowDrawingL(aParam1, aParam2);
- break;
- default:;
- }
-//
- delete iGc;
- iWindowPtr->Close();
- iGroup.Close();
- delete iDevice;
- iWs.Close();
- }
-
-// Draw bitmap //
-
-void TGraphicsTest::DrawBitmapTestL(TInt , TAny *)
- {
- CFbsBitmap *bitmap=new(ELeave) CFbsBitmap;
- User::LeaveIfError(bitmap->Load(TEST_BITMAP_NAME,0));
- for(TInt nTimes=0;nTimes<10;nTimes++)
- {
- iGc->Clear();
- TSize size(iDevice->SizeInPixels());
- iGc->DrawBitmap(TRect(-size.iWidth,-size.iHeight,size.iWidth<<1,size.iHeight<<1),bitmap);
- iWs.Flush();
- }
- delete bitmap;
- }
-
-TInt DrawBitmapTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EBitmapTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader DrawBitmapTest={_S("Draw bitmap"),DrawBitmapTestFunc};
-
-// XOR Test //
-
-void TGraphicsTest::XorTest(TInt , TAny *)
- {
- iGc->SetDrawMode(CGraphicsContext::EDrawModeXOR);
- iGc->SetBrushColor(TRgb::Gray256(255));
- iGc->SetPenStyle(CGraphicsContext::ENullPen);
- iGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
- for(TInt count=0;count<10;count++)
- {
- for(TInt wid=1;wid<320;wid+=3)
- {
- iGc->DrawRect(TRect(10,10,10+wid,150));
- // iWs.Flush();
- }
- }
- }
-
-TInt XorIngTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EXorTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader XorIngTest={_S("Xor'ing"),XorIngTestFunc};
-
-// XOR Test //
-
-void TGraphicsTest::SmallClearTest(TInt , TAny *)
- {
- iGc->SetBrushColor(TRgb::Gray256(255));
- iGc->SetPenStyle(CGraphicsContext::ENullPen);
- iGc->SetBrushStyle(CGraphicsContext::ESolidBrush);
- for(TInt count=0;count<500;count++)
- {
- for(TInt wid=1;wid<30;wid++)
- {
- iGc->DrawRect(TRect(1,0,10+wid,100));
-// iWs.Flush();
- }
- }
- }
-
-TInt SmallClearTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, ESmallClearTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader SmallClearTest={_S("Small clear rect"),SmallClearTestFunc};
-
-// XOR Test //
-
-enum {EMaxWidth=100};
-
-void TGraphicsTest::RectCompareTest(TInt , TAny *)
- {
- TSize size(iDevice->SizeInPixels());
- for(TInt count=0;count<10;count++)
- iDevice->RectCompare(TRect(0,0,size.iWidth>>1,size.iHeight),TRect(size.iWidth>>1,0,size.iWidth,size.iHeight));
- }
-
-TInt RectCompareTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, ERectCompareTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader RectCompareTest={_S("RectCompare"),RectCompareTestFunc};
-
-// Use Font //
-
-void TGraphicsTest::UseFontTestL(TInt , TAny *)
- {
- CFbsFont *font;
- TFontSpec fspec(KTestFontTypefaceName,200);
- User::LeaveIfError(iDevice->GetNearestFontToDesignHeightInTwips((CFont *&)font, fspec));
- for(TInt count=0;count<1000;count++)
- iGc->UseFont(font);
- iDevice->ReleaseFont(font);
- }
-
-TInt UseFontTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EUseFontTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader UseFontTest={_S("UseFont(x1000)"),UseFontTestFunc};
-
-// Small BitBlt //
-
-void TGraphicsTest::BitBltTestL(TInt , TAny *)
- {
- CWsBitmap *bitmap=new(ELeave) CWsBitmap(iWs);
- TSize size(25,50);
- bitmap->Create(size,EGray4);
- CFbsDevice *bitmapDevice=CFbsBitmapDevice::NewL(bitmap);
- CFbsBitGc *gc=CFbsBitGc::NewL();
- gc->Activate(bitmapDevice);
- gc->DrawEllipse(TRect(size));
- delete gc;
- delete bitmapDevice;
- for(TInt count=0;count<10;count++)
- {
- iGc->Clear();
- TPoint pos(0,0);
- for(TInt xcount=0;xcount<25;xcount++,pos.iX+=size.iWidth)
- {
- pos.iY=0;
- for(TInt ycount=0;ycount<4;ycount++,pos.iY+=size.iHeight)
- iGc->BitBlt(pos,bitmap);
- }
- }
- delete bitmap;
- }
-
-TInt BitBltTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EBitBltTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader BitBltTest={_S("BitBlt"),BitBltTestFunc};
-
-// Full Screen BitBlt //
-
-void TGraphicsTest::FullScreenBitBltTestL(TInt , TAny *)
- {
- CWsBitmap *bitmap=new(ELeave) CWsBitmap(iWs);
- TSize size(640,240);
- User::LeaveIfError(bitmap->Create(size,EGray4));
- CFbsDevice *bitmapDevice=CFbsBitmapDevice::NewL(bitmap);
- CFbsBitGc *gc=CFbsBitGc::NewL();
- gc->Activate(bitmapDevice);
- for(TInt pos=0;pos<size.iWidth;pos+=8)
- {
- gc->DrawRect(TRect(pos,0,pos+16,size.iHeight));
- iGc->BitBlt(TPoint(0,0),bitmap);
- iWs.Flush();
- }
- delete gc;
- delete bitmapDevice;
- delete bitmap;
- }
-
-TInt FullScreenBitBltTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EFullScreenBitBltTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader FullScreenBitBltTest={_S("FullScreenBitBlt"),FullScreenBitBltTestFunc};
-
-// Masked BitBlt //
-
-void TGraphicsTest::MaskedBitBltTestL(TInt , TAny *)
- {
- TSize size(24,48);
- CWsBitmap *bitmap=new(ELeave) CWsBitmap(iWs);
- bitmap->Create(size,EGray4);
- CFbsDevice *bitmapDevice=CFbsBitmapDevice::NewL(bitmap);
- CFbsBitGc *gc=CFbsBitGc::NewL();
- gc->Activate(bitmapDevice);
- gc->DrawEllipse(TRect(size));
- delete bitmapDevice;
-// Now do the mask
- CWsBitmap *mask=new(ELeave) CWsBitmap(iWs);
- mask->Create(size,EGray4);
- bitmapDevice=CFbsBitmapDevice::NewL(mask);
- gc->Activate(bitmapDevice);
- gc->SetPenColor(TRgb::Gray4(3));
- gc->DrawEllipse(TRect(size));
- delete bitmapDevice;
-//
- delete gc;
- for(TInt count=0;count<10;count++)
- {
- iGc->Clear();
- TPoint pos(0,0);
- for(TInt xcount=0;xcount<25;xcount++,pos.iX+=size.iWidth+1)
- {
- pos.iY=0;
- for(TInt ycount=0;ycount<4;ycount++,pos.iY+=size.iHeight)
- iGc->BitBltMasked(pos,bitmap,TRect(size),mask,EFalse);
- }
- }
- delete bitmap;
- delete mask;
- }
-
-TInt MaskedBitBltTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EMaskedBitBltTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader MaskedBitBltTest={_S("MaskedBitBlt"),MaskedBitBltTestFunc};
-
-// Fill Pattern //
-
-void TGraphicsTest::FillPatternTestL(TInt , TAny *)
- {
- TSize scrSize(iDevice->SizeInPixels());
- TSize rectSize(scrSize.iWidth/5-1,scrSize.iHeight/2);
-
- CWsBitmap *bitmap=new(ELeave) CWsBitmap(iWs);
-
- TSize bitmapSize(50,40);
- bitmap->Create(bitmapSize,EGray4);
- CFbsDevice *bitmapDevice=CFbsBitmapDevice::NewL(bitmap);
- CFbsBitGc *gc=CFbsBitGc::NewL();
- gc->Activate(bitmapDevice);
- gc->SetBrushColor(TRgb::Gray4(2));
- gc->SetBrushStyle(CGraphicsContext::ESolidBrush);
- gc->DrawEllipse(TRect(bitmapSize));
- delete bitmapDevice;
- delete gc;
-//
- iGc->UseBrushPattern(bitmap);
- iGc->SetBrushStyle(CGraphicsContext::EPatternedBrush);
- iGc->SetPenStyle(CGraphicsContext::ESolidPen);
- for(TInt count=0;count<50;count++)
- {
- iGc->Clear();
- TPoint pos(0,0);
- for(TInt xcount=0;xcount<5;xcount++,pos.iX+=rectSize.iWidth)
- {
- pos.iY=0;
- for(TInt ycount=0;ycount<2;ycount++,pos.iY+=rectSize.iHeight)
- iGc->DrawRect(TRect(pos,rectSize));
- }
- }
- delete bitmap;
- }
-
-TInt FillPatternTestFunc(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EFillPatternTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader FillPatternTest={_S("FillPattern"),FillPatternTestFunc};
-
-// Backup Window Drawing //
-
-void TGraphicsTest::BackedUpWindowDrawingL(TInt aMode, TAny *)
- {
- TSize scrSize(iDevice->SizeInPixels());
- CFbsFont *font=NULL;
- if (aMode==1)
- {
- TFontSpec fspec(KTestFontTypefaceName,200);
- User::LeaveIfError(iDevice->GetNearestFontToDesignHeightInTwips((CFont *&)font, fspec));
- iGc->UseFont(font);
- }
- iGc->SetPenStyle(CGraphicsContext::ESolidPen);
- TPoint pos;
- for(TInt count=0;count<10;count++)
- {
- iGc->Clear();
- for(pos.iY=0;pos.iY<scrSize.iHeight;pos.iY++)
- iGc->DrawLine(pos,pos+TSize(scrSize.iWidth,0));
- }
- if (aMode==1)
- iDevice->ReleaseFont(font);
- }
-
-TInt BackupWindowDrawingFunc1(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EBackupWindowDrawingTest, 0, NULL));
- }
-
-GLDEF_D TTimeTestHeader BackupWindowDrawingCreate1={_S("BackupWindowDrawing 1"),BackupWindowDrawingFunc1};
-
-TInt BackupWindowDrawingFunc2(TInt aOwningGroup)
- {
- return(CreateGraphicsTest(aOwningGroup, EBackupWindowDrawingTest, 1, NULL));
- }
-
-GLDEF_D TTimeTestHeader BackupWindowDrawingCreate2={_S("BackupWindowDrawing 2"),BackupWindowDrawingFunc2};