kerneltest/e32test/window/t_colour.cpp
author hgs
Mon, 11 Oct 2010 17:54:41 +0100
changeset 286 48e57fb1237e
parent 271 dc268b18d709
permissions -rw-r--r--
201039_11
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
     1
// Copyright (c) 1996-2010 Nokia Corporation and/or its subsidiary(-ies).
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     2
// All rights reserved.
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     3
// This component and the accompanying materials are made available
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     4
// under the terms of the License "Eclipse Public License v1.0"
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     5
// which accompanies this distribution, and is available
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     7
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     8
// Initial Contributors:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
     9
// Nokia Corporation - initial contribution.
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    10
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    11
// Contributors:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    12
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    13
// Description:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    14
// e32test\window\t_colour.cpp
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    15
// 
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    16
//
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    17
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    18
#define __E32TEST_EXTENSION__
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    19
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    20
#include <e32test.h>
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    21
#include <e32twin.h>
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    22
#include <e32debug.h>
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    23
#include <e32svr.h>
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    24
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    25
const TInt KNumColors=256;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    26
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    27
LOCAL_D RTest test(_L("T_COLOUR"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    28
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    29
LOCAL_C void SimulateKeyPress(TStdScanCode aScanCode)
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    30
    {
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    31
    TRawEvent eventDown;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    32
    eventDown.Set(TRawEvent::EKeyDown, aScanCode);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    33
    UserSvr::AddEvent(eventDown);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    34
    TRawEvent eventUp;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    35
    eventUp.Set(TRawEvent::EKeyUp, aScanCode);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    36
    UserSvr::AddEvent(eventUp);    
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    37
    }
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    38
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    39
class ColorTest
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    40
	{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    41
public:
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    42
	void ModesAndText(TVideoMode aMode);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    43
	void Colors();
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    44
	RConsole con;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    45
	};
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    46
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    47
void ColorTest::ModesAndText(TVideoMode aMode)
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    48
	{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    49
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    50
	TInt r=con.SetMode(aMode);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    51
	con.SetCursorPosAbs(TPoint(1,4));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    52
	if(r!=KErrNone)
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    53
        {
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    54
		con.Write(_L("Not supported."));
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    55
		test.Printf(_L("Not supported.\r\n"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    56
    	TConsoleKey key;
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    57
    	SimulateKeyPress(EStdKeyEnter);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    58
    	con.Read(key);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    59
        }
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    60
	else
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    61
		{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    62
		con.Write(_L("Normal text..."));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    63
		con.SetCursorPosAbs(TPoint(1,6));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    64
		con.SetTextAttribute(ETextAttributeBold);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    65
		con.Write(_L("Bold text..."));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    66
		con.SetCursorPosAbs(TPoint(1,8));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    67
		con.SetTextAttribute(ETextAttributeInverse);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    68
		con.Write(_L("Inverted text..."));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    69
		con.SetCursorPosAbs(TPoint(1,10));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    70
		con.SetTextAttribute(ETextAttributeHighlight);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    71
		con.Write(_L("Highlighted text..."));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    72
		Colors();
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    73
		}
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    74
	con.ClearScreen();
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    75
	con.SetTextAttribute(ETextAttributeNormal);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    76
	con.SetCursorPosAbs(TPoint(3,2));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    77
	}
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    78
	
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    79
void ColorTest::Colors()
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    80
	{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    81
	RConsole col;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    82
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    83
	col.Create();
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    84
	col.Control(_L("-Vis"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    85
	col.Init(_L("Colours"),TSize(18,18));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    86
	col.Control(_L("+Max"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    87
	col.SetWindowPosAbs(TPoint(1,0));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    88
	col.Control(_L("+Vis -Cursor"));
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    89
	for(TInt t=0;t<KNumColors;t++)
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    90
		{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    91
		if(!(t%16))
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    92
			{
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    93
			col.SetCursorPosAbs(TPoint(1,1+t/16));
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    94
			}
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    95
		col.SetTextColors(0,t);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    96
		col.Write(_L(" "));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
    97
		}
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    98
	
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
    99
	for(TInt i=0;i<KNumColors;i++)
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   100
	    {
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   101
        TUint8 red, green, blue;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   102
        col.GetPaletteEntry(i, red, green, blue);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   103
        }
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   104
	
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   105
	col.SetPaletteEntry(1,20,250,250);	
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   106
	
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   107
	TInt j = 0;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   108
	// Window background color
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   109
	for(j=0;j<KNumColors;j++)
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   110
	    {
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   111
	    col.SetUIColors(j,0,0);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   112
	    }
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   113
	// Border color
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   114
	for(j=0;j<KNumColors;j++)
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   115
	    {
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   116
	    col.SetUIColors(0,j,0);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   117
	    }
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   118
	// Screen color
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   119
	for(j=0;j<KNumColors;j++)
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   120
	    {
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   121
	    col.SetUIColors(0,0,j);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   122
	    }
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   123
	
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   124
	TConsoleKey key;
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   125
	SimulateKeyPress(EStdKeyEnter);
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   126
	col.Read(key);
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   127
	col.ClearScreen();
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   128
	col.Destroy();
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   129
	}
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   130
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   131
GLDEF_C TInt E32Main()
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   132
    {
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   133
    test.Title();
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   134
    __UHEAP_MARK;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   135
    
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   136
    test.Start(_L("Testing RConsole"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   137
	ColorTest t;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   138
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   139
	TInt r = t.con.Init(_L("Colour Test"),TSize(28,12));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   140
	if (r != KErrNone)
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   141
		{
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   142
		RDebug::Printf("Could not create text console: %d", r);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   143
		return r;
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   144
		}
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   145
	
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   146
	TInt ret = t.con.SetSize(TSize(10,10));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   147
	test_Equal(KErrNotSupported, ret);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   148
	 
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   149
	t.con.Control(_L("+Max"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   150
	t.con.SetCursorPosAbs(TPoint(3,2));
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   151
	test.Next(_L("Testing mode EMono:"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   152
	t.con.Write(_L("Testing mode EMono:"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   153
	t.ModesAndText(EMono);
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   154
	test.Next(_L("Testing mode EGray4:"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   155
	t.con.Write(_L("Testing mode EGray4:"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   156
	t.ModesAndText(EGray4);
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   157
	test.Next(_L("Testing mode EGray16:"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   158
	t.con.Write(_L("Testing mode EGray16:"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   159
	t.ModesAndText(EGray16);
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   160
	test.Next(_L("Testing mode EColor256:"));
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   161
	t.con.Write(_L("Testing mode EColor256:"));
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   162
	t.ModesAndText(EColor256);
271
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   163
	test.Next(_L("Testing mode EColor4K:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   164
	t.con.Write(_L("Testing mode EColor4K:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   165
	t.ModesAndText(EColor4K);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   166
	test.Next(_L("Testing mode EColor64K:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   167
	t.con.Write(_L("Testing mode EColor64K:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   168
	t.ModesAndText(EColor64K);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   169
	test.Next(_L("Testing mode EColor16M:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   170
	t.con.Write(_L("Testing mode EColor16M:"));
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   171
	t.ModesAndText(EColor16M);
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   172
		
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   173
	__UHEAP_MARKEND;
dc268b18d709 201037_07
hgs
parents: 0
diff changeset
   174
	test.End();
0
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   175
	return(0);
a41df078684a Convert Kernelhwsrv package from SFL to EPL
John Imhofe
parents:
diff changeset
   176
    }