textinput/peninputhwrfscn/src/peninputhwrfscnlafmanager.cpp
branchRCL_3
changeset 44 ecbabf52600f
parent 0 eb1f2e154e89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/textinput/peninputhwrfscn/src/peninputhwrfscnlafmanager.cpp	Wed Sep 01 12:23:33 2010 +0100
@@ -0,0 +1,258 @@
+/*
+* Copyright (c) 2002-2005 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:  trigger string implementation
+*
+*/
+
+
+// INCLUDES
+#include <aknlayoutscalable_avkon.cdl.h>
+#include <AknUtils.h>
+#include <AknsUtils.h>
+
+// USER INCLUDE
+#include "peninputhwrfscnlafmanager.h"
+
+// CONSTANTS
+const TUint32 KDefaultTextColor = 0x000000;
+const TUint32 KDefaultShadowTextColor = 0x000000;
+const TInt KCandidateNum = 10; 
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::ControlBarLeftTopPosition()
+// .
+// -----------------------------------------------------------------------------
+//
+TPoint PeninputHwrfscnLAFManager::ControlBarLeftTopPosition()
+    {
+    TRect rect;
+    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect);
+	TBool isLandscape = rect.Width() < rect.Height() ? EFalse : ETrue;
+	
+    TAknWindowLineLayout screenLayoutLine = 
+		AknLayoutScalable_Avkon::Screen().LayoutLine();
+		
+		
+	TAknWindowLineLayout areaTopLayoutLine = 
+		AknLayoutScalable_Avkon::area_top_pane( 0 ).LayoutLine();
+		
+	TAknLayoutRect areaTopRect;
+	areaTopRect.LayoutRect( screenLayoutLine.Rect(), areaTopLayoutLine );	
+	
+		
+	TAknWindowLineLayout statusPaneLayoutLine = 
+		isLandscape ?
+		AknLayoutScalable_Avkon::status_pane( 0 ).LayoutLine() :
+		AknLayoutScalable_Avkon::status_pane_g1( 0 ).LayoutLine();
+		
+	TAknLayoutRect statusPaneRect;
+	statusPaneRect.LayoutRect( areaTopRect.Rect(), statusPaneLayoutLine );	
+	
+	
+	TAknWindowLineLayout titlePaneLayoutLine = 
+		AknLayoutScalable_Avkon::title_pane( 0 ).LayoutLine();
+		
+	TAknLayoutRect titlePaneRect;
+	titlePaneRect.LayoutRect( statusPaneRect.Rect(), titlePaneLayoutLine );
+	
+	
+    return titlePaneRect.Rect().iTl;
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::ControlBarUnitRect()
+// .
+// -----------------------------------------------------------------------------
+//
+TRect PeninputHwrfscnLAFManager::ControlBarUnitRect()
+    {
+	TRect mainPaneRect;
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
+	
+	TAknWindowComponentLayout controlBarWindowLayoutLine = 
+		AknLayoutScalable_Avkon::
+		popup_fep_china_hwr2_fs_control_window( 0 ).LayoutLine();
+	TAknLayoutRect controlBarWindowRect;
+	controlBarWindowRect.LayoutRect( mainPaneRect, controlBarWindowLayoutLine );
+
+    TAknWindowComponentLayout controlBarGridLayoutLine = 
+		AknLayoutScalable_Avkon::aid_fep_china_hwr2_fs_cell( 0 ).LayoutLine();
+	TAknLayoutRect controlBarGridRect;
+	controlBarGridRect.LayoutRect( controlBarWindowRect.Rect(), 
+	    controlBarGridLayoutLine );
+
+	return TRect( controlBarGridRect.Rect().iTl, 
+				  TSize( CandidateUnitRect().Width(), 
+				  		 CandidateUnitRect().Height() ) );
+    }
+	
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::CandidateUnitRect()
+// .
+// -----------------------------------------------------------------------------
+//
+TRect PeninputHwrfscnLAFManager::CandidateUnitRect()
+    {
+    TRect rect;
+    AknLayoutUtils::LayoutMetricsRect(AknLayoutUtils::EScreen, rect);
+    TInt width = rect.Width() < rect.Height() ? rect.Width() : rect.Height();    
+    TRect candidateRect(TPoint(0,0), TSize(width/KCandidateNum,width/KCandidateNum));
+    return candidateRect;
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::ScrollBarRect()
+// .
+// -----------------------------------------------------------------------------
+//
+TRect PeninputHwrfscnLAFManager::ScrollBarRect()
+    {
+	TRect mainPaneRect;
+	AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect );
+	
+	TAknWindowComponentLayout listScrollPane = 
+	    AknLayoutScalable_Avkon::listscroll_gen_pane( 0 ).LayoutLine();
+	TAknLayoutRect listScrollRect;
+	listScrollRect.LayoutRect( mainPaneRect, listScrollPane );
+	
+    TAknWindowComponentLayout scrollPane = 
+        AknLayoutScalable_Avkon::scroll_pane().LayoutLine();
+	TAknLayoutRect scrollRect;
+	scrollRect.LayoutRect( listScrollRect.Rect(), scrollPane );
+	
+	return scrollRect.Rect();
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::CandidateFont()
+// .
+// -----------------------------------------------------------------------------
+//    
+const CFont* PeninputHwrfscnLAFManager::CandidateFont()
+    {
+    TAknTextLineLayout candTextLayout = 
+            AknLayoutScalable_Avkon::cell_hwr_candidate_pane_t1().LayoutLine();
+	
+	return AknLayoutUtils::FontFromId( candTextLayout.iFont, NULL );
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::CandidateBtnDownBgColor()
+// .
+// -----------------------------------------------------------------------------
+//    
+void PeninputHwrfscnLAFManager::CandidateBtnDownBgColor( TRgb& aBtnDownColor )
+    {
+    TAknTextLineLayout candTextLayout = 
+            AknLayoutScalable_Avkon::cell_hwr_candidate_pane_t1().LayoutLine();    
+    
+    aBtnDownColor = AKN_LAF_COLOR_STATIC( candTextLayout.iC );
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::GetLangTextColor()
+// .
+// -----------------------------------------------------------------------------
+// 
+void PeninputHwrfscnLAFManager::GetLangTextColor( TRgb& aTextColor )
+    {
+    TInt error = AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
+        aTextColor,
+        KAknsIIDQsnTextColors,
+        EAknsCIQsnTextColorsCG59 );
+    
+    if ( error != KErrNone )
+        {
+    	aTextColor = TRgb(  KDefaultTextColor  );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::GetLangShadowTextColor()
+// .
+// -----------------------------------------------------------------------------
+// 
+void PeninputHwrfscnLAFManager::GetLangShadowTextColor( TRgb& aTextColor )
+    {
+    TInt error = AknsUtils::GetCachedColor( AknsUtils::SkinInstance(),
+         aTextColor,
+         KAknsIIDQsnTextColors,
+         EAknsCIQsnTextColorsCG62 );
+    
+    if ( error != KErrNone )
+        {
+    	aTextColor = TRgb(  KDefaultShadowTextColor  );
+        }
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::LangSwitchButtonFont()
+// .
+// -----------------------------------------------------------------------------
+// 
+const CFont* PeninputHwrfscnLAFManager::LangSwitchButtonFont()
+    {
+    TAknTextLineLayout langSwitch = 
+        AknLayoutScalable_Avkon::cell_vkb_side_pane_t1().LayoutLine();
+    
+    return AknLayoutUtils::FontFromId( langSwitch.iFont, NULL );
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::LangSwitchButtonShadowFont()
+// .
+// -----------------------------------------------------------------------------
+// 
+const CFont* PeninputHwrfscnLAFManager::LangSwitchButtonShadowFont()
+    {
+    TAknTextLineLayout langSwitchShadow = 
+        AknLayoutScalable_Avkon::cell_vkb_side_pane_t1_copy1().LayoutLine();
+    
+    return AknLayoutUtils::FontFromId( langSwitchShadow.iFont, NULL );
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::SymbolTableFont()
+// .
+// -----------------------------------------------------------------------------
+//
+const CFont* PeninputHwrfscnLAFManager::SymbolTableFont()            
+    {
+    TAknTextLineLayout keypadText =
+		AknLayoutScalable_Avkon::cell_hwr_candidate_pane_t1().LayoutLine();
+	
+	return AknLayoutUtils::FontFromId(  keypadText.iFont, NULL  );
+    }
+
+// -----------------------------------------------------------------------------
+// PeninputHwrfscnLAFManager::GetSymbolTableCharSizeOffset()
+// .
+// -----------------------------------------------------------------------------
+//
+TSize PeninputHwrfscnLAFManager::GetSymbolTableCharSizeOffset()
+	{
+	TAknTextLineLayout keypadText =
+         AknLayoutScalable_Avkon::cell_hwr_candidate_pane_t1().LayoutLine();
+    
+    return TSize( keypadText.il,keypadText.il );	
+	}
+
+TRect PeninputHwrfscnLAFManager::MainPaneRect()
+    {
+    TRect mainPaneRect;
+    AknLayoutUtils::LayoutMetricsRect( AknLayoutUtils::EMainPane, mainPaneRect  );
+    return mainPaneRect;
+    }
+      
+// End Of File