Revision: 201023 RCL_3
authorDremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:53:59 +0300
branchRCL_3
changeset 21 0227b64654ad
parent 10 582f97e694c5
child 28 7fcac431985a
Revision: 201023 Kit: 2010123
emulator/emulatorbsp/hal/config.hcf
emulator/emulatorbsp/inc/gui.h
emulator/emulatorbsp/specific/gui.cpp
--- a/emulator/emulatorbsp/hal/config.hcf	Wed Apr 14 17:07:53 2010 +0300
+++ b/emulator/emulatorbsp/hal/config.hcf	Wed Jun 09 10:53:59 2010 +0300
@@ -86,3 +86,4 @@
 EPointer3DExitCloseProximityThreshold : set = 0
 EDisplayMemoryHandle=GetDisplayMemoryHandle
 ENumCpus=GetNumCpus
+EDigitiserOrientation : set = DigitiserOrientation
--- a/emulator/emulatorbsp/inc/gui.h	Wed Apr 14 17:07:53 2010 +0300
+++ b/emulator/emulatorbsp/inc/gui.h	Wed Jun 09 10:53:59 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1998-2010 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"
@@ -266,6 +266,7 @@
 	TInt iMaxScreenHeight;
     TInt iXYInputWidth;
     TInt iXYInputHeight;
+    TInt iXYOrientation;
 	TInt iPhysicalScreenWidth;
 	TInt iPhysicalScreenHeight;
 	TInt iMaxPhysicalScreenWidth;
--- a/emulator/emulatorbsp/specific/gui.cpp	Wed Apr 14 17:07:53 2010 +0300
+++ b/emulator/emulatorbsp/specific/gui.cpp	Wed Jun 09 10:53:59 2010 +0300
@@ -1,4 +1,4 @@
-// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 1995-2010 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"
@@ -4108,7 +4108,7 @@
 	return static_cast<DMasterIni*>(aThis)->XYHalFunction(aFunction,a1,a2);
 	}
 
-TInt DMasterIni::XYHalFunction(TInt aFunction, TAny* a1, TAny* /*a2*/)
+TInt DMasterIni::XYHalFunction(TInt aFunction, TAny* a1, TAny* a2)
 	{
 	TInt r=KErrNone;
 	switch(aFunction)
@@ -4129,6 +4129,28 @@
 				r=KErrNotSupported;
 			}
 			break;
+			
+		// a2 = TBool aSet (ETrue for setting, EFalse for retrieval) 
+		// a1 = TDigitizerOrientation (set)
+		// a1 = &TDigitizerOrientation (get)
+		// Assume screen [0] here as this HAL function is only registered for
+		// screen 0 on the emulator platform. Function only called if display==0
+		case EDigitiserOrientation:	
+			if ((TBool)a2)
+				{
+				// Set the orientation attribute
+				// In case user thread, check it has WDD capability
+				if(!Kern::CurrentThreadHasCapability(ECapabilityWriteDeviceData,__PLATSEC_DIAGNOSTIC_STRING("Checked by Hal function EDigitiserOrientation")))
+					return KErrPermissionDenied;
+				systemIni->iScreens[0]->iXYOrientation = (TInt)a1;
+				}
+			else
+				{
+				// Get the orientation attribute, safe copy it into user memory
+				kumemput32(a1, &(systemIni->iScreens[0]->iXYOrientation), sizeof(TInt));	
+				}
+			break; 
+			
 		default:
 			r=KErrNotSupported;
 			break;