Namespaces
Variants
Actions

Change display mode and trigger orientation change using Symbian C++

Jump to: navigation, search
Article Metadata

Article
Created: User:Nokia Developer KB (23 Aug 2011)
Last edited: hamishwillee (01 Aug 2012)
Article Metadata

Tested with
Devices(s): Tested on: Nokia N95, Nokia N78,
Nokia N96, Nokia 5800 XpressMusic,
Nokia N8-00

Compatibility
Platform(s): S60 3rd Edition, FP1
S60 3rd Edition, FP2
S60 5th Edition
Symbian^3

Article
Keywords: KPSUidUikon, KUikLayoutState
Created: (23 Aug 2011)
Last edited: hamishwillee (01 Aug 2012)
Note.png
Note: The required header, uikoninternalpskeys.h, is not available in the Symbian^3 SDK.

Description

This solution enables you to change the display mode and trigger the orientation change to all open apps.

Solution

Here is the code snippet for rotating orientation.

Required capabilities in your .mmp file:

CAPABILITY WriteDeviceData ReadDeviceData SwEvent

KPSUidUikon is part of uikon_status_api.

const TUid KPSUidUikon = { 0x101F8773 };
const TUint32 KUikLayoutState = 0x00000008;
 CWsScreenDevice* dev = CEikonEnv::Static()->ScreenDevice();
// Orientation to landscape
TInt err = RProperty::Set( KPSUidUikon, KUikLayoutState, 1 );
if ( err == KErrNone )
{
dev->SetScreenMode( 1 );
}
 // Orientation to portrait
TInt err = RProperty::Set( KPSUidUikon, KUikLayoutState, 0 );
if ( err == KErrNone )
{
dev->SetScreenMode( 0 );
}

For Symbian^3, KUikPreferredOrientation will be used to get the corresponding rotation of the device.

TInt orientation;
TInt err = RProperty::Get( KPSUidUikon, KUikPreferredOrientation, orientation );
User::LeaveIfError( err );
This page was last modified on 1 August 2012, at 07:39.
117 page views in the last 30 days.
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved