windowing/windowserver/test/tauto/TSCRMODE.H
author hgs
Tue, 22 Jun 2010 15:21:29 +0300
changeset 103 2717213c588a
permissions -rw-r--r--
201024
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
103
hgs
parents:
diff changeset
     1
hgs
parents:
diff changeset
     2
// Copyright (c) 1996-2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
// All rights reserved.
hgs
parents:
diff changeset
     4
// This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
// under the terms of "Eclipse Public License v1.0"
hgs
parents:
diff changeset
     6
// which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
hgs
parents:
diff changeset
     8
//
hgs
parents:
diff changeset
     9
// Initial Contributors:
hgs
parents:
diff changeset
    10
// Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
//
hgs
parents:
diff changeset
    12
// Contributors:
hgs
parents:
diff changeset
    13
//
hgs
parents:
diff changeset
    14
// Description:
hgs
parents:
diff changeset
    15
//
hgs
parents:
diff changeset
    16
hgs
parents:
diff changeset
    17
/**
hgs
parents:
diff changeset
    18
 @file
hgs
parents:
diff changeset
    19
 @test
hgs
parents:
diff changeset
    20
 @internalComponent - Internal Symbian test code
hgs
parents:
diff changeset
    21
*/
hgs
parents:
diff changeset
    22
hgs
parents:
diff changeset
    23
#ifndef __TSCRMODE_H__
hgs
parents:
diff changeset
    24
#define __TSCRMODE_H__
hgs
parents:
diff changeset
    25
hgs
parents:
diff changeset
    26
#include <e32std.h>
hgs
parents:
diff changeset
    27
#include <w32std.h>
hgs
parents:
diff changeset
    28
#include "../tlib/testbase.h"
hgs
parents:
diff changeset
    29
#include "AUTO.H"
hgs
parents:
diff changeset
    30
#include "TGraphicsHarness.h"
hgs
parents:
diff changeset
    31
hgs
parents:
diff changeset
    32
class CSecondConnection;
hgs
parents:
diff changeset
    33
hgs
parents:
diff changeset
    34
class CSecondConnectionGroup : public CTWindowGroup
hgs
parents:
diff changeset
    35
	{
hgs
parents:
diff changeset
    36
public:
hgs
parents:
diff changeset
    37
	CSecondConnectionGroup(CTClient *aClient, CSecondConnection *aSecondConnection, CTestBase *aTest, CTestStep* aTestStep);
hgs
parents:
diff changeset
    38
	void ScreenDeviceChanged();
hgs
parents:
diff changeset
    39
private:
hgs
parents:
diff changeset
    40
	CTestBase *iTest;
hgs
parents:
diff changeset
    41
	CSecondConnection *iSecondConnection;
hgs
parents:
diff changeset
    42
	CTestStep* iTestStep;
hgs
parents:
diff changeset
    43
	};
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
class CSecondConnection : public CBase
hgs
parents:
diff changeset
    46
	{
hgs
parents:
diff changeset
    47
public:
hgs
parents:
diff changeset
    48
	~CSecondConnection();
hgs
parents:
diff changeset
    49
	void ConstructL(TInt aScreenNumber,const TRect &aWinRect, CTestBase *aTest, CTestStep* aTestStep);
hgs
parents:
diff changeset
    50
	void EnableMessages();
hgs
parents:
diff changeset
    51
	void DisableMessages();
hgs
parents:
diff changeset
    52
	TInt DeviceMessageCount() const;
hgs
parents:
diff changeset
    53
	void ScreenDeviceChanged();
hgs
parents:
diff changeset
    54
	void SetWindow2Visibility(TBool aVisible);
hgs
parents:
diff changeset
    55
public:
hgs
parents:
diff changeset
    56
	CSecondConnectionGroup *iGroup;
hgs
parents:
diff changeset
    57
private:
hgs
parents:
diff changeset
    58
	CTClient *iClient;
hgs
parents:
diff changeset
    59
	CTBlankWindow *iWindow;
hgs
parents:
diff changeset
    60
	CTBlankWindow *iWindow2;
hgs
parents:
diff changeset
    61
	TInt iMessageCount;
hgs
parents:
diff changeset
    62
	};
hgs
parents:
diff changeset
    63
	
hgs
parents:
diff changeset
    64
