camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp
branchRCL_3
changeset 10 8c55c525d5d7
parent 0 1ddebce53859
child 13 38fb6f7eacd5
--- a/camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp	Fri Mar 12 15:41:04 2010 +0200
+++ b/camerauis/cameraapp/generic/src/CamShootingModeContainer.cpp	Mon Mar 15 12:39:00 2010 +0200
@@ -43,6 +43,8 @@
 const TInt KInfoTooltipDelay = 0; // time (milliseconds) delay when showing the tooltip
 const TInt KInfoTooltipDisplayTime = 5000; // maximum time (milliseconds) the tooltip is displayed
 const TInt KExplTxtGranularity = 6;
+const TUint32 KToolbarExtensionBgColor = 0x00000000;
+const TInt KToolBarExtensionBgAlpha = 0x7F;
 
 // ================= MEMBER FUNCTIONS =======================
 
@@ -69,6 +71,27 @@
   return self;
   }
 
+
+CCamShootingModeContainer* 
+CCamShootingModeContainer::NewL( const TRect& aRect, 
+                                        TBool aFullySkinned,
+                                         CAknView& aView,
+                                         TCamCameraMode aMode,
+                                         CCamAppController& aController,
+                                         TBool aUserBaseScenes )
+    {
+    CCamShootingModeContainer* self = 
+        new( ELeave ) CCamShootingModeContainer( aMode, 
+                                                 aController,
+                                                 aView, 
+                                                 aUserBaseScenes,
+                                                 aFullySkinned );
+    CleanupStack::PushL( self );
+    self->ConstructL( aRect );
+    CleanupStack::Pop( self );
+    return self;    
+    }
+
 // ---------------------------------------------------------------------------
 // CCamShootingModeContainer::~CCamShootingModeContainer
 // Destructor
@@ -155,7 +178,7 @@
         }                      
 
     // construct the listbox
-	iListBox =	new( ELeave ) CCamSceneListBox( iMode, this, iController );                           
+	iListBox =	new( ELeave ) CCamSceneListBox( iMode, this, iController, iFullySkinned );                           
 	iListBox->ConstructL( iController, this, iTitleArray, iDescArray, 
 	                      iUserBaseScenes  );	
 	iListBox->InitializeL( iController.IntegerSettingValue( scene ) );
@@ -315,11 +338,13 @@
         TCamCameraMode aMode,
         CCamAppController& aController,
         CAknView& aView,
-        TBool aUserBaseScenes )
+        TBool aUserBaseScenes,
+        TBool aFullySkinned )
 : CCamContainerBase( aController, aView ),
     iListBox( NULL ),
     iMode( aMode ), 
     iUserBaseScenes( aUserBaseScenes ),
+    iFullySkinned( aFullySkinned ),
     iTooltipController( NULL ),
     iListboxTitle( NULL ),
     iTooltipIndex( -1 ),
@@ -498,11 +523,35 @@
     CWindowGc& gc = SystemGc();
     if ( CamUtility::IsNhdDevice() )
         {
+        TRgb color;
+        if( iFullySkinned )
+            {
         MAknsSkinInstance* skin = AknsUtils::SkinInstance();
         AknsDrawUtils::Background( skin, iBgContext, gc, aRect );
-        TRgb color;
         AknsUtils::GetCachedColor( skin, color, KAknsIIDQsnTextColors,
                                                 EAknsCIQsnTextColorsCG6 );  
+            }
+        else
+            {            
+            // Fill control with transparency bg colour
+            gc.SetPenStyle( CGraphicsContext::ENullPen );
+            gc.SetDrawMode( CGraphicsContext::EDrawModeWriteAlpha );
+            color = TRgb( 0,0 );
+            gc.SetBrushColor( color );
+            gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
+            gc.DrawRect( aRect );
+            gc.SetBrushColor( color );
+            gc.DrawRect( iTitleTextRectLayout.TextRect() );            
+            gc.SetBrushColor( TRgb( KToolbarExtensionBgColor, KToolBarExtensionBgAlpha ) );
+            gc.SetBrushStyle( CGraphicsContext::ESolidBrush );
+            gc.DrawRect( TRect( iLayoutAreaRect.iTl.iX,
+                                iLayoutAreaRect.iTl.iY,
+                                iLayoutAreaRect.iBr.iX,
+                                iTitleTextRectLayout.TextRect().iBr.iY ) );
+            
+            gc.SetBrushStyle( CGraphicsContext::ENullBrush );
+            color = TRgb( KRgbWhite );
+            }
         iTitleTextRectLayout.DrawText( gc, *iListboxTitle, ETrue, color ); 
         }
     else