class SecondClientConnection : public CTClient
hgs
parents:
diff changeset
    65
	{
hgs
parents:
diff changeset
    66
public:
hgs
parents:
diff changeset
    67
	SecondClientConnection();
hgs
parents:
diff changeset
    68
	~SecondClientConnection();
hgs
parents:
diff changeset
    69
	void ConstructL(TInt aScreenMode, const TPixelsTwipsAndRotation &aSizeAndRotation);
hgs
parents:
diff changeset
    70
	};
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
class CTScrMode : public CTWsGraphicsBase
hgs
parents:
diff changeset
    73
	{
hgs
parents:
diff changeset
    74
public:
hgs
parents:
diff changeset
    75
	CTScrMode(CTestStep* aStep);
hgs
parents:
diff changeset
    76
	~CTScrMode();
hgs
parents:
diff changeset
    77
protected:
hgs
parents:
diff changeset
    78
//from 	CTGraphicsStep
hgs
parents:
diff changeset
    79
	virtual void RunTestCaseL(TInt aCurTestCase);
hgs
parents:
diff changeset
    80
private:
hgs
parents:
diff changeset
    81
	void ConstructL();
hgs
parents:
diff changeset
    82
	void doMoveWindowTest();
hgs
parents:
diff changeset
    83
	TBool MoveWindow();
hgs
parents:
diff changeset
    84
	void TestPanicsL();
hgs
parents:
diff changeset
    85
	void ScaledDrawingL();
hgs
parents:
diff changeset
    86
	void SetScreenModeEnforcement(TScreenModeEnforcement aMode);
hgs
parents:
diff changeset
    87
	void CheckWindows(TBool aWinIsVis);
hgs
parents:
diff changeset
    88
	void ValidateWin(TestWindow *aWin, TRgb aColor);
hgs
parents:
diff changeset
    89
	void RedrawWin(RWindow &aWin, TRgb aColor);
hgs
parents:
diff changeset
    90
	void ScreenRotationsL();
hgs
parents:
diff changeset
    91
	void MoreScreenRotationsL();
hgs
parents:
diff changeset
    92
	TBool RectClearBugL();
hgs
parents:
diff changeset
    93
	void ScreenModeChange1L();
hgs
parents:
diff changeset
    94
	void ScreenModeChange2L();
hgs
parents:
diff changeset
    95
	TInt FindCurrentMode();
hgs
parents:
diff changeset
    96
	TBool Equal(const TPixelsTwipsAndRotation& aLeft,const TPixelsTwipsAndRotation& aRight);
hgs
parents:
diff changeset
    97
	void InvisibleWndAndInfiniteRedrawBugL();
hgs
parents:
diff changeset
    98
	void GetScreenDisplayMode();
hgs
parents:
diff changeset
    99
	void SetScreenModeAfterScreenDeviceDeletedL();
hgs
parents:
diff changeset
   100
	void TestRotateAndScreenModeL();
hgs
parents:
diff changeset
   101
private:
hgs
parents:
diff changeset
   102
	void DrawTestBmpL(CFbsBitmap* aTestBitmap);
hgs
parents:
diff changeset
   103
	void TestDrawingToWindows(CWindowGc* aWinGc1, CWindowGc* aWinGc2, RWindow& aWindow1,RWindow& aWindow2,CFbsBitmap* aBitmap64K,CFbsBitmap* aBitmap16M,CFbsFont* aFont,TBool aAllInRedraw, TBool aUseSystemGc, TBool aUseBmp16M);
hgs
parents:
diff changeset
   104
private:
hgs
parents:
diff changeset
   105
	TInt iSubState;
hgs
parents:
diff changeset
   106
	CSecondConnection *iSecondConnection;
hgs
parents:
diff changeset
   107
	TSize iWinSize;
hgs
parents:
diff changeset
   108
	TPoint iWinPos;
hgs
parents:
diff changeset
   109
	TInt iWinState;
hgs
parents:
diff changeset
   110
	TScreenModeEnforcement iOldEnfMode;
hgs
parents:
diff changeset
   111
	TScreenModeEnforcement iCurEnforcement;
hgs
parents:
diff changeset
   112
	};
hgs
parents:
diff changeset
   113
hgs
parents:
diff changeset
   114
hgs
parents:
diff changeset
   115
	
hgs
parents:
diff changeset
   116
class CTScrModeStep : public CTGraphicsStep
hgs
parents:
diff changeset
   117
	{
hgs
parents:
diff changeset
   118
public:
hgs
parents:
diff changeset
   119
	CTScrModeStep();
hgs
parents:
diff changeset
   120
protected:	
hgs
parents:
diff changeset
   121
	//from CTGraphicsStep
hgs
parents:
diff changeset
   122
	virtual CTGraphicsBase* CreateTestL();
hgs
parents:
diff changeset
   123
	};
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
_LIT(KTScrModeStep,"TScrMode");
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
hgs
parents:
diff changeset
   128
#endif